@corva/create-app 0.0.0-73c49372-test → 0.0.0-ae3a727

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 (48) hide show
  1. package/README.md +7 -0
  2. package/bin/create-corva-app.cjs +4 -9
  3. package/lib/commands/release.js +6 -0
  4. package/lib/constants/cli.js +13 -3
  5. package/lib/constants/manifest.js +3 -2
  6. package/lib/constants/package.js +18 -6
  7. package/lib/flows/lib/api.js +3 -9
  8. package/lib/flows/lib/manifest.js +1 -1
  9. package/lib/flows/steps/release/upload-zip-to-corva.js +74 -0
  10. package/lib/flows/steps/zip-file-list-resolve.js +1 -0
  11. package/lib/helpers/cli-version.js +39 -3
  12. package/lib/helpers/manifest.js +9 -1
  13. package/lib/helpers/resolve-app-runtime.js +6 -6
  14. package/lib/helpers/utils.js +7 -1
  15. package/package.json +1 -104
  16. package/template_extensions/corva/.eslintrc +32 -0
  17. package/template_extensions/corva/.github/workflows/develop.yml +2 -0
  18. package/template_extensions/corva/.release-please-manifest.json +3 -0
  19. package/template_extensions/corva/release-please-config.json +10 -0
  20. package/templates/scheduler_data-time/javascript/__tests__/processor.spec.js +1 -1
  21. package/templates/scheduler_data-time/typescript/__tests__/processor.spec.ts +1 -1
  22. package/templates/scheduler_depth/javascript/__tests__/processor.spec.js +1 -1
  23. package/templates/scheduler_depth/typescript/__tests__/processor.spec.ts +1 -1
  24. package/templates/scheduler_natural-time/javascript/__tests__/processor.spec.js +1 -1
  25. package/templates/scheduler_natural-time/typescript/__tests__/processor.spec.ts +1 -1
  26. package/templates/stream_depth/javascript/__tests__/processor.spec.js +1 -1
  27. package/templates/stream_depth/typescript/__tests__/processor.spec.ts +1 -1
  28. package/templates/stream_time/javascript/__tests__/processor.spec.js +1 -1
  29. package/templates/stream_time/typescript/__tests__/processor.spec.ts +1 -1
  30. package/templates/task/javascript/__tests__/processor.spec.js +1 -1
  31. package/templates/task/typescript/__tests__/processor.spec.ts +1 -1
  32. package/templates/ui/javascript/config/jest/setupTests.js +19 -0
  33. package/templates/ui/javascript/src/App.completion.js +30 -31
  34. package/templates/ui/javascript/src/App.css +0 -13
  35. package/templates/ui/javascript/src/App.drilling.js +31 -36
  36. package/templates/ui/javascript/src/__tests__/App.test.js +27 -2
  37. package/templates/ui/typescript/config/jest/setupTests.js +19 -0
  38. package/templates/ui/typescript/src/App.completion.tsx +32 -42
  39. package/templates/ui/typescript/src/App.css +0 -13
  40. package/templates/ui/typescript/src/App.drilling.tsx +32 -41
  41. package/templates/ui/typescript/src/AppSettings.tsx +2 -12
  42. package/templates/ui/typescript/src/__mocks__/mockData.ts +194 -0
  43. package/templates/ui/typescript/src/__tests__/App.test.tsx +80 -6
  44. package/templates/ui/typescript/src/__tests__/AppSettings.test.tsx +14 -3
  45. package/templates/ui/typescript/src/types.ts +618 -0
  46. package/templates/ui/typescript/tsconfig.json +0 -1
  47. package/templates/ui/typescript/src/__mocks__/mockAppProps.ts +0 -590
  48. package/templates/ui/typescript/src/__mocks__/mockAppSettingsProps.ts +0 -290
package/README.md CHANGED
@@ -182,6 +182,7 @@ Options:
182
182
  --silent [boolean] Only log result of the operation (default: false)
183
183
  --remove-on-success App package (.zip) will not be deleted after upload (default: true)
184
184
  --remove-existing [boolean] If package.json version is already taken - remove the previously published package and upload a new one (default: false)
185
+ --author [string] Author name for the audit
185
186
  ```
186
187
 
187
188
  ### Examples
@@ -209,3 +210,9 @@ create-corva-app release test-app --bump-version=patch
209
210
  ```sh
