@corva/create-app 0.0.0-ce43383 → 0.0.0-e3730ad
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/common/python/Makefile +8 -5
- package/common/python/pyproject.toml +25 -0
- package/common/python/uv.lock +381 -0
- package/lib/commands/create.js +5 -5
- package/lib/constants/cli.js +6 -8
- package/lib/constants/manifest.js +3 -3
- package/lib/constants/package.js +44 -10
- package/lib/flows/lib/api.js +23 -8
- package/lib/flows/lib/manifest.js +1 -1
- package/lib/flows/steps/zip-file-list-resolve.js +8 -2
- package/lib/helpers/cli-version.js +14 -1
- package/lib/helpers/resolve-app-runtime.js +28 -13
- package/lib/helpers/utils.js +6 -2
- package/lib/main.js +2 -6
- package/package.json +1 -107
- package/templates/ui/javascript/.codex/config.toml +3 -0
- package/templates/ui/javascript/.cursor/mcp.json +8 -0
- package/templates/ui/javascript/.mcp.json +8 -0
- package/templates/ui/javascript/AGENTS.md +304 -0
- package/templates/ui/javascript/CLAUDE.md +1 -0
- package/templates/ui/javascript/src/App.completion.js +6 -17
- package/templates/ui/javascript/src/App.drilling.js +7 -11
- package/templates/ui/javascript/src/AppSettings.js +6 -20
- package/templates/ui/javascript/src/__tests__/App.test.js +4 -24
- package/templates/ui/javascript/src/__tests__/AppSettings.test.js +12 -5
- package/templates/ui/javascript/src/__tests__/TestsExample.test.js +2 -2
- package/templates/ui/javascript/src/index.js +1 -0
- package/templates/ui/typescript/.codex/config.toml +3 -0
- package/templates/ui/typescript/.cursor/mcp.json +8 -0
- package/templates/ui/typescript/.mcp.json +8 -0
- package/templates/ui/typescript/AGENTS.md +344 -0
- package/templates/ui/typescript/CLAUDE.md +1 -0
- package/templates/ui/typescript/src/App.completion.tsx +6 -10
- package/templates/ui/typescript/src/App.drilling.tsx +7 -9
- package/templates/ui/typescript/src/AppSettings.tsx +4 -4
- package/templates/ui/typescript/src/__mocks__/mockData.ts +15 -187
- package/templates/ui/typescript/src/__tests__/App.test.tsx +5 -73
- package/templates/ui/typescript/src/__tests__/AppSettings.test.tsx +9 -13
- package/templates/ui/typescript/src/__tests__/TestsExample.test.tsx +2 -2
- package/templates/ui/typescript/src/custom.d.ts +10 -0
- package/templates/ui/typescript/src/index.js +1 -0
- package/templates/ui/typescript/src/types.ts +0 -615
- package/common/python/requirements.txt +0 -2
- package/templates/ui/javascript/src/__mocks__/mockAppProps.js +0 -590
- package/templates/ui/javascript/src/__mocks__/mockAppSettingsProps.js +0 -290
- /package/templates/ui/javascript/src/{App.css → App.scss} +0 -0
- /package/templates/ui/typescript/src/{App.css → App.scss} +0 -0
package/lib/constants/package.js
CHANGED
|
@@ -22,17 +22,17 @@ const uiDependencies = {
|
|
|
22
22
|
|
|
23
23
|
const jsUiDevDependencies = {
|
|
24
24
|
'@corva/dc-platform-shared': 'latest',
|
|
25
|
-
'@corva/eslint-config-browser': '
|
|
25
|
+
'@corva/eslint-config-browser': '0.2.2',
|
|
26
26
|
'@testing-library/jest-dom': '^5.14.1',
|
|
27
27
|
'@testing-library/react': '^12.1.5',
|
|
28
28
|
'@testing-library/react-hooks': '^8.0.1',
|
|
29
29
|
'@testing-library/user-event': '^13.2.1',
|
|
30
|
-
'jest-watch-typeahead': '^1.0.0',
|
|
31
|
-
'jest': '^27.4.3',
|
|
32
30
|
'babel-jest': '^27.4.2',
|
|
33
31
|
'babel-preset-react-app': '^10.0.1',
|
|
34
32
|
'eslint': '7.32.0',
|
|
35
|
-
'
|
|
33
|
+
'identity-obj-proxy': '^3.0.0',
|
|
34
|
+
'jest': '^27.4.3',
|
|
35
|
+
'jest-watch-typeahead': '^1.0.0',
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
const tsUiDevDependencies = {
|
|
@@ -124,12 +124,12 @@ const uiPackage = {
|
|
|
124
124
|
},
|
|
125
125
|
transformIgnorePatterns: [
|
|
126
126
|
'/node_modules/(?!.*@babel/runtime|@icon-park/react/es).+\\.(js|jsx|mjs|cjs|ts|tsx)$',
|
|
127
|
-
'^.+\\.
|
|
127
|
+
'^.+\\.(css|sass|scss)$',
|
|
128
128
|
],
|
|
129
129
|
modulePaths: [],
|
|
130
130
|
moduleNameMapper: {
|
|
131
131
|
'~(.*)': '<rootDir>/src/$1',
|
|
132
|
-
'^.+\\.
|
|
132
|
+
'^.+\\.(css|sass|scss)$': 'identity-obj-proxy',
|
|
133
133
|
'@corva/ui(.*)': '@corva/ui/cjs-bundle/$1',
|
|
134
134
|
},
|
|
135
135
|
watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'],
|
|
@@ -162,16 +162,19 @@ const nodeNpmScripts = {
|
|
|
162
162
|
};
|
|
163
163
|
|
|
164
164
|
const nodeDependencies = {
|
|
165
|
-
'@corva/node-sdk': '^8.
|
|
165
|
+
'@corva/node-sdk': '^8.5.0',
|
|
166
166
|
};
|
|
167
167
|
|
|
168
168
|
const nodeDevDependencies = {
|
|
169
|
-
'@corva/eslint-config-node': '^
|
|
169
|
+
'@corva/eslint-config-node': '^6.0.0',
|
|
170
|
+
'@typescript-eslint/eslint-plugin': '^8.58.1',
|
|
171
|
+
'@typescript-eslint/parser': '^8.58.1',
|
|
170
172
|
'jest': '^29.7.0',
|
|
171
173
|
'dotenv': '^16.0.3',
|
|
172
174
|
'eslint': '^8.2.0',
|
|
175
|
+
'eslint-plugin-jest': '^27.1.5',
|
|
173
176
|
'prettier': '^2.0.0',
|
|
174
|
-
'typescript': '^5.
|
|
177
|
+
'typescript': '^5.9.3',
|
|
175
178
|
};
|
|
176
179
|
|
|
177
180
|
const nodeTsDevDependencies = {
|
|
@@ -216,6 +219,36 @@ const nodeNpmPackage = {
|
|
|
216
219
|
eslintConfig: {
|
|
217
220
|
root: true,
|
|
218
221
|
extends: '@corva/eslint-config-node',
|
|
222
|
+
overrides: [
|
|
223
|
+
{
|
|
224
|
+
files: ['**/*.ts'],
|
|
225
|
+
parser: '@typescript-eslint/parser',
|
|
226
|
+
parserOptions: {
|
|
227
|
+
project: 'tsconfig.json',
|
|
228
|
+
sourceType: 'module',
|
|
229
|
+
},
|
|
230
|
+
plugins: ['@typescript-eslint/eslint-plugin'],
|
|
231
|
+
rules: {
|
|
232
|
+
'@typescript-eslint/padding-line-between-statements': 'off',
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
files: [
|
|
237
|
+
'**/*.spec.js',
|
|
238
|
+
'**/*.spec.ts',
|
|
239
|
+
'**/*.spec.mjs',
|
|
240
|
+
'**/*.spec.cjs',
|
|
241
|
+
'**/__mocks__/**/*.js',
|
|
242
|
+
'**/__mocks__/**/*.ts',
|
|
243
|
+
'**/__mocks__/**/*.cjs',
|
|
244
|
+
'**/__mocks__/**/*.mjs',
|
|
245
|
+
],
|
|
246
|
+
plugins: ['jest'],
|
|
247
|
+
env: {
|
|
248
|
+
jest: true,
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
],
|
|
219
252
|
},
|
|
220
253
|
};
|
|
221
254
|
|
|
@@ -242,7 +275,8 @@ const nodeTsYarnPackage = {
|
|
|
242
275
|
|
|
243
276
|
const extendWithTsConfig = (packageJson, version) => {
|
|
244
277
|
packageJson.devDependencies = {
|
|
245
|
-
|
|
278
|
+
// New @tsconfig/nodeX package versioning: it starts with X major version
|
|
279
|
+
[`@tsconfig/node${version}`]: `^${version}`,
|
|
246
280
|
...packageJson.devDependencies,
|
|
247
281
|
};
|
|
248
282
|
|
package/lib/flows/lib/api.js
CHANGED
|
@@ -42,15 +42,30 @@ export class Api {
|
|
|
42
42
|
* @returns {object}
|
|
43
43
|
*/
|
|
44
44
|
async getAppByKey(appKey) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
try {
|
|
46
|
+
const { data } = await this.#api.get(`v2/apps/${appKey}`).json();
|
|
47
|
+
|
|
48
|
+
if (!data) {
|
|
49
|
+
throw new StepError(
|
|
50
|
+
`App with key - ${appKey}, does not exist.\nThe key search is case-sensitive. You might need to update the app key in your app to exactly match the key.`,
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return data;
|
|
55
|
+
} catch (error) {
|
|
56
|
+
if (error?.response?.statusCode === 404) {
|
|
57
|
+
throw new StepError(
|
|
58
|
+
`App with key - ${appKey}, does not exist.\nThe key search is case-sensitive. You might need to update the app key in your app to exactly match the key.`,
|
|
59
|
+
{ cause: error },
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
// If error has a response, it's an API exception
|
|
63
|
+
else if (error?.response) {
|
|
64
|
+
throw new StepError(`getAppByKey request failed, code:${error?.response?.statusCode}`);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
throw error;
|
|
51
68
|
}
|
|
52
|
-
|
|
53
|
-
return data;
|
|
54
69
|
}
|
|
55
70
|
|
|
56
71
|
/**
|
|
@@ -11,7 +11,7 @@ const SCHEDULER_MAPPING = [SCHEDULER_TYPE_DATA_TIME, SCHEDULER_TYPE_DEPTH, SCHED
|
|
|
11
11
|
{},
|
|
12
12
|
);
|
|
13
13
|
|
|
14
|
-
const NODE_RUNTIMES = [APP_RUNTIMES.
|
|
14
|
+
const NODE_RUNTIMES = [APP_RUNTIMES.NODE24];
|
|
15
15
|
|
|
16
16
|
export class Manifest {
|
|
17
17
|
constructor(manifest) {
|
|
@@ -111,7 +111,11 @@ const resolveDataToZipUiApp = async (itemsToZip = [], { options, pkg, dirName, m
|
|
|
111
111
|
itemsToZip.push(
|
|
112
112
|
'manifest.json',
|
|
113
113
|
'config-overrides.js',
|
|
114
|
+
'eslint.config.js',
|
|
115
|
+
'eslint.config.mjs',
|
|
114
116
|
'tsconfig.json',
|
|
117
|
+
'prettier.config.js',
|
|
118
|
+
'.prettierrc',
|
|
115
119
|
'.npmrc',
|
|
116
120
|
'.nvmrc',
|
|
117
121
|
'yarn.lock',
|
|
@@ -183,7 +187,9 @@ const resolveDataForZipNodeJsApp = async (itemsToZip = [], { options, pkg, dirNa
|
|
|
183
187
|
|
|
184
188
|
itemsToZip.push('config', 'manifest.json', 'package.json', '.nvmrc', '.npmrc', '.eslintrc.js');
|
|
185
189
|
|
|
186
|
-
if (packageDirContent.includes('
|
|
190
|
+
if (packageDirContent.includes('pnpm-lock.yaml')) {
|
|
191
|
+
itemsToZip.push('pnpm-lock.yaml');
|
|
192
|
+
} else if (packageDirContent.includes('package-lock.json')) {
|
|
187
193
|
itemsToZip.push('package-lock.json');
|
|
188
194
|
|
|
189
195
|
if (shouldUpdateVersion) {
|
|
@@ -249,7 +255,7 @@ const resolveDataForZipPythonApp = async (itemsToZip = [], { manifest, dirName,
|
|
|
249
255
|
);
|
|
250
256
|
}
|
|
251
257
|
|
|
252
|
-
itemsToZip.push('manifest.json', 'requirements.txt');
|
|
258
|
+
itemsToZip.push('manifest.json', 'pyproject.toml', 'uv.lock', 'requirements.txt');
|
|
253
259
|
|
|
254
260
|
return {
|
|
255
261
|
zipFileName,
|
|
@@ -75,7 +75,20 @@ export async function warnIfOutdated() {
|
|
|
75
75
|
logger.write('Checking for updates...\n');
|
|
76
76
|
|
|
77
77
|
const currentVersion = await getCurrentVersion();
|
|
78
|
-
|
|
78
|
+
|
|
79
|
+
let latestVersion;
|
|
80
|
+
|
|
81
|
+
try {
|
|
82
|
+
latestVersion = await getLatestVersion();
|
|
83
|
+
} catch (caughtError) {
|
|
84
|
+
if (!(caughtError instanceof StepError)) {
|
|
85
|
+
throw caughtError;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
logger.write(' ⚠️ Skipping version check (could not reach npm registry).\n');
|
|
89
|
+
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
79
92
|
|
|
80
93
|
// Skip version check if current version is a prerelease (dev or next)
|
|
81
94
|
if (!isRegularVersion(currentVersion)) {
|
|
@@ -6,6 +6,8 @@ import os from 'os';
|
|
|
6
6
|
import semver from 'semver';
|
|
7
7
|
|
|
8
8
|
const debug = debugFn('cca:resolve-app-runtime');
|
|
9
|
+
const DEFAULT_UI_NODE_VERSION = '24';
|
|
10
|
+
const DEFAULT_UI_NODE_RANGE = '>=24 <25';
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
*
|
|
@@ -37,11 +39,14 @@ const checkCliVersion = async (command, version) =>
|
|
|
37
39
|
|
|
38
40
|
debug(`%s version output: %s`, command, data.toString());
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
const currentVersion = semver.coerce(data.toString('utf-8'));
|
|
43
|
+
const requiredVersion = semver.coerce(semverVersionsMapping.node[version] || version);
|
|
44
|
+
|
|
45
|
+
resolve(semver.gte(currentVersion, requiredVersion));
|
|
41
46
|
});
|
|
42
47
|
});
|
|
43
48
|
|
|
44
|
-
const checkNodeVersion = (
|
|
49
|
+
const checkNodeVersion = (range) => async () => {
|
|
45
50
|
try {
|
|
46
51
|
await fs.access(`${os.homedir()}/.nvm/nvm.sh`);
|
|
47
52
|
|
|
@@ -52,7 +57,7 @@ const checkNodeVersion = (version) => async () => {
|
|
|
52
57
|
debug(e);
|
|
53
58
|
debug('nvm is not installed, checking node version');
|
|
54
59
|
|
|
55
|
-
return checkCliVersion('node',
|
|
60
|
+
return checkCliVersion('node', range);
|
|
56
61
|
}
|
|
57
62
|
};
|
|
58
63
|
|
|
@@ -60,18 +65,22 @@ export const IS_WINDOWS = process.platform === 'win32';
|
|
|
60
65
|
|
|
61
66
|
const semverVersionsMapping = {
|
|
62
67
|
node: {
|
|
63
|
-
18: '18.
|
|
64
|
-
20: '20.
|
|
68
|
+
18: '18.20.8',
|
|
69
|
+
20: '20.20.1',
|
|
70
|
+
24: '24.15.0',
|
|
65
71
|
},
|
|
66
72
|
python: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
'3.10': '3.10.9',
|
|
70
|
-
'3.11': '3.11.1',
|
|
71
|
-
'3.13': '3.13.7',
|
|
73
|
+
3.13: '3.13.13',
|
|
74
|
+
3.14: '3.14.4',
|
|
72
75
|
},
|
|
73
76
|
};
|
|
74
77
|
|
|
78
|
+
const nodeVersionRanges = {
|
|
79
|
+
18: '>=18 <19',
|
|
80
|
+
20: '>=20 <21',
|
|
81
|
+
24: '>=24 <25',
|
|
82
|
+
};
|
|
83
|
+
|
|
75
84
|
/**
|
|
76
85
|
* @typedef {Object} Runtime
|
|
77
86
|
* @property {string} language
|
|
@@ -79,17 +88,20 @@ const semverVersionsMapping = {
|
|
|
79
88
|
* @property {string} packageManager
|
|
80
89
|
* @property {string} version
|
|
81
90
|
* @property {string} semver
|
|
91
|
+
* @property {string} [enginesNode]
|
|
82
92
|
*/
|
|
83
93
|
export const resolveAppRuntime = (opts) => {
|
|
84
94
|
if (opts.appType === APP_TYPES.UI) {
|
|
85
|
-
const version =
|
|
95
|
+
const version = DEFAULT_UI_NODE_VERSION;
|
|
86
96
|
|
|
87
97
|
return {
|
|
98
|
+
environment: 'node',
|
|
88
99
|
language: opts.useTypescript ? 'typescript' : 'javascript',
|
|
89
|
-
isRuntimeAvailable: checkNodeVersion(
|
|
100
|
+
isRuntimeAvailable: checkNodeVersion(DEFAULT_UI_NODE_RANGE),
|
|
90
101
|
packageManager: opts.packageManager,
|
|
91
102
|
version,
|
|
92
103
|
semver: semverVersionsMapping.node[version],
|
|
104
|
+
enginesNode: DEFAULT_UI_NODE_RANGE,
|
|
93
105
|
};
|
|
94
106
|
}
|
|
95
107
|
|
|
@@ -97,17 +109,20 @@ export const resolveAppRuntime = (opts) => {
|
|
|
97
109
|
const version = /nodejs(\d{2})\.x/.exec(opts.runtime)[1];
|
|
98
110
|
|
|
99
111
|
return {
|
|
112
|
+
environment: 'node',
|
|
100
113
|
language: opts.useTypescript ? 'typescript' : 'javascript',
|
|
101
|
-
isRuntimeAvailable: checkNodeVersion(version),
|
|
114
|
+
isRuntimeAvailable: checkNodeVersion(nodeVersionRanges[version]),
|
|
102
115
|
packageManager: opts.packageManager,
|
|
103
116
|
version,
|
|
104
117
|
semver: semverVersionsMapping.node[version],
|
|
118
|
+
enginesNode: `^${version}`,
|
|
105
119
|
};
|
|
106
120
|
}
|
|
107
121
|
|
|
108
122
|
const version = /python(\d\.\d+)/.exec(opts.runtime)[1];
|
|
109
123
|
|
|
110
124
|
return {
|
|
125
|
+
environment: 'python',
|
|
111
126
|
language: 'python',
|
|
112
127
|
isRuntimeAvailable: async () => {
|
|
113
128
|
if (!IS_WINDOWS) {
|
package/lib/helpers/utils.js
CHANGED
|
@@ -26,9 +26,13 @@ export const addUiAppFile = (templateFolder, root, runtime, manifest, opts) => {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export const getExcludedFiles = (manifest) => {
|
|
29
|
-
|
|
29
|
+
const excludedFiles = ['.ruff_cache', '.venv', '.pytest_cache', '__pycache__'];
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
if (manifest.isUi()) {
|
|
32
|
+
return [...excludedFiles, 'App.drilling.js', 'App.completion.js', 'App.drilling.tsx', 'App.completion.tsx'];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return excludedFiles;
|
|
32
36
|
};
|
|
33
37
|
|
|
34
38
|
export function copyFileSync(source, target) {
|
package/lib/main.js
CHANGED
|
@@ -13,24 +13,20 @@ import { createCommand } from './commands/create.js';
|
|
|
13
13
|
|
|
14
14
|
import { ERROR_ICON } from './constants/messages.js';
|
|
15
15
|
import { StepError } from './flows/lib/step-error.js';
|
|
16
|
-
import debugFn from 'debug';
|
|
17
|
-
|
|
18
|
-
const debug = debugFn('cca:main');
|
|
19
16
|
|
|
20
17
|
function checkNodeVersion() {
|
|
21
18
|
logger.write('Checking node version...');
|
|
22
19
|
|
|
23
|
-
const unsupportedNodeVersion = !semver.satisfies(process.version, '>=
|
|
20
|
+
const unsupportedNodeVersion = !semver.satisfies(process.version, '>=24 <25');
|
|
24
21
|
|
|
25
22
|
if (unsupportedNodeVersion) {
|
|
26
23
|
logger.log(
|
|
27
24
|
chalk.red(
|
|
28
25
|
`\nYou are using Node ${process.version}.\n\n` +
|
|
29
|
-
`Please update to Node
|
|
26
|
+
`Please update to Node 24.x for a better, fully supported experience.\n`,
|
|
30
27
|
),
|
|
31
28
|
);
|
|
32
29
|
|
|
33
|
-
// Fall back to latest supported react-scripts on Node 4
|
|
34
30
|
return process.exit(1);
|
|
35
31
|
}
|
|
36
32
|
|
package/package.json
CHANGED
|
@@ -1,107 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@corva/create-app",
|
|
3
|
-
"version": "0.0.0-ce43383",
|
|
4
|
-
"private": false,
|
|
5
|
-
"description": "Create an app to use it in CORVA.AI",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"react"
|
|
8
|
-
],
|
|
9
|
-
"bugs": {
|
|
10
|
-
"url": "https://github.com/facebook/create-react-app/issues"
|
|
11
|
-
},
|
|
12
|
-
"repository": {
|
|
13
|
-
"type": "git",
|
|
14
|
-
"url": "https://github.com/corva-ai/create-corva-app",
|
|
15
|
-
"directory": "@corva/create-app"
|
|
16
|
-
},
|
|
17
|
-
"license": "MIT",
|
|
18
|
-
"type": "module",
|
|
19
|
-
"bin": {
|
|
20
|
-
"create-corva-app": "./bin/create-corva-app.cjs"
|
|
21
|
-
},
|
|
22
|
-
"files": [
|
|
23
|
-
"bin/**/*.cjs",
|
|
24
|
-
"bin/**/*.js",
|
|
25
|
-
"lib/**/*.js",
|
|
26
|
-
"templates",
|
|
27
|
-
"template_extensions",
|
|
28
|
-
"common"
|
|
29
|
-
],
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build": "echo \"build is not configured for package \\\"×\\\", skipping.\"",
|
|
32
|
-
"get-changelog": "conventional-changelog -r 2 -p angular",
|
|
33
|
-
"lint": "eslint . --resolve-plugins-relative-to $(pwd) --max-warnings 0",
|
|
34
|
-
"lint:fix": "eslint . --fix",
|
|
35
|
-
"release": "git add -A && standard-version -a",
|
|
36
|
-
"release-rc": "npm run release -- --prerelease",
|
|
37
|
-
"run:local-ui-ts-completion": "node ./bin/create-corva-app.cjs ../test-app-ui-ts-completions --appName 'TestAppUiTsCompletions' --segments 'completion' --category 'analytics' --appKey 'corva.testappuitscompletions.ui' --appType 'ui' --runtime 'ui' -t --extensions corva",
|
|
38
|
-
"run:local-ui-ts-drilling": "node ./bin/create-corva-app.cjs ../test-app-ui-ts-drilling --appName 'TestAppUiTsDrilling' --segments 'drilling' --category 'analytics' --appKey 'corva.testappuitsdrilling.ui' --appType 'ui' --runtime 'ui' -t --extensions corva",
|
|
39
|
-
"run:local-ui-ts-intervention": "node ./bin/create-corva-app.cjs ../test-app-ui-ts-intervention --appName 'TestAppUiTsIntervention' --segments 'intervention' --category 'analytics' --appKey 'corva.testappuitsintervention.ui' --appType 'ui' --runtime 'ui' -t --extensions corva",
|
|
40
|
-
"test": "NODE_OPTIONS='--experimental-vm-modules --no-warnings' jest"
|
|
41
|
-
},
|
|
42
|
-
"lint-staged": {
|
|
43
|
-
"*.js": "npm run lint:fix"
|
|
44
|
-
},
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"archiver": "^5.3.0",
|
|
47
|
-
"chalk": "^4.1.0",
|
|
48
|
-
"commander": "^9.1.0",
|
|
49
|
-
"cross-spawn": "^7.0.3",
|
|
50
|
-
"debug": "^4.3.4",
|
|
51
|
-
"dotenv": "^16.0.0",
|
|
52
|
-
"figlet": "^1.5.0",
|
|
53
|
-
"form-data": "^4.0.0",
|
|
54
|
-
"fs-extra": "^9.0.1",
|
|
55
|
-
"glob": "^8.0.1",
|
|
56
|
-
"got": "^12.5.1",
|
|
57
|
-
"inquirer": "^8.2.3",
|
|
58
|
-
"is-glob": "^4.0.3",
|
|
59
|
-
"lodash": "^4.17.21",
|
|
60
|
-
"npm-api": "^1.0.0",
|
|
61
|
-
"semver": "^7.3.2",
|
|
62
|
-
"terminal-link": "^3.0.0"
|
|
63
|
-
},
|
|
64
|
-
"devDependencies": {
|
|
65
|
-
"@babel/core": "^7.11.0",
|
|
66
|
-
"@babel/eslint-parser": "^7.19.1",
|
|
67
|
-
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
68
|
-
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
69
|
-
"@babel/preset-react": "^7.18.6",
|
|
70
|
-
"@commitlint/cli": "^17.3.0",
|
|
71
|
-
"@commitlint/config-conventional": "^17.3.0",
|
|
72
|
-
"@corva/eslint-config-browser": "^0.1.7",
|
|
73
|
-
"@corva/eslint-config-node": "^5.1.1",
|
|
74
|
-
"@corva/node-sdk": "^8.0.1",
|
|
75
|
-
"@types/cross-spawn": "^6.0.2",
|
|
76
|
-
"@types/jest": "^29.5.4",
|
|
77
|
-
"@typescript-eslint/eslint-plugin": "^5.42.1",
|
|
78
|
-
"@typescript-eslint/parser": "^5.42.1",
|
|
79
|
-
"conventional-changelog-cli": "^2.1.0",
|
|
80
|
-
"eslint": "^8.2.0",
|
|
81
|
-
"eslint-config-google": "^0.14.0",
|
|
82
|
-
"eslint-config-prettier": "^8.5.0",
|
|
83
|
-
"eslint-plugin-import": "^2.26.0",
|
|
84
|
-
"eslint-plugin-jest": "^27.1.5",
|
|
85
|
-
"eslint-plugin-jsx-a11y": "^6.7.1",
|
|
86
|
-
"eslint-plugin-prettier": "^4.2.1",
|
|
87
|
-
"eslint-plugin-react": "^7.32.0",
|
|
88
|
-
"eslint-plugin-react-hooks": "^4.6.0",
|
|
89
|
-
"eslint-plugin-require-sort": "^1.3.0",
|
|
90
|
-
"husky": "^8.0.2",
|
|
91
|
-
"jest": "^29.6.4",
|
|
92
|
-
"prettier": "^2.0.0",
|
|
93
|
-
"prettier-plugin-packagejson": "^2.3.0",
|
|
94
|
-
"standard-version": "^9.0.0",
|
|
95
|
-
"typescript": "^4.8.4",
|
|
96
|
-
"zx": "^7.2.3"
|
|
97
|
-
},
|
|
98
|
-
"packageManager": "yarn@1.22.19+sha512.ff4579ab459bb25aa7c0ff75b62acebe576f6084b36aa842971cf250a5d8c6cd3bc9420b22ce63c7f93a0857bc6ef29291db39c3e7a23aab5adfd5a4dd6c5d71",
|
|
99
|
-
"engines": {
|
|
100
|
-
"node": ">=18"
|
|
101
|
-
},
|
|
102
|
-
"standard-version": {
|
|
103
|
-
"skip": {
|
|
104
|
-
"tag": true
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
1
|
+
{"name":"@corva/create-app","version":"0.0.0-e3730ad","private":false,"description":"Create an app to use it in CORVA.AI","keywords":["react"],"bugs":{"url":"https://github.com/facebook/create-react-app/issues"},"repository":{"type":"git","url":"https://github.com/corva-ai/create-corva-app","directory":"@corva/create-app"},"license":"MIT","type":"module","bin":{"create-corva-app":"./bin/create-corva-app.cjs"},"files":["bin/**/*.cjs","bin/**/*.js","lib/**/*.js","templates","template_extensions","common"],"scripts":{"build":"echo \"build is not configured for package \\\"×\\\", skipping.\"","get-changelog":"conventional-changelog -r 2 -p angular","lint":"eslint . --resolve-plugins-relative-to $(pwd) --max-warnings 0","lint:fix":"eslint . --fix","release":"git add -A && standard-version -a","release-rc":"npm run release -- --prerelease","run:local-ui-ts-completion":"node ./bin/create-corva-app.cjs ../test-app-ui-ts-completions --appName 'TestAppUiTsCompletions' --segments 'completion' --category 'analytics' --appKey 'corva.testappuitscompletions.ui' --appType 'ui' --runtime 'ui' -t --extensions corva","run:local-ui-ts-drilling":"node ./bin/create-corva-app.cjs ../test-app-ui-ts-drilling --appName 'TestAppUiTsDrilling' --segments 'drilling' --category 'analytics' --appKey 'corva.testappuitsdrilling.ui' --appType 'ui' --runtime 'ui' -t --extensions corva","run:local-ui-ts-intervention":"node ./bin/create-corva-app.cjs ../test-app-ui-ts-intervention --appName 'TestAppUiTsIntervention' --segments 'intervention' --category 'analytics' --appKey 'corva.testappuitsintervention.ui' --appType 'ui' --runtime 'ui' -t --extensions corva","test":"NODE_OPTIONS='--experimental-vm-modules --no-warnings' jest"},"lint-staged":{"*.js":"npm run lint:fix"},"dependencies":{"archiver":"^5.3.0","chalk":"^4.1.0","commander":"^9.1.0","cross-spawn":"^7.0.3","debug":"^4.3.4","dotenv":"^16.0.0","figlet":"^1.5.0","form-data":"^4.0.0","fs-extra":"^9.0.1","glob":"^8.0.1","got":"^12.5.1","inquirer":"^8.2.3","is-glob":"^4.0.3","lodash":"^4.18.1","npm-api":"^1.0.0","semver":"^7.3.2","terminal-link":"^3.0.0"},"devDependencies":{"@babel/core":"^7.11.0","@babel/eslint-parser":"^7.19.1","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-syntax-import-assertions":"^7.20.0","@babel/preset-react":"^7.18.6","@commitlint/cli":"^17.3.0","@commitlint/config-conventional":"^17.3.0","@corva/eslint-config-browser":"^0.1.7","@corva/eslint-config-node":"^6.0.0","@corva/node-sdk":"^8.5.0","@types/cross-spawn":"^6.0.2","@types/jest":"^29.5.4","@typescript-eslint/eslint-plugin":"^8.58.1","@typescript-eslint/parser":"^8.58.1","conventional-changelog-cli":"^2.1.0","eslint":"^8.2.0","eslint-plugin-jest":"^27.1.5","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^4.2.1","eslint-plugin-react":"^7.32.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-require-sort":"^1.3.0","husky":"^8.0.2","jest":"^29.6.4","prettier":"^2.0.0","prettier-plugin-packagejson":"^2.3.0","standard-version":"^9.0.0","typescript":"^5.9.3","zx":"^7.2.3"},"packageManager":"yarn@1.22.19+sha512.ff4579ab459bb25aa7c0ff75b62acebe576f6084b36aa842971cf250a5d8c6cd3bc9420b22ce63c7f93a0857bc6ef29291db39c3e7a23aab5adfd5a4dd6c5d71","engines":{"node":">=24 <25"},"standard-version":{"skip":{"tag":true}}}
|