@common-stack/generate-plugin 6.0.1-alpha.9 → 6.0.2-alpha.2
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/.eslintrc.json +1 -1
- package/CHANGELOG.md +12 -0
- package/README.md +280 -10
- package/cde-config.json +86 -0
- package/executors.json +14 -0
- package/generators.json +15 -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/executors/sort-package-json/executor.cjs +46 -0
- package/lib/executors/sort-package-json/executor.cjs.map +1 -0
- package/lib/executors/sort-package-json/executor.d.ts +4 -0
- package/lib/executors/sort-package-json/executor.mjs +46 -0
- package/lib/executors/sort-package-json/executor.mjs.map +1 -0
- package/lib/executors/sort-package-json/executor.spec.d.ts +1 -0
- package/lib/executors/sort-package-json/schema.json +9 -0
- package/lib/executors/update-deploy-version/executor.cjs +22 -0
- package/lib/executors/update-deploy-version/executor.cjs.map +1 -0
- package/lib/executors/update-deploy-version/executor.d.ts +4 -0
- package/lib/executors/update-deploy-version/executor.mjs +22 -0
- package/lib/executors/update-deploy-version/executor.mjs.map +1 -0
- package/lib/executors/update-deploy-version/executor.spec.d.ts +1 -0
- package/lib/executors/update-deploy-version/schema.json +14 -0
- package/lib/generators/add-backend/files/CHANGELOG.md +0 -0
- package/lib/generators/add-backend/files/Dockerfile +1 -1
- package/lib/generators/add-backend/files/package.json +1 -18
- package/lib/generators/add-backend/files/tsconfig.json +1 -1
- package/lib/generators/add-backend/files/webpack.config.js +6 -10
- 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/files/package.json +2 -2
- 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/files/CHANGELOG.md +807 -0
- package/lib/generators/add-client-package/files/LICENSE +674 -0
- package/lib/generators/add-client-package/files/jest.config.js +13 -0
- package/lib/generators/add-client-package/files/package.json +30 -0
- package/lib/generators/add-client-package/files/rollup.config.mjs +29 -0
- package/lib/generators/add-client-package/files/src/components/index.tsx.template +1 -0
- package/lib/generators/add-client-package/files/src/index.ts.template +1 -0
- package/lib/generators/add-client-package/files/tsconfig.json +27 -0
- package/lib/generators/add-client-package/files/webpack.config.js +72 -0
- package/lib/generators/add-client-package/generator.cjs +17 -0
- package/lib/generators/add-client-package/generator.cjs.map +1 -0
- package/lib/generators/add-client-package/generator.d.ts +5 -0
- package/lib/generators/add-client-package/generator.mjs +17 -0
- package/lib/generators/add-client-package/generator.mjs.map +1 -0
- package/lib/generators/add-client-package/generator.spec.d.ts +1 -0
- package/lib/generators/add-client-package/schema.json +19 -0
- package/lib/generators/add-core-package/files/CHANGELOG.md +1076 -0
- package/lib/generators/add-core-package/files/LICENSE +39 -0
- package/lib/generators/add-core-package/files/jest.config.js +3 -0
- package/lib/generators/add-core-package/files/package.json +30 -0
- package/lib/generators/add-core-package/files/rollup.config.mjs +65 -0
- package/lib/generators/add-core-package/files/src/constants/index.ts.template +1 -0
- package/lib/generators/add-core-package/files/src/constants/types.ts.template +3 -0
- package/lib/generators/add-core-package/files/src/index.ts.template +2 -0
- package/lib/generators/add-core-package/files/src/types/index.ts.template +1 -0
- package/lib/generators/add-core-package/files/src/types/types.ts.template +17 -0
- package/lib/generators/add-core-package/files/tsconfig.json +22 -0
- package/lib/generators/add-core-package/files/webpack.config.js +53 -0
- package/lib/generators/add-core-package/generator.cjs +17 -0
- package/lib/generators/add-core-package/generator.cjs.map +1 -0
- package/lib/generators/add-core-package/generator.d.ts +5 -0
- package/lib/generators/add-core-package/generator.mjs +17 -0
- package/lib/generators/add-core-package/generator.mjs.map +1 -0
- package/lib/generators/add-core-package/generator.spec.d.ts +1 -0
- package/lib/generators/add-core-package/schema.json +19 -0
- 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 +18 -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/package.json +8 -8
- 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/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/files/package.json +7 -7
- 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/files/CHANGELOG.md +2599 -0
- package/lib/generators/add-server-package/files/LICENSE +674 -0
- package/lib/generators/add-server-package/files/jest.config.js +32 -0
- package/lib/generators/add-server-package/files/package.json +78 -0
- package/lib/generators/add-server-package/files/rollup.config.mjs +30 -0
- package/lib/generators/add-server-package/files/src/constants/constants.ts.template +62 -0
- package/lib/generators/add-server-package/files/src/constants/index.ts.template +1 -0
- package/lib/generators/add-server-package/files/src/constants/types.ts.template +21 -0
- package/lib/generators/add-server-package/files/src/index.ts.template +6 -0
- package/lib/generators/add-server-package/files/src/module.ts.template +6 -0
- package/lib/generators/add-server-package/files/tsconfig.json +27 -0
- package/lib/generators/add-server-package/generator.cjs +17 -0
- package/lib/generators/add-server-package/generator.cjs.map +1 -0
- package/lib/generators/add-server-package/generator.d.ts +5 -0
- package/lib/generators/add-server-package/generator.mjs +17 -0
- package/lib/generators/add-server-package/generator.mjs.map +1 -0
- package/lib/generators/add-server-package/generator.spec.d.ts +1 -0
- package/lib/generators/add-server-package/schema.json +19 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.mjs +1 -1
- package/package.json +4 -2
- package/project.json +12 -1
- package/rollup.config.mjs +8 -0
- package/src/constants/index.ts +2 -1
- package/src/executors/sort-package-json/executor.spec.ts +18 -0
- package/src/executors/sort-package-json/executor.ts +53 -0
- package/src/executors/sort-package-json/schema.d.ts +1 -0
- package/src/executors/sort-package-json/schema.json +9 -0
- package/src/executors/update-deploy-version/executor.spec.ts +18 -0
- package/src/executors/update-deploy-version/executor.ts +36 -0
- package/src/executors/update-deploy-version/schema.d.ts +3 -0
- package/src/executors/update-deploy-version/schema.json +14 -0
- 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.spec.ts +20 -0
- package/src/generators/add-client-package/generator.ts +24 -0
- package/src/generators/add-client-package/schema.d.ts +4 -0
- package/src/generators/add-client-package/schema.json +19 -0
- package/src/generators/add-core-package/generator.spec.ts +20 -0
- package/src/generators/add-core-package/generator.ts +24 -0
- package/src/generators/add-core-package/schema.d.ts +4 -0
- package/src/generators/add-core-package/schema.json +19 -0
- 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/package.json +8 -8
- 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/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/files/package.json +7 -7
- package/src/generators/add-moleculer/generator.ts +7 -6
- package/src/generators/add-server-package/generator.spec.ts +20 -0
- package/src/generators/add-server-package/generator.ts +24 -0
- package/src/generators/add-server-package/schema.d.ts +4 -0
- package/src/generators/add-server-package/schema.json +19 -0
- package/src/index.ts +5 -0
- package/lib/generators/add-backend/files/knexfile.js +0 -63
- package/lib/generators/add-backend/files/src/api/remote-config.ts.template +0 -11
- package/lib/generators/add-backend/files/src/api/resolver.ts.template +0 -15
- package/lib/generators/add-backend/files/src/api/scalar.ts.template +0 -16
- package/lib/generators/add-backend/files/src/api/schema-builder.ts.template +0 -189
- package/lib/generators/add-backend/files/src/api/utils.ts.template +0 -44
- package/lib/generators/add-backend/files/src/config/moleculer.config.ts.template +0 -228
- package/lib/generators/add-backend/files/src/connectors/connection-broker.ts.template +0 -80
- package/lib/generators/add-backend/files/src/connectors/graphql-pubsub-connector.ts.template +0 -43
- package/lib/generators/add-backend/files/src/connectors/mongo-connector.ts.template +0 -78
- package/lib/generators/add-backend/files/src/connectors/nats-connector.ts.template +0 -82
- package/lib/generators/add-backend/files/src/connectors/redis-connector.ts.template +0 -73
- package/lib/generators/add-backend/files/src/express-app.ts.template +0 -67
- package/lib/generators/add-backend/files/src/interfaces/index.ts.template +0 -1
- package/lib/generators/add-backend/files/src/interfaces/module-interface.ts.template +0 -16
- package/lib/generators/add-backend/files/src/main.spec.ts.template +0 -129
- package/lib/generators/add-backend/files/src/middleware/__tests__/cors.test.ts.template +0 -12
- package/lib/generators/add-backend/files/src/middleware/cors.ts.template +0 -31
- package/lib/generators/add-backend/files/src/middleware/error.ts.template +0 -63
- package/lib/generators/add-backend/files/src/middleware/moleculer-inter-namespace.ts.template +0 -60
- package/lib/generators/add-backend/files/src/middleware/persistedQuery.ts.template +0 -40
- package/lib/generators/add-backend/files/src/middleware/sentry.ts.template +0 -9
- package/lib/generators/add-backend/files/src/middleware/services.ts.template +0 -16
- package/lib/generators/add-backend/files/src/middleware/tracer.ts.template +0 -24
- package/lib/generators/add-backend/files/src/modules/auth/schema/auth-schema.graphql +0 -25
- package/lib/generators/add-backend/files/src/server-setup/graphql-server.ts.template +0 -185
- package/lib/generators/add-backend/files/src/server-setup/graphql-subscription-server.ts.template +0 -113
- package/lib/generators/add-backend/files/src/server-setup/graphql-ws.ts.template +0 -158
- package/lib/generators/add-backend/files/src/server-setup/mongodb-migration-update.ts.template +0 -47
- package/lib/generators/add-backend/files/src/server-setup/utils.ts.template +0 -43
- package/lib/generators/add-backend/files/src/server-setup/websocket-multipath-update.ts.template +0 -88
- package/lib/generators/add-backend/files/src/stack-server.ts.template +0 -277
- package/lib/generators/add-backend/files/src/utils/migrations.ts.template +0 -32
- package/lib/generators/add-backend/files/uploads/3986781.ppt +0 -0
- 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": "xxxx",
|
|
8
|
+
"awsSecretAccessKey": "xxxx",
|
|
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
|
}
|
|
@@ -37,15 +37,12 @@
|
|
|
37
37
|
"clean:install": "yarn clean:force && yarn git:pull && yarn bootstrap",
|
|
38
38
|
"cli": "node tools/cli",
|
|
39
39
|
"commit": "git cz",
|
|
40
|
-
"prepare": "husky",
|
|
41
40
|
"compile": "lerna exec -- yarn compile",
|
|
42
41
|
"coverage": "jest --coverage",
|
|
43
42
|
"postcoverage": "remap-istanbul --input coverage/coverage.raw.json --type lcovonly --output coverage/lcov.info",
|
|
44
43
|
"db:migrate": "knex migrate:latest --cwd . --knexfile ./servers/backend-server/knexfile.js",
|
|
45
44
|
"db:migrate:rollback": "knex migrate:rollback --cwd . --knexfile ./servers/backend-server/knexfile.js",
|
|
46
45
|
"db:seed": "yarn db:migrate && knex seed:run --cwd . --knexfile ./servers/backend-server/knexfile.js",
|
|
47
|
-
"sort-packages": "node tools/sortPackageJson.mjs",
|
|
48
|
-
"setBranchEnv": "cross-env REPOSITORY_BRANCH=${1:-$REPOSITORY_BRANCH} PUBLISH_BRANCH=${2:-$PUBLISH_BRANCH}",
|
|
49
46
|
"predevpublish": "if ! git show-ref --verify --quiet refs/remotes/origin/$PUBLISH_BRANCH; then git checkout -b $PUBLISH_BRANCH && git push -u origin $PUBLISH_BRANCH; fi && git fetch origin $PUBLISH_BRANCH && git checkout $PUBLISH_BRANCH && git pull origin $PUBLISH_BRANCH && git merge -s recursive -X theirs $REPOSITORY_BRANCH -m \"merge from $REPOSITORY_BRANCH\" && yarn gitcommit && node tools/update-dependency-version.js && yarn gitcommit",
|
|
50
47
|
"devpublish": "lerna publish prerelease --ignore-scripts --exact",
|
|
51
48
|
"postdevpublish": "git checkout $REPOSITORY_BRANCH",
|
|
@@ -63,7 +60,6 @@
|
|
|
63
60
|
"husky-skip": "cross-env HUSKY_SKIP_HOOKS=1",
|
|
64
61
|
"jest": "./node_modules/.bin/jest",
|
|
65
62
|
"lerna": "lerna bootstrap",
|
|
66
|
-
"update-lerna-on-develop": "git checkout publish && git pull && cp lerna.json ../lerna-temp.json && git checkout develop && mv ../lerna-temp.json lerna.json && git commit -am 'Update lerna.json' && git push",
|
|
67
63
|
"prelernapublish": "git checkout publish && git pull origin publish && git merge -s recursive -X theirs master -m 'merge from master' && yarn gitcommit && node tools/update-dependency-version.js && yarn gitcommit",
|
|
68
64
|
"lernapublish": "lerna publish --ignore-scripts --cd-version=patch && yarn update-lerna-on-develop",
|
|
69
65
|
"postlernapublish": "git checkout master",
|
|
@@ -72,23 +68,27 @@
|
|
|
72
68
|
"lint:fix": "yarn lint -- --fix",
|
|
73
69
|
"lint:md": "markdownlint",
|
|
74
70
|
"lintx": "yarn lint ./packages/**/src/**/*.ts ./packages-modules/**/src/**/*.ts",
|
|
71
|
+
"prepare": "husky",
|
|
75
72
|
"prodBuild": "cross-env NODE_ENV=production babel-node --presets es2015 tools/webpack.run",
|
|
76
73
|
"publish": "yarn lernapublish",
|
|
77
74
|
"publish:auto": "yarn lernapublish --yes",
|
|
78
75
|
"publish:force": "yarn publish:forceManual --yes",
|
|
79
76
|
"publish:forceManual": "yarn lernapublish --force-publish=*",
|
|
80
77
|
"publish:push": "yarn prelernapublish && git push origin publish && yarn postlernapublish",
|
|
81
|
-
"
|
|
78
|
+
"setBranchEnv": "cross-env REPOSITORY_BRANCH=${1:-$REPOSITORY_BRANCH} PUBLISH_BRANCH=${2:-$PUBLISH_BRANCH}",
|
|
79
|
+
"sort-packages": "node tools/sortPackageJson.mjs",
|
|
82
80
|
"start": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn startWeb",
|
|
83
|
-
"start:devSSR": "concurrently --names \"BACKEND,FRONTEND\" -c \"bgBlue.bold,bgMagenta.bold\" \"lerna run --scope='*backend-server' watch\" \"lerna run --scope='*frontend-server' start:devSSR\"",
|
|
84
81
|
"start:SSR": "concurrently --names \"BACKEND,FRONTEND\" -c \"bgBlue.bold,bgMagenta.bold\" \"lerna run --scope='*backend-server' start\" \"lerna run --scope='*frontend-server' start:SSR\"",
|
|
82
|
+
"start:devSSR": "concurrently --names \"BACKEND,FRONTEND\" -c \"bgBlue.bold,bgMagenta.bold\" \"lerna run --scope='*backend-server' watch\" \"lerna run --scope='*frontend-server' start:devSSR\"",
|
|
85
83
|
"start:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env yarn startWeb",
|
|
84
|
+
"startWeb": "lerna run --scope='{*frontend-server,*backend-server}' --parallel watch --stream",
|
|
86
85
|
"test": "cross-env ENV_FILE=config/test/test.env jest",
|
|
87
86
|
"posttest": "yarn lint",
|
|
88
87
|
"test:watch": "npm test -- --watch",
|
|
89
88
|
"pretravis": "yarn compile",
|
|
90
89
|
"travis": "istanbul cover -x \"*.test.js\" _mocha -- --timeout 5000 --full-trace ./test/tests.js",
|
|
91
90
|
"posttravis": "yarn lint",
|
|
91
|
+
"update-lerna-on-develop": "git checkout publish && git pull && cp lerna.json ../lerna-temp.json && git checkout develop && mv ../lerna-temp.json lerna.json && git commit -am 'Update lerna.json' && git push",
|
|
92
92
|
"watch": "lerna exec --no-sort --ignore *server --ignore *device --ignore *browser-extension --stream --parallel -- webpack --watch",
|
|
93
93
|
"watch-packages": "lerna exec --no-sort --scope @sample-stack/platform* --scope @sample-stack/react-shared-components --scope @sample-stack/core --stream --parallel 'webpack --watch'",
|
|
94
94
|
"zen:build": "cross-env NODE_ENV=production zen build",
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"@babel/preset-typescript": "^7.18.6",
|
|
160
160
|
"@babel/register": "^7.18.9",
|
|
161
161
|
"@babel/runtime": "^7.20.1",
|
|
162
|
-
"@common-stack/env-list-loader": "6.0.
|
|
162
|
+
"@common-stack/env-list-loader": "6.0.2-alpha.1",
|
|
163
163
|
"@emotion/babel-plugin": "^11.11.0",
|
|
164
164
|
"@graphql-codegen/add": "^5.0.2",
|
|
165
165
|
"@graphql-codegen/cli": "^5.0.2",
|
|
@@ -324,10 +324,10 @@
|
|
|
324
324
|
"shelljs": "^0.8.5",
|
|
325
325
|
"simple-git": "^3.14.1",
|
|
326
326
|
"sinon": "^14.0.2",
|
|
327
|
+
"sort-package-json": "^2.10.0",
|
|
327
328
|
"source-list-map": "^2.0.1",
|
|
328
329
|
"source-map-loader": "^4.0.1",
|
|
329
330
|
"source-map-support": "^0.5.21",
|
|
330
|
-
"sort-package-json": "^2.10.0",
|
|
331
331
|
"standard-version": "^9.5.0",
|
|
332
332
|
"stream-browserify": "^3.0.0",
|
|
333
333
|
"style-loader": "^3.3.1",
|
|
@@ -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,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
|
+
}
|