@common-stack/generate-plugin 5.0.6-alpha.5 → 5.0.6-alpha.8

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 (140) 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/CHANGELOG.md +0 -0
  10. package/lib/generators/add-backend/files/Dockerfile +1 -1
  11. package/lib/generators/add-backend/files/__tests__/test.ts.template +3 -2
  12. package/lib/generators/add-backend/files/package.json +2 -48
  13. package/lib/generators/add-backend/generator.cjs +21 -17
  14. package/lib/generators/add-backend/generator.cjs.map +1 -1
  15. package/lib/generators/add-backend/generator.d.ts +1 -0
  16. package/lib/generators/add-backend/generator.mjs +21 -17
  17. package/lib/generators/add-backend/generator.mjs.map +1 -1
  18. package/lib/generators/add-browser-package/files/package.json +1 -1
  19. package/lib/generators/add-browser-package/generator.cjs +14 -16
  20. package/lib/generators/add-browser-package/generator.cjs.map +1 -1
  21. package/lib/generators/add-browser-package/generator.d.ts +1 -0
  22. package/lib/generators/add-browser-package/generator.mjs +14 -16
  23. package/lib/generators/add-browser-package/generator.mjs.map +1 -1
  24. package/lib/generators/add-client-package/files/package.json +2 -3
  25. package/lib/generators/add-client-package/generator.cjs +14 -16
  26. package/lib/generators/add-client-package/generator.cjs.map +1 -1
  27. package/lib/generators/add-client-package/generator.d.ts +1 -0
  28. package/lib/generators/add-client-package/generator.mjs +14 -16
  29. package/lib/generators/add-client-package/generator.mjs.map +1 -1
  30. package/lib/generators/add-core-package/files/package.json +2 -3
  31. package/lib/generators/add-core-package/generator.cjs +14 -16
  32. package/lib/generators/add-core-package/generator.cjs.map +1 -1
  33. package/lib/generators/add-core-package/generator.d.ts +1 -0
  34. package/lib/generators/add-core-package/generator.mjs +14 -16
  35. package/lib/generators/add-core-package/generator.mjs.map +1 -1
  36. package/lib/generators/add-frontend/frameworks/chakraui/entry.client.tsx.template +30 -24
  37. package/lib/generators/add-frontend/frameworks/chakraui/entry.server.tsx.template +5 -8
  38. package/lib/generators/add-frontend/frameworks/chakraui/root.tsx.template +3 -3
  39. package/lib/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
  40. package/lib/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
  41. package/lib/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
  42. package/lib/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
  43. package/lib/generators/add-frontend/generator.cjs +60 -42
  44. package/lib/generators/add-frontend/generator.cjs.map +1 -1
  45. package/lib/generators/add-frontend/generator.d.ts +1 -0
  46. package/lib/generators/add-frontend/generator.mjs +60 -42
  47. package/lib/generators/add-frontend/generator.mjs.map +1 -1
  48. package/lib/generators/add-frontend/schema.json +1 -1
  49. package/lib/generators/add-frontend/templates/package.json +18 -77
  50. package/lib/generators/add-frontend/templates/postcss.config.js +6 -0
  51. package/lib/generators/add-frontend/templates/tailwind.config.ts.template +12 -0
  52. package/lib/generators/add-fullstack/files/Jenkinsfile +3 -6
  53. package/lib/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
  54. package/lib/generators/add-fullstack/files/jest.config.base.js +43 -4
  55. package/lib/generators/add-fullstack/files/jest.config.base.mjs +99 -0
  56. package/lib/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
  57. package/lib/generators/add-fullstack/files/lint-staged.config.js +4 -1
  58. package/lib/generators/add-fullstack/files/nx.json +18 -13
  59. package/lib/generators/add-fullstack/files/package.json +12 -24
  60. package/lib/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
  61. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
  62. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateYamlSettings.js +14 -15
  63. package/lib/generators/add-fullstack/files/tools/prettier.config.js +8 -0
  64. package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
  65. package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
  66. package/lib/generators/add-fullstack/files/tools/runLint.mjs +15 -0
  67. package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +8 -2
  68. package/lib/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
  69. package/lib/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
  70. package/lib/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
  71. package/lib/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
  72. package/lib/generators/add-fullstack/generator.cjs +71 -13
  73. package/lib/generators/add-fullstack/generator.cjs.map +1 -1
  74. package/lib/generators/add-fullstack/generator.mjs +71 -13
  75. package/lib/generators/add-fullstack/generator.mjs.map +1 -1
  76. package/lib/generators/add-fullstack/schema.json +9 -0
  77. package/lib/generators/add-fullstack/updates/index.d.ts +2 -0
  78. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs +36 -0
  79. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs.map +1 -0
  80. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.d.ts +1 -0
  81. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs +36 -0
  82. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs.map +1 -0
  83. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs +8 -0
  84. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs.map +1 -0
  85. package/lib/generators/add-fullstack/updates/packageJsonUpdate.d.ts +2 -0
  86. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs +8 -0
  87. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs.map +1 -0
  88. package/lib/generators/add-moleculer/files/package.json +3 -3
  89. package/lib/generators/add-moleculer/generator.cjs +14 -16
  90. package/lib/generators/add-moleculer/generator.cjs.map +1 -1
  91. package/lib/generators/add-moleculer/generator.d.ts +1 -0
  92. package/lib/generators/add-moleculer/generator.mjs +14 -16
  93. package/lib/generators/add-moleculer/generator.mjs.map +1 -1
  94. package/lib/generators/add-server-package/files/package.json +2 -2
  95. package/lib/generators/add-server-package/generator.cjs +14 -16
  96. package/lib/generators/add-server-package/generator.cjs.map +1 -1
  97. package/lib/generators/add-server-package/generator.d.ts +1 -0
  98. package/lib/generators/add-server-package/generator.mjs +14 -16
  99. package/lib/generators/add-server-package/generator.mjs.map +1 -1
  100. package/lib/index.cjs +1 -1
  101. package/lib/index.mjs +1 -1
  102. package/package.json +3 -2
  103. package/src/constants/index.ts +2 -1
  104. package/src/generators/add-backend/generator.ts +8 -4
  105. package/src/generators/add-browser-package/generator.ts +7 -6
  106. package/src/generators/add-client-package/generator.ts +7 -6
  107. package/src/generators/add-core-package/generator.ts +7 -6
  108. package/src/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
  109. package/src/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
  110. package/src/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
  111. package/src/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
  112. package/src/generators/add-frontend/generator.ts +24 -2
  113. package/src/generators/add-frontend/schema.json +1 -1
  114. package/src/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
  115. package/src/generators/add-fullstack/files/jest.config copy.js +27 -0
  116. package/src/generators/add-fullstack/files/jest.config.base.js +43 -4
  117. package/src/generators/add-fullstack/files/jest.config.base.mjs +99 -0
  118. package/src/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
  119. package/src/generators/add-fullstack/files/lint-staged.config.js +4 -1
  120. package/src/generators/add-fullstack/files/nx.json +18 -13
  121. package/src/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
  122. package/src/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
  123. package/src/generators/add-fullstack/files/tools/html-plugin-template.ejs +28 -0
  124. package/src/generators/add-fullstack/files/tools/prettier.config.js +8 -0
  125. package/src/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
  126. package/src/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
  127. package/src/generators/add-fullstack/files/tools/runLint.mjs +15 -0
  128. package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
  129. package/src/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
  130. package/src/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
  131. package/src/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
  132. package/src/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
  133. package/src/generators/add-fullstack/generator.ts +83 -1
  134. package/src/generators/add-fullstack/schema.d.ts +1 -0
  135. package/src/generators/add-fullstack/schema.json +4 -0
  136. package/src/generators/add-moleculer/files/package.json +1 -1
  137. package/src/generators/add-moleculer/generator.ts +7 -6
  138. package/src/generators/add-server-package/generator.ts +7 -6
  139. package/lib/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
  140. package/src/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
