@equinor/echo-cli 4.0.2 → 5.0.0-beta-r19

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 (101) hide show
  1. package/README.md +415 -413
  2. package/lib/config/common/echoModuleConfig.d.ts +0 -2
  3. package/lib/config/common/echoModuleConfig.js +1 -33
  4. package/lib/config/common/echoModuleConfig.js.map +1 -1
  5. package/lib/const/common.d.ts +0 -1
  6. package/lib/const/common.js +0 -1
  7. package/lib/const/common.js.map +1 -1
  8. package/lib/echo-dev-host/README.md +121 -121
  9. package/lib/echo-dev-host/babel.config.js +10 -10
  10. package/lib/echo-dev-host/echo-dev-host-build/d2d97a9feca22f12a8c8c7413d7867ac.jpg +0 -0
  11. package/lib/echo-dev-host/echo-dev-host-build/env-config.js +1 -0
  12. package/lib/echo-dev-host/echo-dev-host-build/index.css +60 -0
  13. package/lib/echo-dev-host/echo-dev-host-build/index.html +21 -0
  14. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js +3 -0
  15. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js.LICENSE.txt +97 -0
  16. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js.map +1 -0
  17. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-8e2452.echo.bundle.js +3 -0
  18. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-8e2452.echo.bundle.js.LICENSE.txt +2892 -0
  19. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-8e2452.echo.bundle.js.map +1 -0
  20. package/lib/echo-dev-host/jest.config.js +21 -21
  21. package/lib/echo-dev-host/package-lock.json +14548 -14542
  22. package/lib/echo-dev-host/package.json +17 -17
  23. package/lib/echo-dev-host/public/env-config.js +17 -17
  24. package/lib/echo-dev-host/public/index.html +21 -21
  25. package/lib/echo-dev-host/src/index.tsx +1 -1
  26. package/lib/echo-dev-host/tsconfig.json +21 -21
  27. package/lib/echo-dev-host/webpack.config.js +145 -145
  28. package/lib/sync-echo-dev-versions.d.ts +6 -0
  29. package/lib/sync-echo-dev-versions.js +43 -0
  30. package/lib/sync-echo-dev-versions.js.map +1 -0
  31. package/lib/tools/buildScripts/buildAndCopyDevHost.test.d.ts +1 -0
  32. package/lib/tools/buildScripts/buildAndCopyDevHost.test.js +500 -0
  33. package/lib/tools/buildScripts/buildAndCopyDevHost.test.js.map +1 -0
  34. package/lib/utils/merge.test.d.ts +1 -0
  35. package/lib/utils/merge.test.js +29 -0
  36. package/lib/utils/merge.test.js.map +1 -0
  37. package/package.json +111 -116
  38. package/lib/config/common/echoModuleId.d.ts +0 -5
  39. package/lib/config/common/echoModuleId.js +0 -15
  40. package/lib/config/common/echoModuleId.js.map +0 -1
  41. package/lib/config/common/updateEnv.d.ts +0 -6
  42. package/lib/config/common/updateEnv.js +0 -16
  43. package/lib/config/common/updateEnv.js.map +0 -1
  44. package/lib/echo-create.d.ts +0 -16
  45. package/lib/echo-create.js +0 -35
  46. package/lib/echo-create.js.map +0 -1
  47. package/lib/tools/create/copyFile.d.ts +0 -2
  48. package/lib/tools/create/copyFile.js +0 -16
  49. package/lib/tools/create/copyFile.js.map +0 -1
  50. package/lib/tools/create/createProject.d.ts +0 -2
  51. package/lib/tools/create/createProject.js +0 -83
  52. package/lib/tools/create/createProject.js.map +0 -1
  53. package/lib/tools/create/createSetTargetDirectory.d.ts +0 -1
  54. package/lib/tools/create/createSetTargetDirectory.js +0 -12
  55. package/lib/tools/create/createSetTargetDirectory.js.map +0 -1
  56. package/lib/tools/create/getAppTemplateName.d.ts +0 -1
  57. package/lib/tools/create/getAppTemplateName.js +0 -22
  58. package/lib/tools/create/getAppTemplateName.js.map +0 -1
  59. package/lib/tools/create/gitInit.d.ts +0 -1
  60. package/lib/tools/create/gitInit.js +0 -19
  61. package/lib/tools/create/gitInit.js.map +0 -1
  62. package/lib/tools/create/promptOptions.d.ts +0 -2
  63. package/lib/tools/create/promptOptions.js +0 -88
  64. package/lib/tools/create/promptOptions.js.map +0 -1
  65. package/lib/tools/create/updatePackageConfig.d.ts +0 -2
  66. package/lib/tools/create/updatePackageConfig.js +0 -28
  67. package/lib/tools/create/updatePackageConfig.js.map +0 -1
  68. package/lib/tools/create/updateReadme.d.ts +0 -2
  69. package/lib/tools/create/updateReadme.js +0 -23
  70. package/lib/tools/create/updateReadme.js.map +0 -1
  71. package/lib/types/createTypes.d.ts +0 -23
  72. package/lib/types/createTypes.js +0 -2
  73. package/lib/types/createTypes.js.map +0 -1
  74. package/templates/echoAppTemplate/.env +0 -0
  75. package/templates/echoAppTemplate/.gitattributes +0 -3
  76. package/templates/echoAppTemplate/env.sh +0 -54
  77. package/templates/echoAppTemplate/package.json +0 -36
  78. package/templates/echoAppTemplate/readme.md +0 -41
  79. package/templates/echoAppTemplate/src/app.module.css +0 -5
  80. package/templates/echoAppTemplate/src/app.tsx +0 -30
  81. package/templates/echoAppTemplate/src/index.ts +0 -6
  82. package/templates/echoAppTemplate/tsconfig.json +0 -25
  83. package/templates/echoAppTemplateTutorial/.env +0 -0
  84. package/templates/echoAppTemplateTutorial/.gitattributes +0 -3
  85. package/templates/echoAppTemplateTutorial/env.sh +0 -54
  86. package/templates/echoAppTemplateTutorial/package.json +0 -37
  87. package/templates/echoAppTemplateTutorial/readme.md +0 -41
  88. package/templates/echoAppTemplateTutorial/src/app.module.css +0 -5
  89. package/templates/echoAppTemplateTutorial/src/app.tsx +0 -30
  90. package/templates/echoAppTemplateTutorial/src/index.ts +0 -6
  91. package/templates/echoAppTemplateTutorial/tsconfig.json +0 -25
  92. package/templates/echoLibraryTemplate/package.json +0 -36
  93. package/templates/echoLibraryTemplate/public/ee.png +0 -0
  94. package/templates/echoLibraryTemplate/public/index.html +0 -21
  95. package/templates/echoLibraryTemplate/public/style.css +0 -43
  96. package/templates/echoLibraryTemplate/readme.md +0 -1
  97. package/templates/echoPluginTemplate/package.json +0 -36
  98. package/templates/echoPluginTemplate/public/ee.png +0 -0
  99. package/templates/echoPluginTemplate/public/index.html +0 -21
  100. package/templates/echoPluginTemplate/public/style.css +0 -43
  101. package/templates/echoPluginTemplate/readme.md +0 -1
