/* ldgallery - A static generator which turns a collection of tagged -- pictures into a searchable web gallery. -- -- Copyright (C) 2019-2020 Guillaume FOUET -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU Affero General Public License as -- published by the Free Software Foundation, either version 3 of the -- License, or (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU Affero General Public License for more details. -- -- You should have received a copy of the GNU Affero General Public License -- along with this program. If not, see . */ import Vue from "vue"; const requireComponent = require.context( "@/components", true, // Whether or not to look in subfolders // The regular expression used to match base component filenames /Ld[A-Z]\w+\.vue$/ ); requireComponent.keys().forEach(fileName => { const componentConfig = requireComponent(fileName); const componentName = fileName .split("/") .pop()! .replace(/\.vue$/, ""); // Register component globally Vue.component( componentName, // Look for the component options on `.default`, which will // exist if the component was exported with `export default`, // otherwise fall back to module's root. componentConfig.default ?? componentConfig ); });