@common-stack/generate-plugin 5.0.4-alpha.10 → 5.0.4-alpha.12

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 (89) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +42 -0
  3. package/generators.json +5 -0
  4. package/lib/generators/add-backend/files/CHANGELOG.md +196 -0
  5. package/lib/generators/add-backend/files/Dockerfile +30 -0
  6. package/lib/generators/add-backend/files/LICENSE +661 -0
  7. package/lib/generators/add-backend/files/README.md +133 -0
  8. package/lib/generators/add-backend/files/__tests__/test.ts.template +95 -0
  9. package/lib/generators/add-backend/files/babel.config.js +45 -0
  10. package/lib/generators/add-backend/files/build.config.js +14 -0
  11. package/lib/generators/add-backend/files/build.config.mjs +27 -0
  12. package/lib/generators/add-backend/files/generated-schema.graphql +235 -0
  13. package/lib/generators/add-backend/files/jest.config.js +27 -0
  14. package/lib/generators/add-backend/files/knexfile.js +63 -0
  15. package/lib/generators/add-backend/files/package.json +162 -0
  16. package/lib/generators/add-backend/files/src/api/remote-config.ts.template +11 -0
  17. package/lib/generators/add-backend/files/src/api/resolver.ts.template +15 -0
  18. package/lib/generators/add-backend/files/src/api/root-schema.graphqls +96 -0
  19. package/lib/generators/add-backend/files/src/api/scalar.ts.template +16 -0
  20. package/lib/generators/add-backend/files/src/api/schema-builder.ts.template +189 -0
  21. package/lib/generators/add-backend/files/src/api/utils.ts.template +44 -0
  22. package/lib/generators/add-backend/files/src/config/env-config.ts.template +34 -0
  23. package/lib/generators/add-backend/files/src/config/index.ts.template +1 -0
  24. package/lib/generators/add-backend/files/src/config/moleculer.config.ts.template +228 -0
  25. package/lib/generators/add-backend/files/src/connectors/connection-broker.ts.template +80 -0
  26. package/lib/generators/add-backend/files/src/connectors/graphql-pubsub-connector.ts.template +43 -0
  27. package/lib/generators/add-backend/files/src/connectors/mongo-connector.ts.template +78 -0
  28. package/lib/generators/add-backend/files/src/connectors/nats-connector.ts.template +82 -0
  29. package/lib/generators/add-backend/files/src/connectors/redis-connector.ts.template +73 -0
  30. package/lib/generators/add-backend/files/src/env.ts.template +5 -0
  31. package/lib/generators/add-backend/files/src/express-app.ts.template +67 -0
  32. package/lib/generators/add-backend/files/src/index.ts.template +56 -0
  33. package/lib/generators/add-backend/files/src/interfaces/index.ts.template +1 -0
  34. package/lib/generators/add-backend/files/src/interfaces/module-interface.ts.template +16 -0
  35. package/lib/generators/add-backend/files/src/main.spec.ts.template +129 -0
  36. package/lib/generators/add-backend/files/src/middleware/__tests__/cors.test.ts.template +12 -0
  37. package/lib/generators/add-backend/files/src/middleware/cors.ts.template +31 -0
  38. package/lib/generators/add-backend/files/src/middleware/error.ts.template +63 -0
  39. package/lib/generators/add-backend/files/src/middleware/moleculer-inter-namespace.ts.template +60 -0
  40. package/lib/generators/add-backend/files/src/middleware/persistedQuery.ts.template +40 -0
  41. package/lib/generators/add-backend/files/src/middleware/sentry.ts.template +9 -0
  42. package/lib/generators/add-backend/files/src/middleware/services.ts.template +16 -0
  43. package/lib/generators/add-backend/files/src/middleware/tracer.ts.template +24 -0
  44. package/lib/generators/add-backend/files/src/modules/auth/schema/auth-schema.graphql +25 -0
  45. package/lib/generators/add-backend/files/src/modules/index.ts.template +17 -0
  46. package/lib/generators/add-backend/files/src/modules/module.ts.template +78 -0
  47. package/lib/generators/add-backend/files/src/server-setup/graphql-server.ts.template +185 -0
  48. package/lib/generators/add-backend/files/src/server-setup/graphql-subscription-server.ts.template +113 -0
  49. package/lib/generators/add-backend/files/src/server-setup/graphql-ws.ts.template +158 -0
  50. package/lib/generators/add-backend/files/src/server-setup/mongodb-migration-update.ts.template +47 -0
  51. package/lib/generators/add-backend/files/src/server-setup/utils.ts.template +43 -0
  52. package/lib/generators/add-backend/files/src/server-setup/websocket-multipath-update.ts.template +88 -0
  53. package/lib/generators/add-backend/files/src/service.ts.template +36 -0
  54. package/lib/generators/add-backend/files/src/stack-server.ts.template +277 -0
  55. package/lib/generators/add-backend/files/src/utils/migrations.ts.template +32 -0
  56. package/lib/generators/add-backend/files/tsconfig.base.json +30 -0
  57. package/lib/generators/add-backend/files/tsconfig.json +19 -0
  58. package/lib/generators/add-backend/files/uploads/3986781.ppt +0 -0
  59. package/lib/generators/add-backend/files/webpack.config.js +186 -0
  60. package/lib/generators/add-backend/files/webpack.config.mjs +209 -0
  61. package/lib/generators/add-backend/generator.cjs +20 -0
  62. package/lib/generators/add-backend/generator.cjs.map +1 -0
  63. package/lib/generators/add-backend/generator.d.ts +4 -0
  64. package/lib/generators/add-backend/generator.mjs +20 -0
  65. package/lib/generators/add-backend/generator.mjs.map +1 -0
  66. package/lib/generators/add-backend/generator.spec.d.ts +1 -0
  67. package/lib/generators/add-backend/schema.json +17 -0
  68. package/lib/generators/add-frontend/generator.cjs +3 -12
  69. package/lib/generators/add-frontend/generator.cjs.map +1 -1
  70. package/lib/generators/add-frontend/generator.mjs +2 -11
  71. package/lib/generators/add-frontend/generator.mjs.map +1 -1
  72. package/lib/generators/add-frontend/templates/package.json +181 -182
  73. package/lib/index.cjs +1 -1
  74. package/lib/index.d.ts +1 -0
  75. package/lib/index.mjs +1 -1
  76. package/lib/utils/index.cjs +8 -0
  77. package/lib/utils/index.cjs.map +1 -0
  78. package/lib/utils/index.d.ts +1 -0
  79. package/lib/utils/index.mjs +8 -0
  80. package/lib/utils/index.mjs.map +1 -0
  81. package/package.json +2 -2
  82. package/rollup.config.mjs +6 -4
  83. package/src/generators/add-backend/generator.spec.ts +20 -0
  84. package/src/generators/add-backend/generator.ts +30 -0
  85. package/src/generators/add-backend/schema.d.ts +4 -0
  86. package/src/generators/add-backend/schema.json +17 -0
  87. package/src/generators/add-frontend/generator.ts +2 -12
  88. package/src/index.ts +1 -1
  89. package/src/utils/index.ts +10 -0