package/package.json CHANGED
@@ -1,116 +1,111 @@
1
- {
2
- "name": "@equinor/echo-cli",
3
- "version": "4.0.2",
4
- "description": "Command line interface for Echo Apps",
5
- "main": "dist/index.js",
6
- "source": "src/test.js",
7
- "typings": "dist/index.d.ts",
8
- "type": "module",
9
- "repository": {
10
- "url": "git+https://github.com/equinor/EchoCli.git"
11
- },
12
- "scripts": {
13
- "echo-publish": "npm publish --access public",
14
- "echo-publish-beta": "npm publish --access public --tag beta",
15
- "echo-publish-next": "npm publish --access public --tag next",
16
- "echo-test": "npm ci & jest --watchAll",
17
- "echo-update": "echo-update",
18
- "echo-update-version": "echo-update -v",
19
- "echo-update-next": "echo-update -c",
20
- "echo-update-all": "echo-update -a",
21
- "test": "tsc && tsc --project tsconfig.test.json && jest",
22
- "build": "tsc && node copy-dev-host.cjs",
23
- "lint": "eslint --color",
24
- "check-deps": "node check-dev-host-deps.cjs",
25
- "build:release-tools": "tsc --project src/tools/releaseWorkflow/tsconfig.json",
26
- "align-deps": "node lib/tools/releaseWorkflow/align-echo-dev-host-deps.js",
27
- "verify-libs": "node lib/tools/releaseWorkflow/verify-echo-libs-published.js",
28
- "bump-version": "node lib/tools/releaseWorkflow/bump-version.js",
29
- "cli-publish": "npm run build",
30
- "postcli-publish": "npm run echo-publish"
31
- },
32
- "keywords": [],
33
- "author": "Echo Core",
34
- "license": "MIT",
35
- "module": "node",
36
- "bin": {
37
- "echo-create": "./lib/echo-create.js",
38
- "echo-build": "./lib/echo-build.js",
39
- "echo-manifest": "./lib/echo-manifest.js",
40
- "build-echo-dev-host": "./lib/echo-build-dev-host.js",
41
- "update-echo-libs": "./lib/update-echo-libs.js",
42
- "sync-dev-host-to-app": "./lib/sync-dev-host-to-app.js"
43
- },
44
- "files": [
45
- "lib",
46
- "templates"
47
- ],
48
- "dependencies": {
49
- "@babel/core": "7.28.6",
50
- "@babel/preset-env": "7.28.6",
51
- "@babel/preset-react": "7.28.5",
52
- "@babel/preset-typescript": "7.28.5",
53
- "@equinor/echo-scripts": "0.1.5",
54
- "@oclif/core": "4.8.0",
55
- "@oclif/plugin-plugins": "5.4.55",
56
- "@svgr/webpack": "8.1.0",
57
- "assert": "2.1.0",
58
- "autoprefixer": "10.4.23",
59
- "babel-loader": "10.0.0",
60
- "babel-polyfill": "6.26.0",
61
- "chalk": "5.6.2",
62
- "css-loader": "7.1.2",
63
- "dotenv-webpack": "8.1.1",
64
- "execa": "9.6.1",
65
- "express": "5.2.1",
66
- "figlet": "1.9.4",
67
- "file-loader": "6.2.0",
68
- "fs-extra": "11.3.3",
69
- "html-webpack-plugin": "5.6.6",
70
- "inquirer": "13.2.0",
71
- "listr2": "10.0.0",
72
- "ncp": "2.0.0",
73
- "ora": "9.0.0",
74
- "package-directory": "8.1.0",
75
- "pem": "1.14.8",
76
- "postcss": "8.5.6",
77
- "react": "18.3.1",
78
- "replace-in-file-webpack-plugin": "1.0.6",
79
- "strip-ansi": "7.1.2",
80
- "style-loader": "4.0.0",
81
- "terser-webpack-plugin": "5.3.16",
82
- "ts-loader": "9.5.4",
83
- "typescript": "5.9.3",
84
- "url-loader": "4.1.1",
85
- "webpack": "5.104.1",
86
- "webpack-bundle-analyzer": "5.1.1",
87
- "webpack-dev-middleware": "7.4.2",
88
- "webpack-dev-server": "5.2.3",
89
- "webpack-hot-middleware": "2.26.1",
90
- "webpack-merge": "6.0.1",
91
- "webpackbar": "7.0.0"
92
- },
93
- "devDependencies": {
94
- "@microsoft/microsoft-graph-types": "2.43.1",
95
- "@types/express": "5.0.6",
96
- "@types/jest": "30.0.0",
97
- "@types/listr": "0.14.10",
98
- "@types/node": "25.0.9",
99
- "@types/pem": "1.14.4",
100
- "@types/react": "18.3.18",
101
- "@types/webpack-bundle-analyzer": "4.7.0",
102
- "@types/webpack-dev-middleware": "5.3.0",
103
- "@types/webpack-dev-server": "4.7.2",
104
- "@types/webpack-hot-middleware": "2.25.12",
105
- "@typescript-eslint/eslint-plugin": "8.53.0",
106
- "@typescript-eslint/parser": "8.53.0",
107
- "babel-jest": "30.2.0",
108
- "eslint": "9.39.2",
109
- "eslint-config-prettier": "10.1.8",
110
- "eslint-plugin-prettier": "5.5.5",
111
- "eslint-plugin-react": "7.37.5",
112
- "eslint-plugin-react-hooks": "7.0.1",
113
- "jest": "30.2.0",
114
- "prettier": "3.8.0"
115
- }
116
- }
1
+ {
2
+ "name": "@equinor/echo-cli",
3
+ "version": "5.0.0-beta-r19",
4
+ "description": "Command line interface for Echo Apps",
5
+ "main": "dist/index.js",
6
+ "source": "src/test.js",
7
+ "typings": "dist/index.d.ts",
8
+ "type": "module",
9
+ "repository": {
10
+ "url": "git+https://github.com/equinor/EchoCli.git"
11
+ },
12
+ "scripts": {
13
+ "echo-publish": "npm publish --access public",
14
+ "echo-publish-beta": "npm publish --access public --tag beta",
15
+ "echo-publish-next": "npm publish --access public --tag next",
16
+ "echo-test": "npm ci & jest --watchAll",
17
+ "echo-update": "echo-update",
18
+ "echo-update-version": "echo-update -v",
19
+ "echo-update-next": "echo-update -c",
20
+ "echo-update-all": "echo-update -a",
21
+ "test": "tsc && tsc --project tsconfig.test.json && jest",
22
+ "build": "tsc && node copy-dev-host.cjs",
23
+ "lint": "eslint --color",
24
+ "check-deps": "node check-dev-host-deps.cjs",
25
+ "build:release-tools": "tsc --project src/tools/releaseWorkflow/tsconfig.json",
26
+ "align-deps": "node lib/tools/releaseWorkflow/align-echo-dev-host-deps.js",
27
+ "verify-libs": "node lib/tools/releaseWorkflow/verify-echo-libs-published.js",
28
+ "bump-version": "node lib/tools/releaseWorkflow/bump-version.js",
29
+ "cli-publish": "npm run build",
30
+ "postcli-publish": "npm run echo-publish"
31
+ },
32
+ "keywords": [],
33
+ "author": "Echo Core",
34
+ "license": "MIT",
35
+ "module": "node",
36
+ "bin": {
37
+ "echo-build": "./lib/echo-build.js",
38
+ "echo-manifest": "./lib/echo-manifest.js",
39
+ "build-echo-dev-host": "./lib/echo-build-dev-host.js",
40
+ "update-echo-libs": "./lib/update-echo-libs.js",
41
+ "sync-dev-host-to-app": "./lib/sync-dev-host-to-app.js"
42
+ },
43
+ "files": [
44
+ "lib"
45
+ ],
46
+ "dependencies": {
47
+ "@babel/core": "7.28.6",
48
+ "@babel/preset-env": "7.28.6",
49
+ "@babel/preset-react": "7.28.5",
50
+ "@babel/preset-typescript": "7.28.5",
51
+ "@equinor/echo-scripts": "0.1.5",
52
+ "@oclif/core": "4.8.0",
53
+ "@oclif/plugin-plugins": "5.4.55",
54
+ "@svgr/webpack": "8.1.0",
55
+ "assert": "2.1.0",
56
+ "autoprefixer": "10.4.23",
57
+ "babel-loader": "10.0.0",
58
+ "babel-polyfill": "6.26.0",
59
+ "chalk": "5.6.2",
60
+ "css-loader": "7.1.2",
61
+ "dotenv-webpack": "8.1.1",
62
+ "express": "5.2.1",
63
+ "figlet": "1.9.4",
64
+ "file-loader": "6.2.0",
65
+ "fs-extra": "11.3.3",
66
+ "html-webpack-plugin": "5.6.6",
67
+ "listr2": "10.0.0",
68
+ "ora": "9.0.0",
69
+ "package-directory": "8.1.0",
70
+ "pem": "1.14.8",
71
+ "postcss": "8.5.6",
72
+ "react": "19.2.4",
73
+ "replace-in-file-webpack-plugin": "1.0.6",
74
+ "strip-ansi": "7.1.2",
75
+ "style-loader": "4.0.0",
76
+ "terser-webpack-plugin": "5.3.16",
77
+ "ts-loader": "9.5.4",
78
+ "typescript": "5.9.3",
79
+ "url-loader": "4.1.1",
80
+ "webpack": "5.104.1",
81
+ "webpack-bundle-analyzer": "5.1.1",
82
+ "webpack-dev-middleware": "7.4.2",
83
+ "webpack-dev-server": "5.2.3",
84
+ "webpack-hot-middleware": "2.26.1",
85
+ "webpack-merge": "6.0.1",
86
+ "webpackbar": "7.0.0"
87
+ },
88
+ "devDependencies": {
89
+ "@microsoft/microsoft-graph-types": "2.43.1",
90
+ "@types/express": "5.0.6",
91
+ "@types/jest": "30.0.0",
92
+ "@types/listr": "0.14.10",
93
+ "@types/node": "25.0.9",
94
+ "@types/pem": "1.14.4",
95
+ "@types/react": "19.2.14",
96
+ "@types/webpack-bundle-analyzer": "4.7.0",
97
+ "@types/webpack-dev-middleware": "5.3.0",
98
+ "@types/webpack-dev-server": "4.7.2",
99
+ "@types/webpack-hot-middleware": "2.25.12",
100
+ "@typescript-eslint/eslint-plugin": "8.53.0",
101
+ "@typescript-eslint/parser": "8.53.0",
102
+ "babel-jest": "30.2.0",
103
+ "eslint": "9.39.2",
104
+ "eslint-config-prettier": "10.1.8",
105
+ "eslint-plugin-prettier": "5.5.5",
106
+ "eslint-plugin-react": "7.37.5",
107
+ "eslint-plugin-react-hooks": "7.0.1",
108
+ "jest": "30.2.0",
109
+ "prettier": "3.8.0"
110
+ }
111
+ }
@@ -1,5 +0,0 @@
1
- import { TemplateDir } from '../../types/createTypes.js';
2
- export interface EchoModuleId {
3
- moduleId: string;
4
- }
5
- export declare function createEchoModuleId(options: TemplateDir): Promise<void>;
@@ -1,15 +0,0 @@
1
- import * as fs from 'fs';
2
- import { ECHO_MODULE_ID_PATH } from '../../const/common.js';
3
- export async function createEchoModuleId(options) {
4
- const filePath = `${options.targetDirectory}${ECHO_MODULE_ID_PATH}`;
5
- try {
6
- const newModuleConfig = {
7
- moduleId: '<<------Insert moduleId here ------>>'
8
- };
9
- fs.writeFileSync(filePath, JSON.stringify(newModuleConfig, null, 4));
10
- }
11
- catch (error) {
12
- console.error(error);
13
- }
14
- }
15
- //# sourceMappingURL=echoModuleId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"echoModuleId.js","sourceRoot":"","sources":["../../../src/config/common/echoModuleId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAO5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAoB;IACzD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAEpE,IAAI,CAAC;QACD,MAAM,eAAe,GAAiB;YAClC,QAAQ,EAAE,uCAAuC;SACpD,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC"}
@@ -1,6 +0,0 @@
1
- import { TemplateDir } from '../../types/createTypes.js';
2
- export interface EchoModuleId {
3
- moduleId: string;
4
- }
5
- export declare function createEchoModuleId(options: TemplateDir): Promise<void>;
6
- export declare function updateEnvFile(): Promise<void>;
@@ -1,16 +0,0 @@
1
- import * as fs from 'fs';
2
- import { ECHO_MODULE_ID_PATH } from '../../const/common.js';
3
- export async function createEchoModuleId(options) {
4
- const filePath = `${options.targetDirectory}${ECHO_MODULE_ID_PATH}`;
5
- try {
6
- const newModuleConfig = {
7
- moduleId: '<<------Insert moduleId here ------>>'
8
- };
9
- fs.writeFileSync(filePath, JSON.stringify(newModuleConfig, null, 4));
10
- }
11
- catch (error) {
12
- console.error(error);
13
- }
14
- }
15
- export async function updateEnvFile() { }
16
- //# sourceMappingURL=updateEnv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateEnv.js","sourceRoot":"","sources":["../../../src/config/common/updateEnv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAO5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAoB;IACzD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAEpE,IAAI,CAAC;QACD,MAAM,eAAe,GAAiB;YAClC,QAAQ,EAAE,uCAAuC;SACpD,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,KAAI,CAAC"}
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Command } from '@oclif/core';
3
- export default class CreateApp extends Command {
4
- static description: string;
5
- static flags: {
6
- description: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
- git: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
- help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
9
- install: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
- key: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
- name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
- shortName: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
- templateName: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
- };
15
- run(): Promise<void>;
16
- }
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Command, Flags } from '@oclif/core';
3
- import { createProject } from './tools/create/createProject.js';
4
- import { promptForMissingOptions } from './tools/create/promptOptions.js';
5
- import { echoCliLogo } from './utils/logo.js';
6
- export default class CreateApp extends Command {
7
- static description = 'Creates a new Echo app';
8
- static flags = {
9
- description: Flags.string({ char: 'd', description: 'App description' }),
10
- git: Flags.boolean({ char: 'g', description: 'Initialize git repository' }),
11
- help: Flags.help({ char: 'h' }),
12
- install: Flags.boolean({
13
- char: 'i',
14
- description: 'Install dev dependencies'
15
- }),
16
- key: Flags.string({ char: 'k', description: 'Key for app/tile' }),
17
- name: Flags.string({
18
- char: 'n',
19
- description: 'Name for app/tile(use quotes for spaces)'
20
- }),
21
- shortName: Flags.string({ char: 'N', description: 'App short name' }),
22
- templateName: Flags.string({
23
- char: 't',
24
- description: 'App template to use'
25
- })
26
- };
27
- async run() {
28
- const parsed = await this.parse(CreateApp);
29
- echoCliLogo();
30
- const options = await promptForMissingOptions(parsed.flags);
31
- await createProject(options);
32
- }
33
- }
34
- CreateApp.run();
35
- //# sourceMappingURL=echo-create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"echo-create.js","sourceRoot":"","sources":["../src/echo-create.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IACnC,MAAM,CAAC,WAAW,GAAG,wBAAwB,CAAC;IAE9C,MAAM,CAAC,KAAK,GAAG;QAClB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACxE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QAC3E,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;SAC1C,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QACjE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;SAC1D,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;QACrE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;SACrC,CAAC;KACL,CAAC;IAEK,KAAK,CAAC,GAAG;QACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;;AAGL,SAAS,CAAC,GAAG,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- import { TemplateDir } from '../../types/createTypes.js';
2
- export declare function copyTemplateFiles(options: TemplateDir): Promise<boolean>;
@@ -1,16 +0,0 @@
1
- import * as fs from 'fs';
2
- import ncp from 'ncp';
3
- import path from 'path';
4
- import { promisify } from 'util';
5
- const copy = promisify(ncp);
6
- export async function copyTemplateFiles(options) {
7
- const success = await copy(options.templateDirectory, options.targetDirectory, {
8
- clobber: false
9
- });
10
- const indexTsPath = path.join(options.targetDirectory || '', 'src', 'index.ts');
11
- const indexJsContent = fs.readFileSync(indexTsPath).toString();
12
- const indexJsContentReplaced = indexJsContent.replace('{appKey}', options.key || 'app-key');
13
- fs.writeFileSync(indexTsPath, indexJsContentReplaced);
14
- return success;
15
- }
16
- //# sourceMappingURL=copyFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copyFile.js","sourceRoot":"","sources":["../../../src/tools/create/copyFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAoB;IACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,EAAE;QAC3E,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;IAE5F,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,2 +0,0 @@
1
- import { TemplateDir } from '../../types/createTypes.js';
2
- export declare function createProject(options: TemplateDir): Promise<boolean>;
@@ -1,83 +0,0 @@
1
- import chalk from 'chalk';
2
- import fs from 'fs';
3
- import { Listr } from 'listr2';
4
- import path from 'path';
5
- import { fileURLToPath } from 'url';
6
- import { promisify } from 'util';
7
- import { createEchoModuleConfig } from '../../config/common/echoModuleConfig.js';
8
- import { createEchoModuleId } from '../../config/common/echoModuleId.js';
9
- import { copyTemplateFiles } from './copyFile.js';
10
- import { createAndSetTargetDir } from './createSetTargetDirectory.js';
11
- import { getAppTemplateName } from './getAppTemplateName.js';
12
- import { initGit } from './gitInit.js';
13
- import { updatePackageConfig } from './updatePackageConfig.js';
14
- import { updateReadme } from './updateReadme.js';
15
- const access = promisify(fs.access);
16
- const __filename = fileURLToPath(import.meta.url);
17
- export async function createProject(options) {
18
- options = {
19
- ...options,
20
- targetDirectory: options.targetDirectory || (await createAndSetTargetDir(options.key || ''))
21
- };
22
- try {
23
- options.templateDirectory = await getTemplateDir(options);
24
- }
25
- catch (error) {
26
- throw error;
27
- }
28
- const tasks = new Listr([
29
- {
30
- task: () => copyTemplateFiles(options),
31
- title: 'Copy project files'
32
- },
33
- {
34
- enabled: () => (options.git ? true : false),
35
- task: () => initGit(options.targetDirectory || ''),
36
- title: 'Initialize git'
37
- },
38
- {
39
- task: async () => {
40
- await updatePackageConfig(options);
41
- },
42
- title: 'Update package config'
43
- },
44
- {
45
- task: async () => {
46
- await createEchoModuleConfig(options);
47
- },
48
- title: 'Create echo config'
49
- },
50
- {
51
- task: async () => {
52
- await createEchoModuleId(options);
53
- },
54
- title: 'Create echo Id File'
55
- },
56
- {
57
- task: () => updateReadme(options),
58
- title: 'Update Readme'
59
- }
60
- ]);
61
- console.log(`Creating ${chalk.cyan(getAppTemplateName(options.templateName))} named ${chalk.green.bold(options.name)}`, chalk.green.bold('START'));
62
- await tasks.run();
63
- console.log('%s App ready', chalk.green.bold('DONE'));
64
- return true;
65
- }
66
- async function getTemplateDir(options) {
67
- const templateDir = path.resolve(__filename, `../../../../templates/${getAppTemplateName(options.templateName)}`);
68
- console.log(templateDir);
69
- try {
70
- await access(templateDir, fs.constants.R_OK);
71
- }
72
- catch (err) {
73
- if (err instanceof Error) {
74
- console.error('%s Invalid template name', chalk.red.bold('ERROR'));
75
- process.exit(1);
76
- }
77
- else {
78
- throw err;
79
- }
80
- }
81
- return templateDir;
82
- }
83
- //# sourceMappingURL=createProject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../src/tools/create/createProject.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function createAndSetTargetDir(key: string): Promise<string>;
@@ -1,12 +0,0 @@
1
- import chalk from 'chalk';
2
- import * as fs from 'fs';
3
- export async function createAndSetTargetDir(key) {
4
- const newDir = './' + key;
5
- if (!fs.existsSync(newDir)) {
6
- fs.mkdirSync(newDir);
7
- return process.cwd() + '/' + key;
8
- }
9
- console.error('%s Target directory already exists, select a different app key', chalk.red.bold('ERROR'));
10
- process.exit(1);
11
- }
12
- //# sourceMappingURL=createSetTargetDirectory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSetTargetDirectory.js","sourceRoot":"","sources":["../../../src/tools/create/createSetTargetDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -1 +0,0 @@
1
- export declare function getAppTemplateName(templateName: string): string;
@@ -1,22 +0,0 @@
1
- export function getAppTemplateName(templateName) {
2
- let template = '';
3
- switch (templateName) {
4
- case 'app':
5
- template = 'echoAppTemplate';
6
- break;
7
- case 'appTutorial':
8
- template = 'echoAppTemplateTutorial';
9
- break;
10
- case 'plugin':
11
- template = 'echoPluginTemplate';
12
- break;
13
- case 'library':
14
- template = 'echoLibraryTemplate';
15
- break;
16
- default:
17
- template = 'echoAppTemplate';
18
- break;
19
- }
20
- return template;
21
- }
22
- //# sourceMappingURL=getAppTemplateName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAppTemplateName.js","sourceRoot":"","sources":["../../../src/tools/create/getAppTemplateName.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACnD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,QAAQ,YAAY,EAAE,CAAC;QACnB,KAAK,KAAK;YACN,QAAQ,GAAG,iBAAiB,CAAC;YAC7B,MAAM;QACV,KAAK,aAAa;YACd,QAAQ,GAAG,yBAAyB,CAAC;YACrC,MAAM;QACV,KAAK,QAAQ;YACT,QAAQ,GAAG,oBAAoB,CAAC;YAChC,MAAM;QACV,KAAK,SAAS;YACV,QAAQ,GAAG,qBAAqB,CAAC;YACjC,MAAM;QACV;YACI,QAAQ,GAAG,iBAAiB,CAAC;YAC7B,MAAM;IACd,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -1 +0,0 @@
1
- export declare function initGit(targetDirectory: string): Promise<unknown>;
@@ -1,19 +0,0 @@
1
- import { execa } from 'execa';
2
- import * as fs from 'fs';
3
- import path from 'path';
4
- export async function initGit(targetDirectory) {
5
- const init = await execa('git', ['init'], {
6
- cwd: targetDirectory
7
- });
8
- if (init.failed) {
9
- return Promise.reject(new Error('Failed to initialize git'));
10
- }
11
- const gitIgnorePath = path.join(targetDirectory || '', '/.gitignore');
12
- fs.writeFile(gitIgnorePath, 'node_modules\r\n./dist', (err) => {
13
- if (err) {
14
- return Promise.reject(new Error('Failed to create .gitignore file'));
15
- }
16
- });
17
- return;
18
- }
19
- //# sourceMappingURL=gitInit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gitInit.js","sourceRoot":"","sources":["../../../src/tools/create/gitInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,eAAuB;IACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;QACtC,GAAG,EAAE,eAAe;KACvB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;IACtE,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,wBAAwB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC1D,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACzE,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO;AACX,CAAC"}
@@ -1,2 +0,0 @@
1
- import { TemplateDir } from '../../types/createTypes.js';
2
- export declare function promptForMissingOptions(options: Partial<TemplateDir>): Promise<TemplateDir>;