@@ -52,114 +52,55 @@
52
52
  "watch:test": "cross-env ENV_FILE=../../config/test/test.env node ./server.js"
53
53
  },
54
54
  "dependencies": {
55
- "@admin-layout/assets": "7.3.8-alpha.0",
56
- "@admin-layout/icons": "7.3.8-alpha.0",
57
- "@adminide-stack/account-api-browser": "7.3.8-alpha.0",
58
- "@adminide-stack/billing-api-browser": "7.2.6-alpha.13",
59
- "@adminide-stack/core": "7.2.6-alpha.13",
60
- "@adminide-stack/extension-api": "7.2.6-alpha.13",
61
- "@adminide-stack/extension-module-browser": "7.2.6-alpha.13",
62
- "@adminide-stack/git-api-browser": "7.2.6-alpha.13",
63
- "@adminide-stack/integration-api-client": "7.2.6-alpha.13",
64
- "@adminide-stack/marketplace-module-browser": "7.2.6-alpha.13",
65
- "@adminide-stack/platform-browser": "7.2.6-alpha.13",
66
- "@adminide-stack/project-mgmt-browser": "7.2.6-alpha.13",
67
- "@adminide-stack/react-shared-components": "7.2.6-alpha.13",
68
- "@adminide-stack/registry-api-browser": "7.2.6-alpha.13",
69
- "@adminide-stack/user-auth0-browser": "7.2.6-alpha.13",
70
- "@adminide-stack/user-auth0-server": "7.2.6-alpha.13",
71
- "@ant-design/pro-layout": "^7.6.1",
72
- "@ant-design/static-style-extract": "^1.0.2",
73
- "@apollo/client": "^3.9.0",
74
- "@cdm-logger/client": "^9.0.3",
75
- "@cdm-logger/server": "^9.0.3",
76
- "@cdmbase/redux-data-router": "^1.0.10",
77
- "@common-stack/client-core": "5.0.6-alpha.3",
78
- "@common-stack/client-react": "5.0.6-alpha.3",
79
- "@common-stack/components-pro": "5.0.6-alpha.3",
80
- "@common-stack/core": "5.0.6-alpha.3",
81
- "@common-stack/remix-router-redux": "5.0.6-alpha.3",
82
- "@common-stack/server-core": "5.0.6-alpha.3",
83
- "@container-stack/ssh-keygen-server-module": "0.0.36-alpha.23",
55
+ "@admin-layout/assets": "8.5.3-alpha.0",
56
+ "@admin-layout/icons": "8.5.3-alpha.0",
57
+ "@adminide-stack/account-api-browser": "8.5.2-alpha.0",
58
+ "@adminide-stack/billing-api-browser": "8.5.2-alpha.0",
59
+ "@adminide-stack/core": "8.5.2-alpha.0",
60
+ "@adminide-stack/extension-api": "8.5.2-alpha.0",
61
+ "@adminide-stack/extension-module-browser": "8.5.2-alpha.0",
62
+ "@adminide-stack/git-api-browser": "8.5.2-alpha.0",
63
+ "@adminide-stack/integration-api-client": "8.5.2-alpha.0",
64
+ "@adminide-stack/marketplace-module-browser": "8.5.2-alpha.0",
65
+ "@adminide-stack/platform-browser": "8.5.2-alpha.0",
66
+ "@adminide-stack/project-mgmt-browser": "8.5.2-alpha.0",
67
+ "@adminide-stack/react-shared-components": "8.5.2-alpha.0",
68
+ "@adminide-stack/registry-api-browser": "8.5.2-alpha.0",
69
+ "@adminide-stack/user-auth0-browser": "8.5.2-alpha.0",
70
+ "@adminide-stack/user-auth0-server": "8.5.2-alpha.0",
84
71
  "@container-stack/territory": "5.1.2",
85
- "@emotion/css": "^11.10.0",
86
72
  "@emotion/react": "^11.10.4",
87
73
  "@emotion/server": "^11.10.0",
88
- "@emotion/styled": "^11.10.4",
89
74
  "@files-stack/core": "3.0.2",
90
- "@loadable/component": "^5.15.2",
91
- "@loadable/server": "^5.15.2",
92
75
  "@react-icons/all-files": "^4.1.0",
93
- "@reduxjs/toolkit": "^2.2.1",
94
- "@remix-run/express": "^2.8.1",
95
- "@remix-run/node": "^2.8.1",
96
- "@remix-run/react": "^2.8.1",
97
- "@sentry/browser": "~5.11.2",
98
- "antd": "^5.14.0",
99
- "apollo-link-debounce": "^3.0.0",
100
- "apollo-link-logger": "^2.0.0",
101
- "apollo-server-errors": "^3.3.1",
102
76
  "classnames": "^2.2.6",
103
77
  "compression": "^1.7.4",
104
- "cookie-parser": "^1.4.6",
105
- "cors": "^2.8.5",
106
- "cross-fetch": "^4.0.0",
107
- "dotenv": "^8.2.0",
108
- "envalid": "~7.2.2",
109
- "error-stack-parser": "^2.0.4",
110
- "express": "^4.18.2",
111
78
  "glob-all": "^3.3.1",
112
- "graphql": "^15.0.0",
113
- "graphql-tag": "^2.11.0",
114
- "graphql-ws": "^5.11.2",
115
- "history": "^5.0.0",
116
- "i18next": "^23.10.1",
117
79
  "immutability-helper": "^3.0.1",
118
- "inversify": "^6.0.2",
119
- "ioredis": "^5.4.1",
120
80
  "is-plain-obj": "^3.0.0",
121
- "isbot": "^4.1.0",
122
81
  "isomorphic-fetch": "^2.2.1",
123
- "js-cookie": "^2.2.1",
124
82
  "lodash": "^4.17.15",
125
83
  "lodash-es": "^4.17.21",
126
84
  "minimatch": "^5.0.0",
127
85
  "moment": "2.29.1",
128
- "prettysize": "^0.1.0",
129
- "prop-types": "^15.8.1",
130
86
  "ramda": "^0.29.1",
131
- "react": "18.2.0",
132
- "react-cookie": "^4.0.1",
133
- "react-device-detect": "^2.2.2",
134
- "react-dom": "18.2.0",
135
87
  "react-ga4": "^2.1.0",
136
88
  "react-helmet": "^6.1.0",
137
89
  "react-helmet-async": "^1.3.0",
138
- "react-i18next": "^14.1.0",
139
90
  "react-icons": "~4.3.1",
140
91
  "react-icons-converter": "^1.1.4",
141
- "react-redux": "^9.1.1",
142
92
  "react-transition-group": "^4.3.0",
143
93
  "react-use": "^17.2.4",
144
- "redux-logger": "^3.0.6",
145
- "redux-observable": "^1.2.0",
146
- "redux-persist": "^6.0.0",
147
- "redux-persist-transform-filter": "^0.0.20",
148
- "reflect-metadata": "^0.1.13",
149
94
  "reselect": "^4.0.0",
150
95
  "rxjs": "^6.5.3",
151
96
  "rxjs-compat": "^6.5.3",
152
97
  "rxjs-hooks": "^0.5.2",
153
- "serialize-javascript": "^6.0.0",
154
- "ts-deepmerge": "^7.0.0",
155
- "ts-invariant": "^0.10.3",
156
- "universal-cookie-express": "^4.0.1",
157
98
  "vite-env-only": "^2.2.1"
158
99
  },
