@common-stack/generate-plugin 5.0.6-alpha.4 → 5.0.6-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +280 -10
- package/cde-config.json +86 -0
- package/lib/constants/index.cjs +2 -1
- package/lib/constants/index.cjs.map +1 -1
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/index.mjs +2 -1
- package/lib/constants/index.mjs.map +1 -1
- package/lib/generators/add-backend/files/Dockerfile +1 -1
- package/lib/generators/add-backend/files/package.json +1 -60
- package/lib/generators/add-backend/generator.cjs +21 -17
- package/lib/generators/add-backend/generator.cjs.map +1 -1
- package/lib/generators/add-backend/generator.d.ts +1 -0
- package/lib/generators/add-backend/generator.mjs +21 -17
- package/lib/generators/add-backend/generator.mjs.map +1 -1
- package/lib/generators/add-browser-package/generator.cjs +14 -16
- package/lib/generators/add-browser-package/generator.cjs.map +1 -1
- package/lib/generators/add-browser-package/generator.d.ts +1 -0
- package/lib/generators/add-browser-package/generator.mjs +14 -16
- package/lib/generators/add-browser-package/generator.mjs.map +1 -1
- package/lib/generators/add-client-package/generator.cjs +14 -16
- package/lib/generators/add-client-package/generator.cjs.map +1 -1
- package/lib/generators/add-client-package/generator.d.ts +1 -0
- package/lib/generators/add-client-package/generator.mjs +14 -16
- package/lib/generators/add-client-package/generator.mjs.map +1 -1
- package/lib/generators/add-core-package/generator.cjs +14 -16
- package/lib/generators/add-core-package/generator.cjs.map +1 -1
- package/lib/generators/add-core-package/generator.d.ts +1 -0
- package/lib/generators/add-core-package/generator.mjs +14 -16
- package/lib/generators/add-core-package/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
- package/lib/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
- package/lib/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
- package/lib/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
- package/lib/generators/add-frontend/generator.cjs +60 -42
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.d.ts +1 -0
- package/lib/generators/add-frontend/generator.mjs +60 -42
- package/lib/generators/add-frontend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/schema.json +1 -1
- package/lib/generators/add-frontend/templates/package.json +17 -76
- package/lib/generators/add-frontend/templates/postcss.config.js +6 -0
- package/lib/generators/add-frontend/templates/tailwind.config.ts.template +12 -0
- package/lib/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
- package/lib/generators/add-fullstack/files/jest.config copy.js +27 -0
- package/lib/generators/add-fullstack/files/jest.config.base.js +43 -4
- package/lib/generators/add-fullstack/files/jest.config.base.mjs +99 -0
- package/lib/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
- package/lib/generators/add-fullstack/files/lint-staged.config.js +4 -1
- package/lib/generators/add-fullstack/files/nx.json +18 -13
- package/lib/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
- package/lib/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
- package/lib/generators/add-fullstack/files/tools/html-plugin-template.ejs +28 -0
- package/lib/generators/add-fullstack/files/tools/prettier.config.js +8 -0
- package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
- package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
- package/lib/generators/add-fullstack/files/tools/runLint.mjs +15 -0
- package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
- package/lib/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
- package/lib/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
- package/lib/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
- package/lib/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
- package/lib/generators/add-fullstack/generator.cjs +63 -2
- package/lib/generators/add-fullstack/generator.cjs.map +1 -1
- package/lib/generators/add-fullstack/generator.mjs +63 -2
- package/lib/generators/add-fullstack/generator.mjs.map +1 -1
- package/lib/generators/add-fullstack/schema.json +4 -0
- package/lib/generators/add-moleculer/generator.cjs +14 -16
- package/lib/generators/add-moleculer/generator.cjs.map +1 -1
- package/lib/generators/add-moleculer/generator.d.ts +1 -0
- package/lib/generators/add-moleculer/generator.mjs +14 -16
- package/lib/generators/add-moleculer/generator.mjs.map +1 -1
- package/lib/generators/add-server-package/generator.cjs +14 -16
- package/lib/generators/add-server-package/generator.cjs.map +1 -1
- package/lib/generators/add-server-package/generator.d.ts +1 -0
- package/lib/generators/add-server-package/generator.mjs +14 -16
- package/lib/generators/add-server-package/generator.mjs.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.mjs +1 -1
- package/package.json +3 -2
- package/src/constants/index.ts +2 -1
- package/src/generators/add-backend/generator.ts +8 -4
- package/src/generators/add-browser-package/generator.ts +7 -6
- package/src/generators/add-client-package/generator.ts +7 -6
- package/src/generators/add-core-package/generator.ts +7 -6
- package/src/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
- package/src/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
- package/src/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
- package/src/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
- package/src/generators/add-frontend/generator.ts +24 -2
- package/src/generators/add-frontend/schema.json +1 -1
- package/src/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
- package/src/generators/add-fullstack/files/jest.config copy.js +27 -0
- package/src/generators/add-fullstack/files/jest.config.base.js +43 -4
- package/src/generators/add-fullstack/files/jest.config.base.mjs +99 -0
- package/src/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
- package/src/generators/add-fullstack/files/lint-staged.config.js +4 -1
- package/src/generators/add-fullstack/files/nx.json +18 -13
- package/src/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
- package/src/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
- package/src/generators/add-fullstack/files/tools/html-plugin-template.ejs +28 -0
- package/src/generators/add-fullstack/files/tools/prettier.config.js +8 -0
- package/src/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
- package/src/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
- package/src/generators/add-fullstack/files/tools/runLint.mjs +15 -0
- package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
- package/src/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
- package/src/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
- package/src/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
- package/src/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
- package/src/generators/add-fullstack/generator.ts +83 -1
- package/src/generators/add-fullstack/schema.d.ts +1 -0
- package/src/generators/add-fullstack/schema.json +4 -0
- package/src/generators/add-moleculer/generator.ts +7 -6
- package/src/generators/add-server-package/generator.ts +7 -6
- package/lib/generators/add-backend/files/CHANGELOG.md +0 -196
- package/lib/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
- package/src/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { addProjectConfiguration, formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
+
import * as fs from 'node:fs';
|
|
4
|
+
import { deepMerge } from '@common-stack/rollup-vite-utils/lib/utils/setupConfig.cjs';
|
|
3
5
|
import { AddFrontendGeneratorSchema } from './schema';
|
|
4
6
|
import { isValid, getValid } from '../../utils';
|
|
5
|
-
import { FRAMEWORK_ANTUI, FRAMEWORK_CHAKRAUI } from '../../constants';
|
|
7
|
+
import { FRAMEWORK_ANTUI, FRAMEWORK_CHAKRAUI, FRAMEWORK_TAILWINDUI } from '../../constants';
|
|
6
8
|
|
|
7
9
|
const DEFAULT_FRAMEWORK = FRAMEWORK_ANTUI;
|
|
8
10
|
|
|
9
11
|
export async function addFrontendGenerator(tree: Tree, options: AddFrontendGeneratorSchema) {
|
|
10
|
-
// const basePath = process.cwd();
|
|
11
12
|
const projectName = isValid(options.ns) ? `frontend-${getValid(options.ns)}-server` : 'frontend-server';
|
|
13
|
+
const configs: any = {...options, name: projectName};
|
|
14
|
+
|
|
15
|
+
return await generateFrontend(tree, configs);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const generateFrontend = async (tree: Tree, options: any) => {
|
|
19
|
+
const projectName = getValid(options.name) ?? 'frontend-server';
|
|
12
20
|
const projectRoot = isValid(options.directory) ? `${getValid(options.directory)}/${projectName}` : projectName;
|
|
13
21
|
const projectSrc = `${projectRoot}/src`;
|
|
14
22
|
|
|
@@ -32,10 +40,19 @@ export async function addFrontendGenerator(tree: Tree, options: AddFrontendGener
|
|
|
32
40
|
packageJson['dependencies']["@admin-layout/ant-design-pro"] = "latest";
|
|
33
41
|
packageJson['dependencies']["@admin-layout/ant-ui"] = "latest";
|
|
34
42
|
packageJson['dependencies']["@adminide-stack/user-auth0-browser-ant"] = "latest";
|
|
43
|
+
packageJson['dependencies']["@ant-design/pro-layout"] = "^7.6.1";
|
|
44
|
+
packageJson['dependencies']["@ant-design/static-style-extract"] = "^1.0.2";
|
|
45
|
+
packageJson['dependencies']["antd"] = "^5.14.0";
|
|
35
46
|
} else if (framework === FRAMEWORK_CHAKRAUI) {
|
|
36
47
|
packageJson['dependencies']["@admin-layout/chakra-design-pro"] = "latest";
|
|
37
48
|
packageJson['dependencies']["@admin-layout/chakra-ui"] = "latest";
|
|
38
49
|
packageJson['dependencies']["@adminide-stack/user-auth0-browser-chakra"] = "latest";
|
|
50
|
+
packageJson['dependencies']["@emotion/css"] = "^11.10.0";
|
|
51
|
+
packageJson['dependencies']["@emotion/styled"] = "^11.10.4";
|
|
52
|
+
} else if (framework === FRAMEWORK_TAILWINDUI) {
|
|
53
|
+
packageJson['devDependencies']["tailwindcss"] = "^3.4.10";
|
|
54
|
+
packageJson['devDependencies']["postcss"] = "^8.4.41";
|
|
55
|
+
packageJson['devDependencies']["autoprefixer"] = "^10.4.20";
|
|
39
56
|
}
|
|
40
57
|
|
|
41
58
|
return packageJson;
|
|
@@ -48,6 +65,11 @@ export async function addFrontendGenerator(tree: Tree, options: AddFrontendGener
|
|
|
48
65
|
configJson['modules'].push("@admin-layout/chakra-design-pro");
|
|
49
66
|
}
|
|
50
67
|
|
|
68
|
+
if (options['config.json']) {
|
|
69
|
+
const addtionalConfigs = options['config.json'];
|
|
70
|
+
configJson = deepMerge(configJson, addtionalConfigs);
|
|
71
|
+
}
|
|
72
|
+
|
|
51
73
|
return configJson;
|
|
52
74
|
});
|
|
53
75
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"framework": {
|
|
18
18
|
"type": "string",
|
|
19
19
|
"description": "",
|
|
20
|
-
"x-prompt": "What UI framework would you like to use in [antui, chakraui]?"
|
|
20
|
+
"x-prompt": "What UI framework would you like to use in [antui, chakraui, tailwindui]?"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"required": ["ns", "directory", "framework"]
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
mongodbMemoryServerOptions: {
|
|
3
3
|
instance: {
|
|
4
|
-
dbName: 'jest'
|
|
4
|
+
dbName: 'jest',
|
|
5
|
+
storageEngine: 'wiredTiger',
|
|
5
6
|
},
|
|
6
7
|
binary: {
|
|
7
|
-
version: '4.0.
|
|
8
|
+
version: '4.0.27', // Version of MongoDB
|
|
8
9
|
skipMD5: true
|
|
9
10
|
},
|
|
10
11
|
autoStart: false
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const merge = require('merge')
|
|
2
|
+
const baseConfig = require('./jest.config.base');
|
|
3
|
+
const mongodbConfig = require('./jest.config.mongodb')
|
|
4
|
+
module.exports = merge.recursive(
|
|
5
|
+
baseConfig,
|
|
6
|
+
mongodbConfig,
|
|
7
|
+
{
|
|
8
|
+
globals: {
|
|
9
|
+
|
|
10
|
+
}
|
|
11
|
+
}, {
|
|
12
|
+
moduleDirectories: [
|
|
13
|
+
"node_modules",
|
|
14
|
+
"packages/adminide-core",
|
|
15
|
+
],
|
|
16
|
+
}
|
|
17
|
+
// https://baltuta.eu/posts/typescript-lerna-monorepo-more-tools
|
|
18
|
+
// {
|
|
19
|
+
// roots: ['<rootDir>'],
|
|
20
|
+
// projects: [
|
|
21
|
+
// '<rootDir>/packages/ui',
|
|
22
|
+
// '<rootDir>/packages/api',
|
|
23
|
+
// '<rootDir>/packages/diceroll'
|
|
24
|
+
// ],
|
|
25
|
+
// }
|
|
26
|
+
|
|
27
|
+
);
|
|
@@ -2,6 +2,45 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
3
3
|
const { defaults } = require('jest-config');
|
|
4
4
|
|
|
5
|
+
const packagesToTransform = [
|
|
6
|
+
'@apollo/client',
|
|
7
|
+
'@common-stack/client-core',
|
|
8
|
+
'@common-stack/client-react',
|
|
9
|
+
'@common-stack/core',
|
|
10
|
+
'@admin-layout/client',
|
|
11
|
+
'@common-stack/components-pro',
|
|
12
|
+
'@common-stack/server-core',
|
|
13
|
+
'@common-stack/cache-api-server',
|
|
14
|
+
'@common-stack/remix-router-redux',
|
|
15
|
+
'@cdmbase/redux-auth-wrapper',
|
|
16
|
+
'@cdmbase/remix-redis-session',
|
|
17
|
+
'@cdm-logger/server',
|
|
18
|
+
'@cdm-logger/core',
|
|
19
|
+
'@cdm-logger/client',
|
|
20
|
+
'@files-stack/server-core',
|
|
21
|
+
'@vscode-alt/monaco-editor',
|
|
22
|
+
'@workbench-stack/core',
|
|
23
|
+
'@workbench-stack/platform-server',
|
|
24
|
+
'abortable-rx',
|
|
25
|
+
'lodash-es',
|
|
26
|
+
'sort-keys',
|
|
27
|
+
'is-plain-obj',
|
|
28
|
+
'query-string',
|
|
29
|
+
'decode-uri-component',
|
|
30
|
+
'split-on-first',
|
|
31
|
+
'filter-obj',
|
|
32
|
+
'react-dnd-html5-backend',
|
|
33
|
+
'react-sortable-tree',
|
|
34
|
+
'react-dnd',
|
|
35
|
+
'dnd-core',
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const generateTransformIgnorePattern = (packages) => {
|
|
39
|
+
const escapedPackages = packages.map((pkg) => pkg.replace(/\//g, '\\/'));
|
|
40
|
+
return `/node_modules/(?!(${escapedPackages.join('|')})/).+\\.js$`;
|
|
41
|
+
};
|
|
42
|
+
const transformIgnorePattern = generateTransformIgnorePattern(packagesToTransform);
|
|
43
|
+
|
|
5
44
|
module.exports = {
|
|
6
45
|
testEnvironment: 'node',
|
|
7
46
|
setupFiles: [
|
|
@@ -10,11 +49,11 @@ module.exports = {
|
|
|
10
49
|
],
|
|
11
50
|
preset: 'ts-jest',
|
|
12
51
|
testMatch: null,
|
|
13
|
-
testRegex: '.*test
|
|
14
|
-
testPathIgnorePatterns: ['/node_modules/', '/dist/'],
|
|
52
|
+
testRegex: '.*test\\.(ts|tsx|js)$',
|
|
53
|
+
testPathIgnorePatterns: ['/node_modules/', '/lib', '/dist/'],
|
|
15
54
|
transform: {
|
|
16
55
|
'\\.(gql)$': 'jest-transform-graphql',
|
|
17
|
-
'\\.(graphql|graphqls)$': 'jest-raw-loader',
|
|
56
|
+
'\\.(graphql|graphqls)$': '@glen/jest-raw-loader',
|
|
18
57
|
'\\.(ts|tsx)$': 'ts-jest',
|
|
19
58
|
// Use our custom transformer only for the *.js and *.jsx files
|
|
20
59
|
'\\.(js|jsx)?$': './transform.js',
|
|
@@ -39,7 +78,7 @@ module.exports = {
|
|
|
39
78
|
// because we don't need to use any kind of tree shaking right?!
|
|
40
79
|
'^lodash-es$': '<rootDir>/node_modules/lodash/index.js',
|
|
41
80
|
},
|
|
42
|
-
transformIgnorePatterns: [
|
|
81
|
+
transformIgnorePatterns: [transformIgnorePattern],
|
|
43
82
|
clearMocks: true,
|
|
44
83
|
verbose: true,
|
|
45
84
|
// projects: ['<rootDir>'], // TODO need to test with it https://github.com/bryan-hunter/yarn-workspace-lerna-monorepo/blob/master/jest.config.base.js
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
3
|
+
import { defaults } from 'jest-config';
|
|
4
|
+
|
|
5
|
+
const packagesToTransform = [
|
|
6
|
+
'@apollo/client',
|
|
7
|
+
'@apollo/server',
|
|
8
|
+
'@graphql-tools/schema',
|
|
9
|
+
'@graphql-tools/mock',
|
|
10
|
+
'@common-stack/client-core',
|
|
11
|
+
'@common-stack/client-react',
|
|
12
|
+
'@common-stack/core',
|
|
13
|
+
'@common-stack/server-core',
|
|
14
|
+
'@common-stack/cache-api-server',
|
|
15
|
+
'@common-stack/remix-router-redux',
|
|
16
|
+
'@common-stack/graphql-api',
|
|
17
|
+
'@cdmbase/graphql-type-uri',
|
|
18
|
+
'@cdm-logger/server',
|
|
19
|
+
'@cdm-logger/core',
|
|
20
|
+
'@cdm-logger/client',
|
|
21
|
+
'@files-stack/core',
|
|
22
|
+
'@files-stack/server-core',
|
|
23
|
+
'@vscode-alt/monaco-editor',
|
|
24
|
+
'@workbench-stack/core',
|
|
25
|
+
'@workbench-stack/platform-server',
|
|
26
|
+
'graphql',
|
|
27
|
+
'abortable-rx',
|
|
28
|
+
'lodash-es',
|
|
29
|
+
'sort-keys',
|
|
30
|
+
'is-plain-obj',
|
|
31
|
+
'query-string',
|
|
32
|
+
'decode-uri-component',
|
|
33
|
+
'split-on-first',
|
|
34
|
+
'filter-obj',
|
|
35
|
+
'react-dnd-html5-backend',
|
|
36
|
+
'react-sortable-tree',
|
|
37
|
+
'react-dnd',
|
|
38
|
+
'dnd-core',
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
const generateTransformIgnorePattern = (packages) => {
|
|
42
|
+
const escapedPackages = packages.map((pkg) => pkg.replace(/\//g, '\\/'));
|
|
43
|
+
return `/node_modules/(?!(${escapedPackages.join('|')})/).+\\.js$`;
|
|
44
|
+
};
|
|
45
|
+
const transformIgnorePattern = generateTransformIgnorePattern(packagesToTransform);
|
|
46
|
+
|
|
47
|
+
export default {
|
|
48
|
+
testEnvironment: 'node',
|
|
49
|
+
setupFiles: [
|
|
50
|
+
// needed for UI to mock canvas load
|
|
51
|
+
// "jest-canvas-mock"
|
|
52
|
+
],
|
|
53
|
+
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
|
54
|
+
preset: 'ts-jest',
|
|
55
|
+
testMatch: null,
|
|
56
|
+
testRegex: '.*test\\.(ts|tsx|js)$',
|
|
57
|
+
testPathIgnorePatterns: ['/node_modules/', '/lib', '/dist/'],
|
|
58
|
+
transform: {
|
|
59
|
+
'\\.(gql)$': 'jest-transform-graphql',
|
|
60
|
+
'\\.(graphql|graphqls)$': '@glen/jest-raw-loader',
|
|
61
|
+
'\\.(ts|tsx)$': 'ts-jest',
|
|
62
|
+
// // Use our custom transformer only for the *.js and *.jsx files
|
|
63
|
+
'\\.(js|jsx)?$': './transform.mjs',
|
|
64
|
+
// future need to test with
|
|
65
|
+
// "^.+\\.(js|jsx|ts|tsx)$": "./transform.js",
|
|
66
|
+
'.+\\.(css|styl|less|sass|scss)$': 'jest-css-modules-transform',
|
|
67
|
+
},
|
|
68
|
+
roots: ['packages', 'packages-modules', 'servers'],
|
|
69
|
+
moduleFileExtensions: [
|
|
70
|
+
...defaults.moduleFileExtensions,
|
|
71
|
+
'json',
|
|
72
|
+
'gql',
|
|
73
|
+
'graphql',
|
|
74
|
+
],
|
|
75
|
+
moduleNameMapper: {
|
|
76
|
+
'^__mocks__/(.*)$': '<rootDir>/../../__mocks__/$1',
|
|
77
|
+
// we'll use commonjs version of lodash for tests 👌
|
|
78
|
+
// because we don't need to use any kind of tree shaking right?!
|
|
79
|
+
'^lodash-es$': '<rootDir>/node_modules/lodash/index.js',
|
|
80
|
+
},
|
|
81
|
+
transformIgnorePatterns: [transformIgnorePattern],
|
|
82
|
+
clearMocks: true,
|
|
83
|
+
verbose: true,
|
|
84
|
+
// projects: ['<rootDir>'], // TODO need to test with it https://github.com/bryan-hunter/yarn-workspace-lerna-monorepo/blob/master/jest.config.base.js
|
|
85
|
+
coverageDirectory: '<rootDir>/coverage/',
|
|
86
|
+
coveragePathIgnorePatterns: ['<rootDir>/build/', '<rootDir>/lib/', '<rootDir>/dist/', '<rootDir>/node_modules/'],
|
|
87
|
+
globals: {
|
|
88
|
+
__BACKEND_URL__: 'http://localhost:3010',
|
|
89
|
+
__GRAPHQL_URL__: 'http://localhost:8085/graphql',
|
|
90
|
+
'ts-jest': {
|
|
91
|
+
// tsConfig: "<rootDir>/src/__tests__/tsconfig.json",
|
|
92
|
+
// https://github.com/kulshekhar/ts-jest/issues/766
|
|
93
|
+
diagnostics: {
|
|
94
|
+
warnOnly: true,
|
|
95
|
+
},
|
|
96
|
+
// "skipBabel": true
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
'*.{js,jsx,ts,tsx,json,md}': ['prettier --write', 'git add'],
|
|
3
3
|
// '*.{ts,tsx}': ['eslint --fix'], // this can be tested
|
|
4
|
-
|
|
4
|
+
'package.json': ['sort-package-json', 'prettier --write'],
|
|
5
|
+
'*/**/package.json': ['sort-package-json', 'prettier --write'],
|
|
6
|
+
'**/**/*/package.json': ['sort-package-json', 'prettier --write'],
|
|
7
|
+
};
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"tasksRunnerOptions": {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
"default": {
|
|
4
|
+
"runner": "@nx-aws-plugin/nx-aws-cache",
|
|
5
|
+
"options": {
|
|
6
|
+
"runtimeCacheInputs": ["node --version"],
|
|
7
|
+
"awsAccessKeyId": "AKIAZTAIYK3K6FNPXYSD",
|
|
8
|
+
"awsSecretAccessKey": "u7rh080/AAoxwr4IjtYxGr+7NwifNBWtbBVVSHkZ",
|
|
9
|
+
"awsRegion": "ca-central-1",
|
|
10
|
+
"awsBucket": "clockbook-screenshot"
|
|
11
|
+
}
|
|
8
12
|
}
|
|
9
|
-
}
|
|
10
13
|
},
|
|
11
14
|
"targetDefaults": {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
"build": {
|
|
16
|
+
"dependsOn": ["^build"],
|
|
17
|
+
"inputs": ["default", "^default", "{projectRoot}/src/**/*"],
|
|
18
|
+
"cache": true,
|
|
19
|
+
"outputs": ["{projectRoot}/lib"]
|
|
20
|
+
},
|
|
21
|
+
"test": {
|
|
22
|
+
"dependsOn": ["^test"]
|
|
23
|
+
}
|
|
19
24
|
}
|
|
20
25
|
}
|
|
@@ -24,7 +24,7 @@ function updateLernaJson(filePath, versionArg) {
|
|
|
24
24
|
lernaConfig.version = `${majorVersion}.${minorVersion}.0`;
|
|
25
25
|
|
|
26
26
|
// Update the allowBranch fields
|
|
27
|
-
const branchName = `devpublish${majorVersion}${minorVersion !== '0' ? '
|
|
27
|
+
const branchName = `devpublish${majorVersion}${minorVersion !== '0' ? '_' + minorVersion : ''}`;
|
|
28
28
|
lernaConfig.command.publish.allowBranch.push(branchName);
|
|
29
29
|
lernaConfig.command.version.allowBranch.push(branchName);
|
|
30
30
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<base href="/">
|
|
6
|
+
<meta charset="utf-8">
|
|
7
|
+
<title>
|
|
8
|
+
<%= htmlWebpackPlugin.options.title %>
|
|
9
|
+
</title>
|
|
10
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
11
|
+
</head>
|
|
12
|
+
|
|
13
|
+
<body>
|
|
14
|
+
<div class="demo">
|
|
15
|
+
<div id="root">
|
|
16
|
+
Try building the demo:
|
|
17
|
+
<pre>
|
|
18
|
+
</pre> ...and refreshing this page!
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<footer class="dark">
|
|
22
|
+
<section class="container copyright">
|
|
23
|
+
CDMBase LLC
|
|
24
|
+
</section>
|
|
25
|
+
</footer>
|
|
26
|
+
</body>
|
|
27
|
+
|
|
28
|
+
</html>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { promisify } from 'util';
|
|
2
|
+
import glob from 'glob';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
|
|
6
|
+
const globPromise = promisify(glob.glob); // Make sure to call .glob here
|
|
7
|
+
|
|
8
|
+
export default function generateJsonFromSpecificFiles(options = {}) {
|
|
9
|
+
const {
|
|
10
|
+
pattern = '**/**/compute.js', // Pattern to match files
|
|
11
|
+
dist = 'lib', // Default output directory
|
|
12
|
+
outputFile = 'routes.json', // Output filename
|
|
13
|
+
} = options;
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
name: 'aggregate-compute-routes',
|
|
17
|
+
async writeBundle() { // Changed from generateBundle to writeBundle
|
|
18
|
+
const files = await globPromise(path.join(dist, pattern), { absolute: true }); // Ensure paths are absolute
|
|
19
|
+
let allFilteredRoutes = [];
|
|
20
|
+
|
|
21
|
+
for (const file of files) {
|
|
22
|
+
try {
|
|
23
|
+
// Dynamically import the JS file assuming it exports filteredRoutes
|
|
24
|
+
const module = await import(file); // file is already absolute
|
|
25
|
+
if (module.filteredRoutes) {
|
|
26
|
+
const newRoutes = module.filteredRoutes.map((filteredRoute) => {
|
|
27
|
+
let routConfig = Object.values(filteredRoute)[0];
|
|
28
|
+
return { [routConfig.path]: routConfig };
|
|
29
|
+
});
|
|
30
|
+
allFilteredRoutes.push(...newRoutes);
|
|
31
|
+
}
|
|
32
|
+
} catch (error) {
|
|
33
|
+
this.warn(`Error importing ${file}: ${error}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Ensure the dist directory exists
|
|
38
|
+
if (!fs.existsSync(dist)) {
|
|
39
|
+
fs.mkdirSync(dist, { recursive: true });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Specify the output file path and write the aggregated filteredRoutes to a JSON file
|
|
43
|
+
const outputPath = path.join(dist, outputFile);
|
|
44
|
+
fs.writeFileSync(outputPath, JSON.stringify(allFilteredRoutes, null, 2), 'utf8');
|
|
45
|
+
console.log(`Aggregated filtered routes have been written to ${outputPath}`);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|