210
211
  create-corva-app release test-app --bump-version=4.2.0
211
212
  ```
213
+
214
+ #### Make a release with author option(by default it will use your GitHub username)
215
+
216
+ ```sh
217
+ create-corva-app release test-app --author=MyName
218
+ ```
@@ -7,18 +7,13 @@ const originalCwd = process.cwd();
7
7
 
8
8
  process.chdir(__dirname);
9
9
 
10
- const preparedOriginalArgs = process.argv
11
- .slice(2)
12
- // after changing the cwd need to pass the original path
13
- .concat(['--original-cwd', originalCwd])
14
- // leave spaces in place for arguments
15
- .map((a) => (a.includes(' ') ? `"${a}"` : a));
16
-
17
- const args = ['--no-warnings', '--experimental-json-modules', 'cca.js'].concat(preparedOriginalArgs);
10
+ const args = ['--no-warnings', '--experimental-json-modules', 'cca.js']
11
+ .concat(process.argv.slice(2))
12
+ .concat(['--original-cwd', originalCwd]);
18
13
 
19
14
  const { signal, status, error } = spawnSync(cmd, args, {
20
15
  stdio: 'inherit',
21
- shell: true,
16
+ shell: false,
22
17
  });
23
18
 
24
19
  if (signal) {
@@ -36,7 +36,13 @@ export const releaseCommand = new Command('release')
36
36
  ).default(false),
37
37
  )
38
38
  // .addOption(new Option('--zip-file-name [string]', 'Prebuilt zip file name in dir'))
39
+ .addOption(new Option('--author [string]', 'Author name for the audit'))
39
40
  .action(async (dirName, patterns, options) => {
41
+ // if author is present in CLI, save it to process.env
42
+ if (options.author) {
43
+ process.env.githubUsername = options.author;
44
+ }
45
+
40
46
  options.bumpVersion = await ensureBumpVersion(options.bumpVersion);
41
47
 
42
48
  await runFlow(RELEASE_FLOW, {
@@ -2,10 +2,16 @@ export const APP_RUNTIMES = {
2
2
  UI: 'ui',
3
3
  // NODE12: 'nodejs12.x',
4
4
  // NODE14: 'nodejs14.x',
5
- NODE16: 'nodejs16.x',
5
+ // NODE16: 'nodejs16.x',
6
6
  NODE18: 'nodejs18.x',
7
- PYTHON3_8: 'python3.8',
8
- PYTHON3_9: 'python3.9',
7
+ NODE20: 'nodejs20.x',
8
+ NODE22: 'nodejs22.x',
9
+ // PYTHON3_8: 'python3.8',
10
+ // PYTHON3_9: 'python3.9',
11
+ // PYTHON3_10: 'python3.10',
12
+ PYTHON3_11: 'python3.11',
13
+ PYTHON3_12: 'python3.12',
14
+ PYTHON3_13: 'python3.13',
9
15
  };
10
16
 
11
17
  export const TEMPLATE_TYPES = {
@@ -22,3 +28,7 @@ export const APP_TYPES = {
22
28
  STREAM: 'stream',
23
29
  TASK: 'task',
24
30
  };
31
+
32
+ export const APP_EXTENSIONS = {
33
+ CORVA: 'corva',
34
+ };
@@ -20,7 +20,7 @@ export const defaultManifest = {
20
20
  summary: 'More information about this app goes here',
21
21
  category: '',
22
22
  website: 'https://www.oandgexample.com/my-app/',
23
- segments: ['drilling', 'completion'],
23
+ segments: ['drilling', 'completion', 'intervention'],
24
24
  },
25
25
  settings: {
26
26
  entrypoint: {
@@ -38,6 +38,7 @@ export const defaultUIAppManifest = {
38
38
  initial_size: { w: 4, h: 10 },
39
39
  multi_rig: false,
40
40
  full_screen_report: false,
41
+ use_app_header_v3: true,
41
42
  },
42
43
  },
43
44
  settings: {
@@ -205,7 +206,7 @@ export const manifestOptions = (projectName = 'Corva Dev Center App') => [
205
206
  type: 'rawlist',
206
207
  name: 'segments',
207
208
  message: 'Choose segments',
208
- choices: ['drilling', 'completion'],
209
+ choices: ['drilling', 'completion', 'intervention'],
209
210
  required: true,
210
211
  },
211
212
  {
@@ -1,4 +1,5 @@
1
1
  import _ from 'lodash';
2
+ import { APP_EXTENSIONS } from './cli.js';
2
3
 
3
4
  const uiDependencies = {
4
5
  '@corva/ui': 'latest',
@@ -37,8 +38,11 @@ const jsUiDevDependencies = {
37
38
  const tsUiDevDependencies = {
38
39
  ...jsUiDevDependencies,
39
40
  '@tsconfig/create-react-app': '1.0.2',
41
+ '@types/lodash': '4.17.5',
40
42
  '@types/material-ui': '0.21.9',
41
- '@types/mime': '3',
43
+ '@types/minimatch': '3.0.5',
44
+ '@types/mime': '3.0.1',
45
+ '@types/node': '18.19.47',
42
46
  '@types/react': '^17.0.22',
43
47
  '@types/react-dom': '^17.0.9',
44
48
  '@types/jest': '^27.0.1',
@@ -52,11 +56,15 @@ const corvaUiExtension = {
52
56
  scripts: {
53
57
  prepare: 'husky install',
54
58
  },
59
+ dependencies: {
60
+ '@tanstack/react-query': '4.35.3',
61
+ },
55
62
  devDependencies: {
56
63
  '@commitlint/cli': '^17.0.0',
57
64
  '@commitlint/config-conventional': '^17.0.0',
58
65
  'husky': '^8.0.0',
59
66
  'lint-staged': '^13.0.0',
67
+ '@tanstack/eslint-plugin-query': '4.34.1',
60
68
  },
61
69
  };
62
70
 
@@ -67,7 +75,7 @@ function applyUiExtension(packageJson, extensionNames) {
67
75
 
68
76
  const extensions = extensionNames
69
77
  .map((extensionName) => {
70
- if (extensionName === 'corva') {
78
+ if (extensionName === APP_EXTENSIONS.CORVA) {
71
79
  return corvaUiExtension;
72
80
  }
73
81
 
@@ -135,6 +143,10 @@ const uiPackage = {
135
143
  const tsUiPackage = {
136
144
  ...uiPackage,
137
145
  devDependencies: tsUiDevDependencies,
146
+ // todo: temporary solution, ref https://github.com/oppia/oppia/issues/22283#issuecomment-2756641371
147
+ resolutions: {
148
+ '@types/babel__traverse': '7.20.6',
149
+ },
138
150
  };
139
151
 
140
152
  const nodeNpmScripts = {
@@ -151,17 +163,17 @@ const nodeDependencies = {
151
163
 
152
164
  const nodeDevDependencies = {
153
165
  '@corva/eslint-config-node': '^5.1.1',
154
- 'jest': '^27.5.1',
166
+ 'jest': '^29.7.0',
155
167
  'dotenv': '^16.0.3',
156
168
  'eslint': '^8.2.0',
157
169
  'prettier': '^2.0.0',
158
- 'typescript': '^4.9.4',
170
+ 'typescript': '^5.5.4',
159
171
  };
160
172
 
161
173
  const nodeTsDevDependencies = {
162
174
  ...nodeDevDependencies,
163
- '@types/jest': '^27.4.1',
164
- 'ts-jest': '^27.1.4',
175
+ '@types/jest': '^29.5.12',
176
+ 'ts-jest': '^29.2.4',
165
177
  };
166
178
 
167
179
  const nodeYarnScripts = {
@@ -42,21 +42,15 @@ export class Api {
42
42
  * @returns {object}
43
43
  */
44
44
  async getAppByKey(appKey) {
45
- const { data } = await this.#api
46
- .get('v2/apps', {
47
- searchParams: { per_page: 2, search: appKey },
48
- })
49
- .json();
45
+ const { data } = await this.#api.get(`v2/apps/${appKey}`).json();
50
46
 
51
- const app = data.find((app) => app.attributes.app_key === appKey);
52
-
53
- if (!app) {
47
+ if (!data) {
54
48
  throw new StepError(
55
49
  `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.`,
56
50
  );
57
51
  }
58
52
 
59
- return app;
53
+ return data;
60
54
  }
61
55
 
62
56
  /**
@@ -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.NODE16, APP_RUNTIMES.NODE18];
14
+ const NODE_RUNTIMES = [APP_RUNTIMES.NODE18, APP_RUNTIMES.NODE20, APP_RUNTIMES.NODE22];
15
15
 
16
16
  export class Manifest {
17
17
  constructor(manifest) {
@@ -1,10 +1,12 @@
1
1
  import FormData from 'form-data';
2
2
  import chalk from 'chalk';
3
+ import fs from 'fs';
3
4
  import { createReadStream } from 'node:fs';
4
5
  import { resolve } from 'node:path';
5
6
  import { RELEASE } from '../../../constants/messages.js';
6
7
  import { StepError } from '../../lib/step-error.js';
7
8
  import { logger } from '../../../helpers/logger.js';
9
+ import { execSync } from 'node:child_process';
8
10
 
9
11
  async function deleteAppPackage({ api, appId, appPkgVersion }) {
10
12
  const appPackages = await api.getAppPackages(appId);
@@ -23,6 +25,70 @@ async function deleteAppPackage({ api, appId, appPkgVersion }) {
23
25
  }
24
26
  }
25
27
 
28
+ function getRealAuthorFromGithubEvent() {
29
+ if (!process.env.GITHUB_EVENT_PATH) {
30
+ return null;
31
+ }
32
+
33
+ try {
34
+ const event = JSON.parse(fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8'));
35
+
36
+ // For push-event
37
+ if (event?.pusher?.name) {
38
+ return event.pusher.name;
39
+ }
40
+
41
+ // For PR event
42
+ if (event?.pull_request?.user?.login) {
43
+ return event.pull_request.user.login;
44
+ }
45
+ } catch (error) {
46
+ // Catch error in case json file is invalid or absent
47
+ return null;
48
+ }
49
+
50
+ return null;
51
+ }
52
+
53
+ function getGithubUsernameActor() {
54
+ // If option passed --author – we firstly take it
55
+ if (process.env.githubUsername) {
56
+ return process.env.githubUsername;
57
+ }
58
+
59
+ // If no --author passed, try use GITHUB_ACTOR
60
+ const actor = process.env.GITHUB_ACTOR;
61
+
62
+ if (actor && actor !== 'github-actions[bot]') {
63
+ return actor;
64
+ }
65
+
66
+ // If actor == github-actions[bot], let's try to get a real user
67
+ const realAuthor = getRealAuthorFromGithubEvent();
68
+
69
+ if (realAuthor) {
70
+ return realAuthor;
71
+ }
72
+
73
+ return null;
74
+ }
75
+
76
+ function getGitConfigUsername() {
77
+ try {
78
+ let username = execSync('git config user.name').toString().trim();
79
+
80
+ if (!username) {
81
+ username = execSync('git config --global user.name').toString().trim();
82
+ }
83
+
84
+ return username || null;
85
+ } catch (error) {
86
+ logger.log('Unable to fetch git config username:', error.message);
87
+
88
+ return null;
89
+ }
90
+ }
91
+
26
92
  export const UPLOAD_ZIP_TO_CORVA_STEP = {
27
93
  message: RELEASE.uploadApp,
28
94
  /**
@@ -36,6 +102,14 @@ export const UPLOAD_ZIP_TO_CORVA_STEP = {
36
102
 
37
103
  form.append('package', createReadStream(resolve(dirName, zipFileName)), 'package.zip');
38
104
 
105
+ let githubUsername = getGithubUsernameActor();
106
+
107
+ if (!githubUsername) {
108
+ githubUsername = getGitConfigUsername();
109
+ }
110
+
111
+ form.append('github_username', githubUsername);
112
+
39
113
  const { id: packageId, isDeletedDueToLimit } = await api.uploadPackages(appKey, form);
40
114
 
41
115
  if (isDeletedDueToLimit) {
@@ -121,6 +121,7 @@ const resolveDataToZipUiApp = async (itemsToZip = [], { options, pkg, dirName, m
121
121
  name: 'package.json',
122
122
  },
123
123
  ...(await transformPatternsIntoFileNames(dirName, ['src/**/*'], options.ignoredFiles)),
124
+ ...(await transformPatternsIntoFileNames(dirName, ['config/**/*'], options.ignoredFiles)),
124
125
  );
125
126
 
126
127
  if (options.appKey) {
@@ -4,9 +4,10 @@ import semver from 'semver';
4
4
  import inquirer from 'inquirer';
5
5
  import { join } from 'path';
6
6
  import * as url from 'url';
7
+ import fs from 'fs-extra';
7
8
 
8
9
  import { logger } from './logger.js';
9
- import fs from 'fs-extra';
10
+ import { StepError } from '../flows/lib/step-error.js';
10
11
 
11
12
  const npm = new NpmApi();
12
13
 
@@ -17,13 +18,41 @@ const asterisks = '*************************************************************
17
18
 
18
19
  const getCurrentVersion = async () =>
19
20
  (await fs.readJSON(join(url.fileURLToPath(new URL('.', import.meta.url)), '../../package.json'))).version;
20
- const getLatestVersion = async () => npm.repo('@corva/create-app').prop('version');
21
+
22
+ const getLatestVersion = async () => {
23
+ try {
24
+ return await npm.repo('@corva/create-app').prop('version');
25
+ } catch (caughtError) {
26
+ if (caughtError.name === 'FetchError') {
27
+ throw new StepError(`The request to check the latest available version has failed due to the network error. Details:
28
+
29
+ ${caughtError}
30
+
31
+ Please check your internet connection and that the above request is not blocked in your network
32
+ `);
33
+ }
34
+
35
+ throw caughtError;
36
+ }
37
+ };
38
+
39
+ // Utility function to check if a version is a regular semver without prerelease identifiers
40
+ const isRegularVersion = (version) => {
41
+ return semver.prerelease(version) === null;
42
+ };
21
43
 
22
44
  // NOTE: Stop process and show error if version is outdated
23
45
  export async function ensureLatestVersion() {
24
46
  const currentVersion = await getCurrentVersion();
25
47
  const latestVersion = await getLatestVersion();
26
48
 
49
+ // Skip version check if current version is a prerelease (dev or next)
50
+ if (!isRegularVersion(currentVersion)) {
51
+ logger.write('Skipping version check for prerelease version.\n');
52
+
53
+ return;
54
+ }
55
+
27
56
  const isCurrentVersionOutdated = semver.gt(latestVersion, currentVersion);
28
57
 
29
58
  if (isCurrentVersionOutdated) {
@@ -37,7 +66,7 @@ export async function ensureLatestVersion() {
37
66
 
38
67
  `);
