testing submodule concept

This commit is contained in:
Mads Rasmussen
2023-05-22 15:13:20 +02:00
parent cd0516e657
commit ab5ecea0d8
13 changed files with 91 additions and 3 deletions

View File

@@ -0,0 +1,62 @@
export const modules = [
{
src: 'action',
},
{
src: 'collection',
},
{
src: 'components',
},
{
src: 'content-type',
},
{
src: 'debug',
},
{
src: 'entity-action',
},
{
src: 'entity-bulk-action',
},
{
src: 'extension-registry',
},
{
src: 'id',
},
{
src: 'menu',
},
{
src: 'modal',
},
{
src: 'notification',
},
{
src: 'picker-input',
},
{
src: 'section',
},
{
src: 'sorter',
},
{
src: 'store',
},
{
src: 'tree',
},
{
src: 'variant',
},
{
src: 'workspace',
},
{
src: 'property-editors',
},
];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -0,0 +1 @@
export const modules = [];

View File

@@ -4,7 +4,7 @@ import commonjs from '@rollup/plugin-commonjs';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import { readdirSync, lstatSync } from 'fs';
const readFolders = (path) => readdirSync(path).filter((module) => lstatSync(`${path}/${module}`).isDirectory());
const readFolders = (path) => readdirSync(path).filter((folder) => lstatSync(`${path}/${folder}`).isDirectory());
const createModuleDescriptors = (folderName) =>
readFolders(`./src/${folderName}`).map((moduleName) => {
return {
@@ -17,11 +17,26 @@ const createModuleDescriptors = (folderName) =>
const exclude = ['css'];
const libs = createModuleDescriptors('libs');
const shared = createModuleDescriptors('shared');
const apps = createModuleDescriptors('apps');
const shared = createModuleDescriptors('shared');
const packages = createModuleDescriptors('packages');
const modules = [...libs, ...shared, ...apps, ...packages];
// Packages are special, they can include multiple modules. We need to handle them differently.
// Modules are exposed as the umbraco-package.ts file in the root of the package. We can look through the exported module const to find the module names and src paths.
const packageSubModules = readFolders('./src/packages').map(async (packageName) => {
const { modules } = await import(`./packages/${packageName}/modules.js`);
return modules.map((module) => {
return {
name: packageName,
root: `./src/packages/${packageName}/${module.src}`,
dist: `./dist-cms/packages/${packageName}/${module.src}`,
};
});
});
const something = await Promise.all(packageSubModules);
const modules = [...libs, ...apps, ...shared, ...packages, ...something].flat();
const allowedModules = modules.filter((module) => !exclude.includes(module.name));
export default allowedModules