159
100
  "devDependencies": {
160
101
  "@cdmbase/vite-plugin-i18next-loader": "^2.0.12",
161
- "@common-stack/frontend-stack-react": "5.0.6-alpha.4",
162
- "@common-stack/rollup-vite-utils": "5.0.6-alpha.3",
102
+ "@common-stack/frontend-stack-react": "5.0.6-alpha.7",
103
+ "@common-stack/rollup-vite-utils": "5.0.6-alpha.7",
163
104
  "@remix-run/dev": "^2.8.1",
164
105
  "@remix-run/serve": "^2.8.1",
165
106
  "cross-env": "^7.0.3",
@@ -0,0 +1,6 @@
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
@@ -0,0 +1,12 @@
1
+ import type { Config } from 'tailwindcss'
2
+
3
+ export default {
4
+ content: [
5
+ "./src/**/{**,.client,.server}/**/*.{js,jsx,ts,tsx}",
6
+ ],
7
+ theme: {
8
+ extend: {},
9
+ },
10
+ plugins: [],
11
+ } satisfies Config
12
+
@@ -38,7 +38,7 @@ pipeline {
38
38
  string(name: 'BUILD_TIME_OUT', defaultValue: '120', description: 'Build timeout in minutes', trim: true)
39
39
  }
40
40
 
41
- // Setup common + secret key variables for pipeline.
41
+ // Setup common + secret key variables for pipeline.
42
42
  environment {
43
43
  BUILD_COMMAND = getBuildCommand()
44
44
  NAMESPACE = "${params.BASE_NAMESPACE}-${params.VERSION}"
@@ -86,7 +86,6 @@ pipeline {
86
86
  sh """
87
87
  echo "what is docker git version $GIT_BRANCH_NAME -- ${params.ENV_CHOICE}"
88
88
  ${params.BUILD_STRATEGY} install
89
- ${params.BUILD_STRATEGY} run lerna
90
89
  """
91
90
  }
92
91
  }
@@ -99,7 +98,7 @@ pipeline {
99
98
  sshagent(credentials: [params.GIT_CREDENTIAL_ID]) {
100
99
  sh """
101
100
  rm .npmrc
102
- lerna exec --scope=*mobile-device ${params.BUILD_STRATEGY} ${env.BUILD_COMMAND}
101
+ npx lerna exec --scope=*mobile-device ${params.BUILD_STRATEGY} ${env.BUILD_COMMAND}
103
102
  git checkout -- .npmrc
104
103
  yarn gitcommit
105
104
  git pull origin ${params.REPOSITORY_BRANCH}
@@ -145,7 +144,6 @@ pipeline {
145
144
  git merge ${env.GIT_PR_BRANCH_NAME} -m 'auto merging ${params.GIT_PR_BRANCH_NAME} \r\n[skip ci]'
146
145
  git push origin ${params.DEVELOP_BRANCH}
147
146
  ${params.BUILD_STRATEGY} install
148
- ${params.BUILD_STRATEGY} run lerna
149
147
  ${params.BUILD_STRATEGY} run build
150
148
  """
151
149
  script {
@@ -278,7 +276,6 @@ pipeline {
278
276
  git checkout ${params.REPOSITORY_BRANCH}
279
277
  git merge origin/${params.DEVELOP_BRANCH} -m 'auto merging ${params.DEVELOP_BRANCH} \r\n[skip ci]'
280
278
  ${params.BUILD_STRATEGY} install
281
- ${params.BUILD_STRATEGY} run lerna
282
279
  """
283
280
  script {
284
281
  GIT_BRANCH_NAME = params.REPOSITORY_BRANCH
@@ -648,7 +645,7 @@ def buildAndPushDockerImage(server, name, version) {
648
645
  echo "Docker image ${REPOSITORY_SERVER}/${name}:${version} already exists. Skipping build."
649
646
  } else {
650
647
  sh """
651
- lerna exec --scope=*${server} ${params.BUILD_STRATEGY} run docker:${env.BUILD_COMMAND};
648
+ npx lerna exec --scope=*${server} ${params.BUILD_STRATEGY} run docker:${env.BUILD_COMMAND};
652
649
  docker tag ${name}:${version} ${REPOSITORY_SERVER}/${name}:${version}
653
650
  docker push ${REPOSITORY_SERVER}/${name}:${version}
654
651
  docker rmi ${REPOSITORY_SERVER}/${name}:${version}
@@ -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
@@ -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": "xxxx",
8
+ "awsSecretAccessKey": "xxxx",
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
  }
@@ -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
- "startWeb": "lerna run --scope='{*frontend-server,*backend-server}' --parallel watch --stream",
78
+ "setBranchEnv": "cross-env REPOSITORY_BRANCH=${1:-$REPOSITORY_BRANCH} PUBLISH_BRANCH=${2:-$PUBLISH_BRANCH}",
79
+ "sort-packages": "node tools/sortPackageJson.mjs && prettier --write package.json **/**/*/package.json **/*/package.json",
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",
@@ -102,32 +102,20 @@
102
102
  "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
103
103
  }
104
104
  },
105
- "lint-staged": {
106
- "*.md": [
107
- "yarn format:md",
108
- "git add"
109
- ],
110
- "*.{js,jsx,ts,tsx}": [
111
- "eslint --fix",
112
- "git add"
113
- ],
114
- "package.json": "sort-package-json --check package.json */**/package.json "
115
- },
116
105
  "resolutions": {
117
106
  "@apollo/client": "^3.9.0",
118
107
  "@types/react": "^18.0.25",
119
108
  "@types/react-dom": "^18.0.8",
120
- "chokidar": "^3.5.3",
121
109
  "html-to-text": "^8.0.0",
122
- "react": "18.2.0",
123
- "react-dom": "18.2.0",
124
- "react-native": "0.71.14",
125
- "react-native-gesture-handler": "~2.9.0"
110
+ "react": "18.3.0-canary-c3048aab4-20240326",
111
+ "react-dom": "18.3.0-canary-c3048aab4-20240326",
112
+ "react-native": "0.72.10",
113
+ "react-native-gesture-handler": "~2.12.0"
126
114
  },
127
115
  "dependencies": {
128
116
  "dataloader": "^2.1.0",
129
117
  "framer-motion": "^6.2.6",
130
- "graphql": "^15.0.0",
118
+ "graphql": "^16.0.0",
131
119
  "graphql-tag": "^2.12.6"
132
120
  },
133
121
  "devDependencies": {
@@ -324,10 +312,10 @@
324
312
  "shelljs": "^0.8.5",
325
313
  "simple-git": "^3.14.1",
326
314
  "sinon": "^14.0.2",
315
+ "sort-package-json": "^2.10.0",
327
316
  "source-list-map": "^2.0.1",
328
317
  "source-map-loader": "^4.0.1",
329
318
  "source-map-support": "^0.5.21",
330
- "sort-package-json": "^2.10.0",
331
319
  "standard-version": "^9.5.0",
332
320
  "stream-browserify": "^3.0.0",
333
321
  "style-loader": "^3.3.1",
@@ -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
 
@@ -3,6 +3,9 @@ const fs = require('fs');
3
3
 
4
4
  // Function to update the configuration file
5
5
  function updateConfiguration(filePath, newVersion) {
6
+ // Convert the version from vMajor.Minor to vMajor-Minor for URL
7
+ const versionForUrl = newVersion.replace('.', '-');
8
+
6
9
  // Read the configuration file
7
10
  fs.readFile(filePath, 'utf8', (err, data) => {
8
11
  if (err) {
@@ -10,24 +13,20 @@ function updateConfiguration(filePath, newVersion) {
10
13
  return;
11
14
  }
12
15
 
13
- // Replace VERSION and CONNECTION_ID with newVersion
16
+ // Replace only the specific VERSION and CONNECTION_ID fields, preserving leading whitespace
14
17
  let updatedData = data
15
- .replace(/VERSION: v\d+(\.\d+)?/g, `VERSION: ${newVersion}`)
16
- .replace(/CONNECTION_ID: v\d+(\.\d+)?/g, `CONNECTION_ID: ${newVersion}`);
18
+ .replace(/^(\s*)VERSION:\s*v\d+(\.\d+)?/gm, `$1VERSION: ${newVersion}`)
19
+ .replace(/^(\s*)CONNECTION_ID:\s*v\d+(\.\d+)?/gm, `$1CONNECTION_ID: ${newVersion}`);
17
20
 
18
- // Update CLIENT_URL
21
+ // Update CLIENT_URL, preserving leading whitespace, and replacing the version with the hyphenated version
19
22
  updatedData = updatedData.replace(
20
- /CLIENT_URL: "https:\/\/[\w-]+-v\d+(\.\d+)?\.[\w-]+(\.\w+)?\/?"/g,
21
- (match) => {
22
- const domainParts = match.match(/https:\/\/[\w-]+-v\d+(\.\d+)?(\.[\w-]+)+/g);
23
- if (domainParts && domainParts.length > 0) {
24
- const domain = domainParts[0];
25
- const newDomain = domain.replace(/-v\d+(\.\d+)?/, `-${newVersion}`);
26
- return match.replace(domain, newDomain);
27
- }
28
- return match;
23
+ /^(\s*)CLIENT_URL:\s*"https:\/\/([\w-]+)-v\d+(-\d+)?(\.[\w-]+(\.\w+)?)\/?"/gm,
24
+ (match, p1, p2, p3, p4) => {
25
+ const newDomain = `${p2}-${versionForUrl}${p4}`;
26
+ return `${p1}CLIENT_URL: "https://${newDomain}"`;
29
27
  },
30
28
  );
29
+
31
30
  // Write the updated configuration back to the file
32
31
  fs.writeFile(filePath, updatedData, 'utf8', (err) => {
33
32
  if (err) {
@@ -35,7 +34,7 @@ function updateConfiguration(filePath, newVersion) {
35
34
  return;
36
35
  }
37
36
  console.log(`Configuration file updated successfully.`);
38
- console.log(`Manually update CLIENT_URL in values-dev.yaml and values-prod.yaml`)
37
+ console.log(`Manually update CLIENT_URL in values-dev.yaml and values-prod.yaml`);
39
38
  });
40
39
  });
41
40
  }
@@ -45,7 +44,7 @@ const filePath = process.argv[2];
45
44
  const versionArg = process.argv[3];
46
45
 
47
46
  if (!filePath || !versionArg || !versionArg.match(/^v\d+(\.\d+)?$/)) {
48
- console.error('Usage: node updateConfiguration.js v[Major].[Minor]');
47
+ console.error('Usage: node updateConfiguration.js <path-to-config> v[Major].[Minor]');
49
48
  process.exit(1);
50
49
  }
51
50
 
@@ -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
+ };