@@ -1,183 +1,182 @@
1
1
  {
2
- "name": "adminide-stack-frontend-server",
3
- "version": "3.1.1-alpha.6",
4
- "private": true,
5
- "description": "Sample Client server",
6
- "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
7
- "bugs": {
8
- "url": "https://github.com/cdmbase/fullstack-pro/issues"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/cdmbase/fullstack-pro.git"
13
- },
14
- "license": "MIT",
15
- "author": "CDMBase LLC",
16
- "type": "module",
17
- "main": "index.js",
18
- "scripts": {
19
- "prebuild": "yarn build:clean && yarn genconfig",
20
- "build": "cross-env SSR=true NODE_OPTIONS='--max_old_space_size=6096' NODE_ENV=production remix vite:build",
21
- "build:SSR": "cross-env SSR=true NODE_ENV=production remix vite:build",
22
- "build:clean": "rimraf dist build node_modules/.vite",
23
- "build:debug": "cross-env DEBUGGING=true NODE_ENV=production remix vite:build",
24
- "build:debug:verbose": "yarn build:debug -- -v",
25
- "build:dev": "cross-env ENV_FILE=../../config/development/dev.env yarn build",
26
- "build:devSSR": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env NODE_OPTIONS='--max_old_space_size=6096' remix vite:build",
27
- "build:stats": "cross-env BUNDLE_STATS=true yarn build:debug",
28
- "dev:vite:ssr": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
29
- "docker:build": "cross-env yarn build && docker build . -t $npm_package_name:$npm_package_version",
30
- "docker:build:debug": "yarn build:debug && docker build . -t $npm_package_name:$npm_package_version",
31
- "docker:run": "docker run --env-file ../../config/staging/docker-staging.env -p 3000:3000 -it $npm_package_name:$npm_package_version",
32
- "genconfig": "node ./tools/mergeConfig.js",
33
- "jest": "./node_modules/.bin/jest",
34
- "preview": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
35
- "routes": "npx @remix-run/dev routes --json",
36
- "prestart": "yarn genconfig",
37
- "start": "cross-env NODE_ENV=production node ./server.js",
38
- "start:SSR": "yarn build:SSR && yarn start",
39
- "start:dev": "cross-env NODE_ENV=production ENV_FILE=../../config/development/dev.env node ./server.js",
40
- "start:devSSR": "yarn build:devSSR && yarn start:dev",
41
- "start:staging": "cross-env NODE_ENV=production ENV_FILE=../../config/staging/staging.env node ./server.js",
42
- "start:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env node ./server.js",
43
- "start:vite:ssr": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn build && yarn preview",
44
- "test": "jest",
45
- "test:debug": "npm test -- --runInBand",
46
- "test:watch": "npm test -- --watch",
47
- "prewatch": "yarn genconfig",
48
- "watch": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
49
- "watch:debug": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
50
- "watch:ssr": "cross-env SSR=true yarn watch",
51
- "watch:staging": "cross-env ENV_FILE=../../config/staging/staging.env node ./server.js",
52
- "watch:test": "cross-env ENV_FILE=../../config/test/test.env node ./server.js"
53
- },
54
- "dependencies": {
55
- "@admin-layout/ant-design-pro": "7.3.8-alpha.21",
56
- "@admin-layout/ant-ui": "7.3.8-alpha.13",
57
- "@admin-layout/assets": "7.3.8-alpha.0",
58
- "@admin-layout/icons": "7.3.8-alpha.0",
59
- "@adminide-stack/account-api-browser": "7.3.8-alpha.0",
60
- "@adminide-stack/billing-api-browser": "^8.0.1-alpha.0",
61
- "@adminide-stack/core": "^8.0.1-alpha.0",
62
- "@adminide-stack/extension-api": "^8.0.1-alpha.0",
63
- "@adminide-stack/extension-module-browser": "^8.0.1-alpha.0",
64
- "@adminide-stack/git-api-browser": "^8.0.1-alpha.0",
65
- "@adminide-stack/integration-api-client": "^8.0.1-alpha.0",
66
- "@adminide-stack/marketplace-module-browser": "^8.0.1-alpha.0",
67
- "@adminide-stack/platform-browser": "^8.0.1-alpha.0",
68
- "@adminide-stack/project-mgmt-browser": "^8.0.1-alpha.0",
69
- "@adminide-stack/react-shared-components": "^8.0.1-alpha.0",
70
- "@adminide-stack/registry-api-browser": "^8.0.1-alpha.0",
71
- "@adminide-stack/user-auth0-browser": "^8.0.1-alpha.0",
72
- "@adminide-stack/user-auth0-server": "^8.0.1-alpha.0",
73
- "@ant-design/pro-layout": "^7.6.1",
74
- "@ant-design/static-style-extract": "^1.0.2",
75
- "@apollo/client": "^3.9.0",
76
- "@cdm-logger/client": "^9.0.3",
77
- "@cdm-logger/server": "^9.0.3",
78
- "@cdmbase/redux-data-router": "^1.0.10",
79
- "@common-stack/client-core": "5.0.4-alpha.6",
80
- "@common-stack/client-react": "5.0.4-alpha.6",
81
- "@common-stack/components-pro": "5.0.4-alpha.5",
82
- "@common-stack/core": "5.0.4-alpha.5",
83
- "@common-stack/remix-router-redux": "5.0.4-alpha.5",
84
- "@common-stack/server-core": "5.0.4-alpha.6",
85
- "@container-stack/ssh-keygen-server-module": "0.0.36-alpha.23",
86
- "@container-stack/territory": "5.1.2",
87
- "@emotion/css": "^11.10.0",
88
- "@emotion/react": "^11.10.4",
89
- "@emotion/server": "^11.10.0",
90
- "@emotion/styled": "^11.10.4",
91
- "@files-stack/core": "3.0.2",
92
- "@loadable/component": "^5.15.2",
93
- "@loadable/server": "^5.15.2",
94
- "@react-icons/all-files": "^4.1.0",
95
- "@reduxjs/toolkit": "^2.2.1",
96
- "@remix-run/express": "^2.8.1",
97
- "@remix-run/node": "^2.8.1",
98
- "@remix-run/react": "^2.8.1",
99
- "@sentry/browser": "~5.11.2",
100
- "antd": "^5.14.0",
101
- "apollo-link-debounce": "^3.0.0",
102
- "apollo-link-logger": "^2.0.0",
103
- "apollo-server-errors": "^3.3.1",
104
- "classnames": "^2.2.6",
105
- "compression": "^1.7.4",
106
- "cookie-parser": "^1.4.6",
107
- "cors": "^2.8.5",
108
- "cross-fetch": "^4.0.0",
109
- "dotenv": "^8.2.0",
110
- "envalid": "~7.2.2",
111
- "error-stack-parser": "^2.0.4",
112
- "express": "^4.18.2",
113
- "glob-all": "^3.3.1",
114
- "graphql": "^15.0.0",
115
- "graphql-tag": "^2.11.0",
116
- "graphql-ws": "^5.11.2",
117
- "history": "^5.0.0",
118
- "i18next": "^23.10.1",
119
- "immutability-helper": "^3.0.1",
120
- "inversify": "^6.0.2",
121
- "ioredis": "^5.4.1",
122
- "is-plain-obj": "^3.0.0",
123
- "isbot": "^4.1.0",
124
- "isomorphic-fetch": "^2.2.1",
125
- "js-cookie": "^2.2.1",
126
- "lodash": "^4.17.15",
127
- "lodash-es": "^4.17.21",
128
- "minimatch": "^5.0.0",
129
- "moment": "2.29.1",
130
- "prettysize": "^0.1.0",
131
- "prop-types": "^15.8.1",
132
- "ramda": "^0.29.1",
133
- "react": "18.2.0",
134
- "react-cookie": "^4.0.1",
135
- "react-device-detect": "^2.2.2",
136
- "react-dom": "18.2.0",
137
- "react-ga4": "^2.1.0",
138
- "react-helmet": "^6.1.0",
139
- "react-helmet-async": "^1.3.0",
140
- "react-i18next": "^14.1.0",
141
- "react-icons": "~4.3.1",
142
- "react-icons-converter": "^1.1.4",
143
- "react-redux": "^9.1.1",
144
- "react-transition-group": "^4.3.0",
145
- "react-use": "^17.2.4",
146
- "redux-logger": "^3.0.6",
147
- "redux-observable": "^1.2.0",
148
- "redux-persist": "^6.0.0",
149
- "redux-persist-transform-filter": "^0.0.20",
150
- "reflect-metadata": "^0.1.13",
151
- "remix-i18next": "^6.1.0",
152
- "reselect": "^4.0.0",
153
- "rxjs": "^6.5.3",
154
- "rxjs-compat": "^6.5.3",
155
- "rxjs-hooks": "^0.5.2",
156
- "serialize-javascript": "^6.0.0",
157
- "ts-deepmerge": "^7.0.0",
158
- "ts-invariant": "^0.10.3",
159
- "universal-cookie-express": "^4.0.1",
160
- "vite-env-only": "^2.2.1"
161
- },
162
- "devDependencies": {
163
- "@cdmbase/vite-plugin-i18next-loader": "^2.0.12",
164
- "@common-stack/frontend-stack-react": "5.0.4-alpha.6",
165
- "@common-stack/rollup-vite-utils": "5.0.4-alpha.6",
166
- "@remix-run/dev": "^2.8.1",
167
- "@remix-run/serve": "^2.8.1",
168
- "cross-env": "^7.0.3",
169
- "dotenv-esm": "^16.0.3-4",
170
- "pm2": "^5.2.2",
171
- "raf": "3.4.1",
172
- "rimraf": "^3.0.2",
173
- "tsx": "^4.7.0",
174
- "typescript": "^5.4.5",
175
- "uuid": "^9.0.1",
176
- "vite": "^5.1.0",
177
- "vite-plugin-cjs-interop": "^2.1.1",
178
- "vite-tsconfig-paths": "^4.2.1"
179
- },
180
- "peerDependencies": {
181
- "body-parser": "*"
182
- }
183
- }
2
+ "name": "adminide-stack-frontend-server",
3
+ "version": "3.1.1-alpha.6",
4
+ "private": true,
5
+ "description": "Sample Client server",
6
+ "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
7
+ "bugs": {
8
+ "url": "https://github.com/cdmbase/fullstack-pro/issues"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/cdmbase/fullstack-pro.git"
13
+ },
14
+ "license": "MIT",
15
+ "author": "CDMBase LLC",
16
+ "type": "module",
17
+ "main": "index.js",
18
+ "scripts": {
19
+ "prebuild": "yarn build:clean && yarn genconfig",
20
+ "build": "cross-env SSR=true NODE_OPTIONS='--max_old_space_size=6096' NODE_ENV=production remix vite:build",
21
+ "build:SSR": "cross-env SSR=true NODE_ENV=production remix vite:build",
22
+ "build:clean": "rimraf dist build node_modules/.vite",
23
+ "build:debug": "cross-env DEBUGGING=true NODE_ENV=production remix vite:build",
24
+ "build:debug:verbose": "yarn build:debug -- -v",
25
+ "build:dev": "cross-env ENV_FILE=../../config/development/dev.env yarn build",
26
+ "build:devSSR": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env NODE_OPTIONS='--max_old_space_size=6096' remix vite:build",
27
+ "build:stats": "cross-env BUNDLE_STATS=true yarn build:debug",
28
+ "dev:vite:ssr": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
29
+ "docker:build": "cross-env yarn build && docker build . -t $npm_package_name:$npm_package_version",
30
+ "docker:build:debug": "yarn build:debug && docker build . -t $npm_package_name:$npm_package_version",
31
+ "docker:run": "docker run --env-file ../../config/staging/docker-staging.env -p 3000:3000 -it $npm_package_name:$npm_package_version",
32
+ "genconfig": "node ./tools/mergeConfig.js",
33
+ "jest": "./node_modules/.bin/jest",
34
+ "preview": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
35
+ "routes": "npx @remix-run/dev routes --json",
36
+ "prestart": "yarn genconfig",
37
+ "start": "cross-env NODE_ENV=production node ./server.js",
38
+ "start:SSR": "yarn build:SSR && yarn start",
39
+ "start:dev": "cross-env NODE_ENV=production ENV_FILE=../../config/development/dev.env node ./server.js",
40
+ "start:devSSR": "yarn build:devSSR && yarn start:dev",
41
+ "start:staging": "cross-env NODE_ENV=production ENV_FILE=../../config/staging/staging.env node ./server.js",
42
+ "start:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env node ./server.js",
43
+ "start:vite:ssr": "cross-env SSR=true NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn build && yarn preview",
44
+ "test": "jest",
45
+ "test:debug": "npm test -- --runInBand",
46
+ "test:watch": "npm test -- --watch",
47
+ "prewatch": "yarn genconfig",
48
+ "watch": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
49
+ "watch:debug": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env node ./server.js",
50
+ "watch:ssr": "cross-env SSR=true yarn watch",
51
+ "watch:staging": "cross-env ENV_FILE=../../config/staging/staging.env node ./server.js",
52
+ "watch:test": "cross-env ENV_FILE=../../config/test/test.env node ./server.js"
53
+ },
54
+ "dependencies": {
55
+ "@admin-layout/ant-design-pro": "7.3.8-alpha.29",
56
+ "@admin-layout/ant-ui": "7.3.8-alpha.28",
57
+ "@admin-layout/assets": "7.3.8-alpha.0",
58
+ "@admin-layout/icons": "7.3.8-alpha.0",
59
+ "@adminide-stack/account-api-browser": "7.3.8-alpha.0",
60
+ "@adminide-stack/billing-api-browser": "7.2.6-alpha.13",
61
+ "@adminide-stack/core": "7.2.6-alpha.13",
62
+ "@adminide-stack/extension-api": "7.2.6-alpha.13",
63
+ "@adminide-stack/extension-module-browser": "7.2.6-alpha.13",
64
+ "@adminide-stack/git-api-browser": "7.2.6-alpha.13",
65
+ "@adminide-stack/integration-api-client": "7.2.6-alpha.13",
66
+ "@adminide-stack/marketplace-module-browser": "7.2.6-alpha.13",
67
+ "@adminide-stack/platform-browser": "7.2.6-alpha.13",
68
+ "@adminide-stack/project-mgmt-browser": "7.2.6-alpha.13",
69
+ "@adminide-stack/react-shared-components": "7.2.6-alpha.13",
70
+ "@adminide-stack/registry-api-browser": "7.2.6-alpha.13",
71
+ "@adminide-stack/user-auth0-browser": "7.2.6-alpha.13",
72
+ "@adminide-stack/user-auth0-server": "7.2.6-alpha.13",
73
+ "@ant-design/pro-layout": "^7.6.1",
74
+ "@ant-design/static-style-extract": "^1.0.2",
75
+ "@apollo/client": "^3.9.0",
76
+ "@cdm-logger/client": "^9.0.3",
77
+ "@cdm-logger/server": "^9.0.3",
78
+ "@cdmbase/redux-data-router": "^1.0.10",
79
+ "@common-stack/client-core": "5.0.4-alpha.11",
80
+ "@common-stack/client-react": "5.0.4-alpha.11",
81
+ "@common-stack/components-pro": "5.0.4-alpha.5",
82
+ "@common-stack/core": "5.0.4-alpha.5",
83
+ "@common-stack/remix-router-redux": "5.0.4-alpha.5",
84
+ "@common-stack/server-core": "5.0.4-alpha.11",
85
+ "@container-stack/ssh-keygen-server-module": "0.0.36-alpha.23",
86
+ "@container-stack/territory": "5.1.2",
87
+ "@emotion/css": "^11.10.0",
88
+ "@emotion/react": "^11.10.4",
89
+ "@emotion/server": "^11.10.0",
90
+ "@emotion/styled": "^11.10.4",
91
+ "@files-stack/core": "3.0.2",
92
+ "@loadable/component": "^5.15.2",
93
+ "@loadable/server": "^5.15.2",
94
+ "@react-icons/all-files": "^4.1.0",
95
+ "@reduxjs/toolkit": "^2.2.1",
96
+ "@remix-run/express": "^2.8.1",
97
+ "@remix-run/node": "^2.8.1",
98
+ "@remix-run/react": "^2.8.1",
99
+ "@sentry/browser": "~5.11.2",
100
+ "antd": "^5.14.0",
101
+ "apollo-link-debounce": "^3.0.0",
102
+ "apollo-link-logger": "^2.0.0",
103
+ "apollo-server-errors": "^3.3.1",
104
+ "classnames": "^2.2.6",
105
+ "compression": "^1.7.4",
106
+ "cookie-parser": "^1.4.6",
107
+ "cors": "^2.8.5",
108
+ "cross-fetch": "^4.0.0",
109
+ "dotenv": "^8.2.0",
110
+ "envalid": "~7.2.2",
111
+ "error-stack-parser": "^2.0.4",
112
+ "express": "^4.18.2",
113
+ "glob-all": "^3.3.1",
114
+ "graphql": "^15.0.0",
115
+ "graphql-tag": "^2.11.0",
116
+ "graphql-ws": "^5.11.2",
117
+ "history": "^5.0.0",
118
+ "i18next": "^23.10.1",
119
+ "immutability-helper": "^3.0.1",
120
+ "inversify": "^6.0.2",
121
+ "ioredis": "^5.4.1",
122
+ "is-plain-obj": "^3.0.0",
123
+ "isbot": "^4.1.0",
124
+ "isomorphic-fetch": "^2.2.1",
125
+ "js-cookie": "^2.2.1",
126
+ "lodash": "^4.17.15",
127
+ "lodash-es": "^4.17.21",
128
+ "minimatch": "^5.0.0",
129
+ "moment": "2.29.1",
130
+ "prettysize": "^0.1.0",
131
+ "prop-types": "^15.8.1",
132
+ "ramda": "^0.29.1",
133
+ "react": "18.2.0",
134
+ "react-cookie": "^4.0.1",
135
+ "react-device-detect": "^2.2.2",
136
+ "react-dom": "18.2.0",
137
+ "react-ga4": "^2.1.0",
138
+ "react-helmet": "^6.1.0",
139
+ "react-helmet-async": "^1.3.0",
140
+ "react-i18next": "^14.1.0",
141
+ "react-icons": "~4.3.1",
142
+ "react-icons-converter": "^1.1.4",
143
+ "react-redux": "^9.1.1",
144
+ "react-transition-group": "^4.3.0",
145
+ "react-use": "^17.2.4",
146
+ "redux-logger": "^3.0.6",
147
+ "redux-observable": "^1.2.0",
148
+ "redux-persist": "^6.0.0",
149
+ "redux-persist-transform-filter": "^0.0.20",
150
+ "reflect-metadata": "^0.1.13",
151
+ "reselect": "^4.0.0",
152
+ "rxjs": "^6.5.3",
153
+ "rxjs-compat": "^6.5.3",
154
+ "rxjs-hooks": "^0.5.2",
155
+ "serialize-javascript": "^6.0.0",
156
+ "ts-deepmerge": "^7.0.0",
157
+ "ts-invariant": "^0.10.3",
158
+ "universal-cookie-express": "^4.0.1",
159
+ "vite-env-only": "^2.2.1"
160
+ },
161
+ "devDependencies": {
162
+ "@cdmbase/vite-plugin-i18next-loader": "^2.0.12",
163
+ "@common-stack/frontend-stack-react": "5.0.4-alpha.11",
164
+ "@common-stack/rollup-vite-utils": "5.0.4-alpha.11",
165
+ "@remix-run/dev": "^2.8.1",
166
+ "@remix-run/serve": "^2.8.1",
167
+ "cross-env": "^7.0.3",
168
+ "dotenv-esm": "^16.0.3-4",
169
+ "pm2": "^5.2.2",
170
+ "raf": "3.4.1",
171
+ "rimraf": "^3.0.2",
172
+ "tsx": "^4.7.0",
173
+ "typescript": "^5.4.5",
174
+ "uuid": "^9.0.1",
175
+ "vite": "^5.1.0",
176
+ "vite-plugin-cjs-interop": "^2.1.1",
177
+ "vite-tsconfig-paths": "^4.2.1"
178
+ },
179
+ "peerDependencies": {
180
+ "body-parser": "*"
181
+ }
182
+ }
package/lib/index.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var generator=require('./generators/add-frontend/generator.cjs');exports.addFrontendGenerator=generator.addFrontendGenerator;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var generator=require('./generators/add-frontend/generator.cjs'),generator$1=require('./generators/add-backend/generator.cjs');exports.addFrontendGenerator=generator.addFrontendGenerator;exports.addBackendGenerator=generator$1.addBackendGenerator;//# sourceMappingURL=index.cjs.map
package/lib/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './generators/add-frontend/generator';
2
+ export * from './generators/add-backend/generator';
package/lib/index.mjs CHANGED
@@ -1 +1 @@
1
- export{addFrontendGenerator}from'./generators/add-frontend/generator.mjs';//# sourceMappingURL=index.mjs.map
1
+ export{addFrontendGenerator}from'./generators/add-frontend/generator.mjs';export{addBackendGenerator}from'./generators/add-backend/generator.mjs';//# sourceMappingURL=index.mjs.map
@@ -0,0 +1,8 @@
1
+ 'use strict';var fs=require('node:fs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var fs__namespace=/*#__PURE__*/_interopNamespaceDefault(fs);const resetProject = (rootDir) => {
2
+ if (fs__namespace.existsSync(`${rootDir}/project.json`)) {
3
+ fs__namespace.unlinkSync(`${rootDir}/project.json`);
4
+ }
5
+ if (fs__namespace.existsSync(`${rootDir}/src`)) {
6
+ fs__namespace.rmSync(`${rootDir}/src`, { recursive: true, force: true });
7
+ }
8
+ };exports.resetProject=resetProject;//# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/utils/index.ts"],"sourcesContent":[null],"names":["fs"],"mappings":"iYAEa,MAAA,YAAY,GAAG,CAAC,OAAe,KAAI;IAC5C,IAAIA,aAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA,aAAA,CAAe,CAAC,EAAE;AAC1C,QAAAA,aAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA,aAAA,CAAe,CAAC,CAAC;KAC5C;IACD,IAAIA,aAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA,IAAA,CAAM,CAAC,EAAE;AACjC,QAAAA,aAAE,CAAC,MAAM,CAAC,CAAG,EAAA,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACjE;AACL"}
@@ -0,0 +1 @@
1
+ export declare const resetProject: (rootDir: string) => void;
@@ -0,0 +1,8 @@
1
+ import*as fs from'node:fs';const resetProject = (rootDir) => {
2
+ if (fs.existsSync(`${rootDir}/project.json`)) {
3
+ fs.unlinkSync(`${rootDir}/project.json`);
4
+ }
5
+ if (fs.existsSync(`${rootDir}/src`)) {
6
+ fs.rmSync(`${rootDir}/src`, { recursive: true, force: true });
7
+ }
8
+ };export{resetProject};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/utils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"2BAEa,MAAA,YAAY,GAAG,CAAC,OAAe,KAAI;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA,aAAA,CAAe,CAAC,EAAE;AAC1C,QAAA,EAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA,aAAA,CAAe,CAAC,CAAC;KAC5C;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA,IAAA,CAAM,CAAC,EAAE;AACjC,QAAA,EAAE,CAAC,MAAM,CAAC,CAAG,EAAA,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACjE;AACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/generate-plugin",
3
- "version": "5.0.4-alpha.10",
3
+ "version": "5.0.4-alpha.12",
4
4
  "type": "module",