39
68
  console.log(error(asterisks));
40
- // process.exit(0);
69
+ process.exit(0);
41
70
  }
42
71
  }
43
72
 
@@ -48,6 +77,13 @@ export async function warnIfOutdated() {
48
77
  const currentVersion = await getCurrentVersion();
49
78
  const latestVersion = await getLatestVersion();
50
79
 
80
+ // Skip version check if current version is a prerelease (dev or next)
81
+ if (!isRegularVersion(currentVersion)) {
82
+ logger.write(' ⚠️ Skipping version check for prerelease version.\n');
83
+
84
+ return;
85
+ }
86
+
51
87
  const isCurrentVersionOutdated = semver.gt(latestVersion, currentVersion);
52
88
 
53
89
  if (isCurrentVersionOutdated) {
@@ -1,4 +1,4 @@
1
- import { APP_RUNTIMES, APP_TYPES, TEMPLATE_TYPES } from '../constants/cli.js';
1
+ import { APP_EXTENSIONS, APP_RUNTIMES, APP_TYPES, TEMPLATE_TYPES } from '../constants/cli.js';
2
2
  import * as manifestConstants from '../constants/manifest.js';
3
3
 
4
4
  export function fillManifest(answers) {
@@ -10,6 +10,13 @@ export function fillManifest(answers) {
10
10
  runtime,
11
11
  });
12
12
 
13
+ const enable_isolation =
14
+ answers.appType === APP_TYPES.UI &&
15
+ answers.runtime === APP_RUNTIMES.UI &&
16
+ answers.extensions.includes(APP_EXTENSIONS.CORVA)
17
+ ? false
18
+ : undefined;
19
+
13
20
  const manifest = {
14
21
  ...manifestConstants.defaultManifest,
15
22
  ...defaultManifestProperties,
@@ -35,6 +42,7 @@ export function fillManifest(answers) {
35
42
  ...defaultManifestProperties.settings,
36
43
  runtime,
37
44
  app: defaultAppSettings(answers),
45
+ enable_isolation,
38
46
  },
39
47
  };
40
48
 
@@ -1,13 +1,12 @@
1
1
  import debugFn from 'debug';
2
2
  import { APP_TYPES } from '../constants/cli.js';
3
-
4
- const debug = debugFn('cca:resolve-app-runtime');
5
-
6
3
  import spawn from 'cross-spawn';
7
4
  import { promises as fs } from 'fs';
8
5
  import os from 'os';
9
6
  import semver from 'semver';
10
7
 
8
+ const debug = debugFn('cca:resolve-app-runtime');
9
+
11
10
  /**
12
11
  *
13
12
  * @param {string} command
@@ -61,14 +60,15 @@ export const IS_WINDOWS = process.platform === 'win32';
61
60
 
62
61
  const semverVersionsMapping = {
63
62
  node: {
64
- 16: '16.19.0',
65
- 18: '18.13.0',
63
+ 18: '18.14.0',
64
+ 20: '20.16.0',
66
65
  },
67
66
  python: {
68
67
  '3.8': '3.8.16',
69
68
  '3.9': '3.9.16',
70
69
  '3.10': '3.10.9',
71
70
  '3.11': '3.11.1',
71
+ '3.13': '3.13.7',
72
72
  },
73
73
  };
74
74
 
@@ -82,7 +82,7 @@ const semverVersionsMapping = {
82
82
  */
83
83
  export const resolveAppRuntime = (opts) => {
84
84
  if (opts.appType === APP_TYPES.UI) {
85
- const version = '18';
85
+ const version = '20';
86
86
 
87
87
  return {
88
88
  language: opts.useTypescript ? 'typescript' : 'javascript',
@@ -8,7 +8,13 @@ export const addUiAppFile = (templateFolder, root, runtime, manifest, opts) => {
8
8
  logger.log(chalk.green('adding app file'));
9
9
 
10
10
  const fileExtension = runtime.language === 'typescript' ? 'tsx' : 'js';
11
- const segment = opts.segments === 'completion' ? 'completion' : 'drilling';
11
+
12
+ const segment =
13
+ {
14
+ drilling: 'drilling',
15
+ completion: 'completion',
16
+ intervention: 'drilling', // same as drilling for now
17
+ }[opts.segments] || 'drilling';
12
18
  const appFilePath = join(templateFolder, 'src', `App.${segment}.${fileExtension}`);
13
19
 
14
20
  copyFileSync(appFilePath, join(root, 'src', `App.${fileExtension}`));
package/package.json CHANGED
@@ -1,104 +1 @@
1
- {
2
- "name": "@corva/create-app",
3
- "version": "0.0.0-73c49372-test",
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
- "helper-cli": "npx @corva/fe-dev-helper-cli@latest",
32
- "build": "echo \"build is not configured for package \\\"×\\\", skipping.\"",
33
- "get-changelog": "conventional-changelog -r 2 -p angular",
34
- "lint": "eslint . --resolve-plugins-relative-to $(pwd) --max-warnings 0",
35
- "lint:fix": "eslint . --fix",
36
- "release": "git add -A && standard-version -a",
37
- "release-rc": "npm run release -- --prerelease",
38
- "test": "NODE_OPTIONS='--experimental-vm-modules --no-warnings' jest"
39
- },
40
- "lint-staged": {
41
- "*.js": "npm run lint:fix"
42
- },
43
- "dependencies": {
44
- "archiver": "^5.3.0",
45
- "chalk": "^4.1.0",
46
- "commander": "^9.1.0",
47
- "cross-spawn": "^7.0.3",
48
- "debug": "^4.3.4",
49
- "dotenv": "^16.0.0",
50
- "figlet": "^1.5.0",
51
- "form-data": "^4.0.0",
52
- "fs-extra": "^9.0.1",
53
- "glob": "^8.0.1",
54
- "got": "^12.5.1",
55
- "inquirer": "^8.2.3",
56
- "is-glob": "^4.0.3",
57
- "lodash": "^4.17.21",
58
- "npm-api": "^1.0.0",
59
- "semver": "^7.3.2",
60
- "terminal-link": "^3.0.0"
61
- },
62
- "devDependencies": {
63
- "@babel/core": "^7.11.0",
64
- "@babel/eslint-parser": "^7.19.1",
65
- "@babel/plugin-proposal-class-properties": "^7.18.6",
66
- "@babel/plugin-syntax-import-assertions": "^7.20.0",
67
- "@babel/preset-react": "^7.18.6",
68
- "@commitlint/cli": "^17.3.0",
69
- "@commitlint/config-conventional": "^17.3.0",
70
- "@corva/eslint-config-browser": "^0.1.7",
71
- "@corva/eslint-config-node": "^5.1.1",
72
- "@corva/node-sdk": "^8.0.1",
73
- "@types/cross-spawn": "^6.0.2",
74
- "@types/jest": "^29.5.4",
75
- "@typescript-eslint/eslint-plugin": "^5.42.1",
76
- "@typescript-eslint/parser": "^5.42.1",
77
- "conventional-changelog-cli": "^2.1.0",
78
- "eslint": "^8.2.0",
79
- "eslint-config-google": "^0.14.0",
80
- "eslint-config-prettier": "^8.5.0",
81
- "eslint-plugin-import": "^2.26.0",
82
- "eslint-plugin-jest": "^27.1.5",
83
- "eslint-plugin-jsx-a11y": "^6.7.1",
84
- "eslint-plugin-prettier": "^4.2.1",
85
- "eslint-plugin-react": "^7.32.0",
86
- "eslint-plugin-react-hooks": "^4.6.0",
87
- "eslint-plugin-require-sort": "^1.3.0",
88
- "husky": "^8.0.2",
89
- "jest": "^29.6.4",
90
- "prettier": "^2.0.0",
91
- "prettier-plugin-packagejson": "^2.3.0",
92
- "standard-version": "^9.0.0",
93
- "typescript": "^4.8.4",
94
- "zx": "^7.2.3"
95
- },
96
- "engines": {
97
- "node": ">=18"
98
- },
99
- "standard-version": {
100
- "skip": {
101
- "tag": true
102
- }
103
- }
104
- }
1
+ {"name":"@corva/create-app","version":"0.0.0-ae3a727","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.17.21","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":"^5.1.1","@corva/node-sdk":"^8.0.1","@types/cross-spawn":"^6.0.2","@types/jest":"^29.5.4","@typescript-eslint/eslint-plugin":"^5.42.1","@typescript-eslint/parser":"^5.42.1","conventional-changelog-cli":"^2.1.0","eslint":"^8.2.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-jest":"^27.1.5","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":"^4.8.4","zx":"^7.2.3"},"packageManager":"yarn@1.22.19+sha512.ff4579ab459bb25aa7c0ff75b62acebe576f6084b36aa842971cf250a5d8c6cd3bc9420b22ce63c7f93a0857bc6ef29291db39c3e7a23aab5adfd5a4dd6c5d71","engines":{"node":">=18"},"standard-version":{"skip":{"tag":true}}}
@@ -0,0 +1,32 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "parserOptions": {
5
+ "ecmaVersion": 2020,
6
+ "sourceType": "module",
7
+ "ecmaFeature": {
8
+ "jsx": true
9
+ }
10
+ },
11
+ "extends": ["@corva/eslint-config-browser"],
12
+ "overrides": [
13
+ {
14
+ "files": ["*.ts", "*.tsx"],
15
+ "extends": [
16
+ "@corva/eslint-config-browser",
17
+ "plugin:@typescript-eslint/recommended",
18
+ "plugin:@tanstack/eslint-plugin-query/recommended"
19
+ ],
20
+ "rules": {
21
+ "@typescript-eslint/no-explicit-any": 2,
22
+ "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx", ".ts", ".tsx"] }],
23
+ /* Turned off until adopted by @corva/eslint-config-browser */
24
+ "react/prop-types": 0,
25
+ "react/default-props-match-prop-types": 0,
26
+ "react/no-unused-prop-types": 0,
27
+ "react/require-default-props": 0
28
+ /* Turned off until adopted by @corva/eslint-config-browser */
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -11,6 +11,8 @@ jobs:
11
11
  - name: develop branch flow
12
12
  id: shared-workflow
13
13
  uses: corva-ai/gh-actions/shared-dc-workflows/develop@develop
14
+ env:
15
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14
16
  with:
15
17
  qa-api-key: ${{ secrets.API_KEY_QA }}
16
18
  prod-api-key: ${{ secrets.API_KEY }}
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.0.1"
3
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "packages": {
3
+ ".": {
4
+ "release-type": "node",
5
+ "versioning": "always-bump-minor"
6
+ }
7
+ },
8
+ "always-update": true,
9
+ "include-component-in-tag": false
10
+ }