@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.
Files changed (118) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +280 -10
  3. package/cde-config.json +86 -0
  4. package/lib/constants/index.cjs +2 -1
  5. package/lib/constants/index.cjs.map +1 -1
  6. package/lib/constants/index.d.ts +1 -0
  7. package/lib/constants/index.mjs +2 -1
  8. package/lib/constants/index.mjs.map +1 -1
  9. package/lib/generators/add-backend/files/Dockerfile +1 -1
  10. package/lib/generators/add-backend/files/package.json +1 -60
  11. package/lib/generators/add-backend/generator.cjs +21 -17
  12. package/lib/generators/add-backend/generator.cjs.map +1 -1
  13. package/lib/generators/add-backend/generator.d.ts +1 -0
  14. package/lib/generators/add-backend/generator.mjs +21 -17
  15. package/lib/generators/add-backend/generator.mjs.map +1 -1
  16. package/lib/generators/add-browser-package/generator.cjs +14 -16
  17. package/lib/generators/add-browser-package/generator.cjs.map +1 -1
  18. package/lib/generators/add-browser-package/generator.d.ts +1 -0
  19. package/lib/generators/add-browser-package/generator.mjs +14 -16
  20. package/lib/generators/add-browser-package/generator.mjs.map +1 -1
  21. package/lib/generators/add-client-package/generator.cjs +14 -16
  22. package/lib/generators/add-client-package/generator.cjs.map +1 -1
  23. package/lib/generators/add-client-package/generator.d.ts +1 -0
  24. package/lib/generators/add-client-package/generator.mjs +14 -16
  25. package/lib/generators/add-client-package/generator.mjs.map +1 -1
  26. package/lib/generators/add-core-package/generator.cjs +14 -16
  27. package/lib/generators/add-core-package/generator.cjs.map +1 -1
  28. package/lib/generators/add-core-package/generator.d.ts +1 -0
  29. package/lib/generators/add-core-package/generator.mjs +14 -16
  30. package/lib/generators/add-core-package/generator.mjs.map +1 -1
  31. package/lib/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
  32. package/lib/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
  33. package/lib/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
  34. package/lib/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
  35. package/lib/generators/add-frontend/generator.cjs +60 -42
  36. package/lib/generators/add-frontend/generator.cjs.map +1 -1
  37. package/lib/generators/add-frontend/generator.d.ts +1 -0
  38. package/lib/generators/add-frontend/generator.mjs +60 -42
  39. package/lib/generators/add-frontend/generator.mjs.map +1 -1
  40. package/lib/generators/add-frontend/schema.json +1 -1
  41. package/lib/generators/add-frontend/templates/package.json +17 -76
  42. package/lib/generators/add-frontend/templates/postcss.config.js +6 -0
  43. package/lib/generators/add-frontend/templates/tailwind.config.ts.template +12 -0
  44. package/lib/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
  45. package/lib/generators/add-fullstack/files/jest.config copy.js +27 -0
  46. package/lib/generators/add-fullstack/files/jest.config.base.js +43 -4
  47. package/lib/generators/add-fullstack/files/jest.config.base.mjs +99 -0
  48. package/lib/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
  49. package/lib/generators/add-fullstack/files/lint-staged.config.js +4 -1
  50. package/lib/generators/add-fullstack/files/nx.json +18 -13
  51. package/lib/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
  52. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
  53. package/lib/generators/add-fullstack/files/tools/html-plugin-template.ejs +28 -0
  54. package/lib/generators/add-fullstack/files/tools/prettier.config.js +8 -0
  55. package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
  56. package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
  57. package/lib/generators/add-fullstack/files/tools/runLint.mjs +15 -0
  58. package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
  59. package/lib/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
  60. package/lib/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
  61. package/lib/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
  62. package/lib/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
  63. package/lib/generators/add-fullstack/generator.cjs +63 -2
  64. package/lib/generators/add-fullstack/generator.cjs.map +1 -1
  65. package/lib/generators/add-fullstack/generator.mjs +63 -2
  66. package/lib/generators/add-fullstack/generator.mjs.map +1 -1
  67. package/lib/generators/add-fullstack/schema.json +4 -0
  68. package/lib/generators/add-moleculer/generator.cjs +14 -16
  69. package/lib/generators/add-moleculer/generator.cjs.map +1 -1
  70. package/lib/generators/add-moleculer/generator.d.ts +1 -0
  71. package/lib/generators/add-moleculer/generator.mjs +14 -16
  72. package/lib/generators/add-moleculer/generator.mjs.map +1 -1
  73. package/lib/generators/add-server-package/generator.cjs +14 -16
  74. package/lib/generators/add-server-package/generator.cjs.map +1 -1
  75. package/lib/generators/add-server-package/generator.d.ts +1 -0
  76. package/lib/generators/add-server-package/generator.mjs +14 -16
  77. package/lib/generators/add-server-package/generator.mjs.map +1 -1
  78. package/lib/index.cjs +1 -1
  79. package/lib/index.mjs +1 -1
  80. package/package.json +3 -2
  81. package/src/constants/index.ts +2 -1
  82. package/src/generators/add-backend/generator.ts +8 -4
  83. package/src/generators/add-browser-package/generator.ts +7 -6
  84. package/src/generators/add-client-package/generator.ts +7 -6
  85. package/src/generators/add-core-package/generator.ts +7 -6
  86. package/src/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
  87. package/src/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
  88. package/src/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
  89. package/src/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
  90. package/src/generators/add-frontend/generator.ts +24 -2
  91. package/src/generators/add-frontend/schema.json +1 -1
  92. package/src/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
  93. package/src/generators/add-fullstack/files/jest.config copy.js +27 -0
  94. package/src/generators/add-fullstack/files/jest.config.base.js +43 -4
  95. package/src/generators/add-fullstack/files/jest.config.base.mjs +99 -0
  96. package/src/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
  97. package/src/generators/add-fullstack/files/lint-staged.config.js +4 -1
  98. package/src/generators/add-fullstack/files/nx.json +18 -13
  99. package/src/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
  100. package/src/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
  101. package/src/generators/add-fullstack/files/tools/html-plugin-template.ejs +28 -0
  102. package/src/generators/add-fullstack/files/tools/prettier.config.js +8 -0
  103. package/src/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
  104. package/src/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
  105. package/src/generators/add-fullstack/files/tools/runLint.mjs +15 -0
  106. package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
  107. package/src/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
  108. package/src/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
  109. package/src/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
  110. package/src/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
  111. package/src/generators/add-fullstack/generator.ts +83 -1
  112. package/src/generators/add-fullstack/schema.d.ts +1 -0
  113. package/src/generators/add-fullstack/schema.json +4 -0
  114. package/src/generators/add-moleculer/generator.ts +7 -6
  115. package/src/generators/add-server-package/generator.ts +7 -6
  116. package/lib/generators/add-backend/files/CHANGELOG.md +0 -196
  117. package/lib/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
  118. 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.12', // Version of MongoDB
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*\\.(ts|tsx|js)$',
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: ['/node_modules/(?!(babel-runtime|antd)).*/', '<rootDir>/node_modules/(?!lodash-es/.*)'],
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
+ };
@@ -0,0 +1,3 @@
1
+ export default {
2
+ preset: '@shelf/jest-mongodb',
3
+ };
@@ -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
- "default": {
4
- "runner": "nx/tasks-runners/default",
5
- "options": {
6
- "cacheableOperations": ["build"],
7
- "runtimeCacheInputs": ["node --version"]
3
+ "default": {
4
+ "runner": "@nx-aws-plugin/nx-aws-cache",
5
+ "options": {
6
+ "runtimeCacheInputs": ["node --version"],
7
+ "awsAccessKeyId": "AKIAZTAIYK3K6FNPXYSD",
8
+ "awsSecretAccessKey": "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",
9
+ "awsRegion": "ca-central-1",
10
+ "awsBucket": "clockbook-screenshot"
11
+ }
8
12
  }
9
- }
10
13
  },
11
14
  "targetDefaults": {
12
- "build": {
13
- "dependsOn": ["^build"],
14
- "inputs": ["default", "^default", "{projectRoot}/src/**/*"]
15
- },
16
- "test": {
17
- "dependsOn": ["build"]
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
  }
@@ -1,7 +1,7 @@
1
1
  const shell = require('shelljs');
2
2
  const fs = require('fs');
3
3
  const { pascalize, decamelize } = require('humps');
4
- const { startCase } = require('lodash');
4
+ const { startCase } = require('lodash-es');
5
5
  const { BASE_PATH } = require('../config');
6
6
 
7
7
  /**
@@ -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' ? '.' + minorVersion : ''}`;
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,8 @@
1
+ module.exports = {
2
+ bracketSpacing: true,
3
+ printWidth: 120,
4
+ singleQuote: true,
5
+ tabWidth: 4,
6
+ trailingComma: 'all',
7
+ endOfLine: 'lf',
8
+ };
@@ -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
+ }