5
5
  "main": "./lib/index.mjs",
6
6
  "typings": "./lib/index.d.ts",
@@ -24,5 +24,5 @@
24
24
  "tslib": "^2.3.0"
25
25
  },
26
26
  "generators": "./generators.json",
27
- "gitHead": "b9e9ec4d0ecf72672e00d54166abc9200bd525b9"
27
+ "gitHead": "4ade5f5666f3a6559c88fb5755e514c1545d2fcd"
28
28
  }
package/rollup.config.mjs CHANGED
@@ -8,25 +8,27 @@ import copy from 'rollup-plugin-copy';
8
8
  const baseConfig = {
9
9
  plugins: [
10
10
  image({
11
- exclude: 'src/generators/add-frontend',
11
+ exclude: ['src/generators/add-frontend', 'src/generators/add-backend'],
12
12
  }),
13
13
  graphql({
14
14
  include: '**/*.gql',
15
- exclude: 'src/generators/add-frontend',
15
+ exclude: ['src/generators/add-frontend', 'src/generators/add-backend'],
16
16
  }),
17
17
  string({
18
18
  include: '**/*.graphql',
19
- exclude: 'src/generators/add-frontend',
19
+ exclude: ['src/generators/add-frontend', 'src/generators/add-backend'],
20
20
  }),
21
21
  typescript({
22
22
  noEmitOnError: true,
23
- exclude: 'src/generators/add-frontend',
23
+ exclude: ['src/generators/add-frontend', 'src/generators/add-backend'],
24
24
  }),
25
25
  copy({
26
26
  targets: [
27
27
  { src: 'src/generators/add-frontend/schema.json', dest: 'lib/generators/add-frontend' },
28
28
  { src: 'src/generators/add-frontend/templates/*', dest: 'lib/generators/add-frontend/templates' },
29
29
  { src: 'src/generators/add-frontend/frameworks/*', dest: 'lib/generators/add-frontend/frameworks' },
30
+ { src: 'src/generators/add-backend/schema.json', dest: 'lib/generators/add-backend' },
31
+ { src: 'src/generators/add-backend/files/*', dest: 'lib/generators/add-backend/files' },
30
32
  ],
31
33
  verbose: true,
32
34
  }),
@@ -0,0 +1,20 @@
1
+ import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';
2
+ import { Tree, readProjectConfiguration } from '@nx/devkit';
3
+
4
+ import { addBackendGenerator } from './generator';
5
+ import { AddBackendGeneratorSchema } from './schema';
6
+
7
+ describe('add-backend generator', () => {
8
+ let tree: Tree;
9
+ const options: AddBackendGeneratorSchema = { ns: 'test' };
10
+
11
+ beforeEach(() => {
12
+ tree = createTreeWithEmptyWorkspace();
13
+ });
14
+
15
+ it('should run successfully', async () => {
16
+ await addBackendGenerator(tree, options);
17
+ const config = readProjectConfiguration(tree, 'test');
18
+ expect(config).toBeDefined();
19
+ });
20
+ });
@@ -0,0 +1,30 @@
1
+ import { addProjectConfiguration, formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
2
+ import * as path from 'path';
3
+ import { AddBackendGeneratorSchema } from './schema';
4
+ import { resetProject } from '../../utils';
5
+
6
+ export async function addBackendGenerator(tree: Tree, options: AddBackendGeneratorSchema) {
7
+ const basePath = process.cwd();
8
+ const projectName = options.ns ? `backend-${options.ns}-server` : 'backend-server';
9
+ const projectRoot = options.path ? `${options.path}${projectName}` : projectName;
10
+ const projectSrc = `${projectRoot}/src`;
11
+
12
+ resetProject(`${basePath}/${projectRoot}`);
13
+
14
+ // addProjectConfiguration(tree, framework, {
15
+ // root: projectRoot,
16
+ // projectType: 'library',
17
+ // sourceRoot: projectSrc,
18
+ // targets: {},
19
+ // });
20
+
21
+ generateFiles(tree, path.join(__dirname, 'files'), projectRoot, {});
22
+ updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
23
+ packageJson['name'] = projectName;
24
+ return packageJson;
25
+ });
26
+
27
+ await formatFiles(tree);
28
+ }
29
+
30
+ export default addBackendGenerator;
@@ -0,0 +1,4 @@
1
+ export interface AddBackendGeneratorSchema {
2
+ ns: string;
3
+ path?: string;
4
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "AddBackend",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "ns": {
8
+ "type": "string",
9
+ "description": "The project namespace"
10
+ },
11
+ "path": {
12
+ "type": "string",
13
+ "description": "The project path ex: \"servers/\", default: \"/\""
14
+ }
15
+ },
16
+ "required": ["ns"]
17
+ }
@@ -1,25 +1,15 @@
1
1
  import { addProjectConfiguration, formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
2
2
  import * as path from 'path';
3
3
  import { AddFrontendGeneratorSchema } from './schema';
4
- import * as fs from 'node:fs';
4
+ import { resetProject } from '../../utils';
5
5
 
6
6
  const DEFAULT_FRAMEWORK = 'antui';
7
7
 
8
- const resetProject = (rootDir: string) => {
9
- if (fs.existsSync(`${rootDir}/project.json`)) {
10
- fs.unlinkSync(`${rootDir}/project.json`);
11
- }
12
- if (fs.existsSync(`${rootDir}/src`)) {
13
- fs.rmSync(`${rootDir}/src`, { recursive: true, force: true });
14
- }
15
- }
16
-
17
8
  export async function addFrontendGenerator(tree: Tree, options: AddFrontendGeneratorSchema) {
18
9
  const basePath = process.cwd();
19
- const projectName = `frontend-${options.ns}-server`;
10
+ const projectName = options.ns ? `frontend-${options.ns}-server` : 'frontend-server';
20
11
  const projectRoot = options.path ? `${options.path}${projectName}` : projectName;
21
12
  const projectSrc = `${projectRoot}/src`;
22
- // const sourcePath = path.join(__dirname, 'entries');
23
13
 
24
14
  const framework = options.framework || DEFAULT_FRAMEWORK;
25
15
  console.log('UI framework specified: ', framework);
package/src/index.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './generators/add-frontend/generator';
2
- // export const schema = import('./generators/add-frontend/schema.json');
2
+ export * from './generators/add-backend/generator';
@@ -0,0 +1,10 @@
1
+ import * as fs from 'node:fs';
2
+
3
+ export const resetProject = (rootDir: string) => {
4
+ if (fs.existsSync(`${rootDir}/project.json`)) {
5
+ fs.unlinkSync(`${rootDir}/project.json`);
6
+ }
7
+ if (fs.existsSync(`${rootDir}/src`)) {
8
+ fs.rmSync(`${rootDir}/src`, { recursive: true, force: true });
9
+ }
10
+ }