@corva/create-app 0.27.0-rc.0 → 0.28.0-2

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 (128) hide show
  1. package/README.md +160 -17
  2. package/bin/create-corva-app.js +5 -0
  3. package/lib/app.js +9 -0
  4. package/lib/bump-version.option.js +29 -0
  5. package/{constants → lib/constants}/cli.js +1 -0
  6. package/{constants → lib/constants}/manifest.js +4 -12
  7. package/lib/constants/messages.js +21 -0
  8. package/{constants → lib/constants}/package.js +2 -2
  9. package/lib/flow.js +46 -0
  10. package/lib/flows/lib/create-zip-archive.js +77 -0
  11. package/lib/flows/lib/json.js +28 -0
  12. package/lib/flows/lib/manifest.js +31 -0
  13. package/lib/flows/lib/step-error.js +12 -0
  14. package/lib/flows/prepare.js +8 -0
  15. package/lib/flows/release.js +18 -0
  16. package/lib/flows/steps/prepare-load-app-files.js +18 -0
  17. package/lib/flows/steps/release-get-app-key.js +16 -0
  18. package/lib/flows/steps/release-get-config.js +30 -0
  19. package/lib/flows/steps/release-upload-zip-to-corva.js +34 -0
  20. package/lib/flows/steps/zip-cleanup.js +17 -0
  21. package/lib/flows/steps/zip-create-archive.js +15 -0
  22. package/lib/flows/steps/zip-file-list-resolve.js +185 -0
  23. package/lib/flows/steps/zip-prepare.js +21 -0
  24. package/lib/flows/steps/zip.js +15 -0
  25. package/lib/flows/zip-simple.js +8 -0
  26. package/lib/flows/zip.js +9 -0
  27. package/{helpers → lib/helpers}/manifest.js +11 -13
  28. package/{helpers → lib/helpers}/utils.js +0 -0
  29. package/{helpers → lib/helpers}/versioning.js +0 -0
  30. package/{index.js → lib/index.js} +165 -52
  31. package/{scripts → lib/scripts}/utils/version.js +49 -26
  32. package/package.json +13 -8
  33. package/{template → templates}/scheduler/node/README.md +0 -0
  34. package/{template → templates}/scheduler/node/__test__/processor.test.js +0 -0
  35. package/{template → templates}/scheduler/node/gitignore +0 -0
  36. package/{template → templates}/scheduler/node/index.js +0 -0
  37. package/{template → templates}/scheduler/node/package.json +1 -1
  38. package/{template → templates}/scheduler/node/src/processor.js +0 -0
  39. package/{template → templates}/scheduler/node-ts/README.md +0 -0
  40. package/{template → templates}/scheduler/node-ts/__test__/processor.spec.ts +0 -0
  41. package/{template → templates}/scheduler/node-ts/gitignore +0 -0
  42. package/{template → templates}/scheduler/node-ts/index.ts +0 -0
  43. package/templates/scheduler/node-ts/lib/processor.js +16 -0
  44. package/templates/scheduler/node-ts/lib/processor.js.map +1 -0
  45. package/{template → templates}/scheduler/node-ts/lib/processor.ts +0 -0
  46. package/{template → templates}/scheduler/node-ts/package.json +1 -1
  47. package/{template → templates}/scheduler/node-ts/tsconfig.build.json +0 -0
  48. package/{template → templates}/scheduler/node-ts/tsconfig.json +0 -0
  49. package/templates/scheduler/python/Makefile +15 -0
  50. package/templates/scheduler/python/README.md +31 -0
  51. package/{template → templates}/scheduler/python/lambda_function.py +0 -0
  52. package/{template → templates}/scheduler/python/requirements.txt +0 -0
  53. package/{template → templates}/scheduler/python/test/__init__.py +0 -0
  54. package/{template → templates}/scheduler/python/test/app_test.py +0 -0
  55. package/{template → templates}/stream/node/README.md +0 -0
  56. package/{template → templates}/stream/node/__test__/processor.test.js +0 -0
  57. package/{template → templates}/stream/node/gitignore +0 -0
  58. package/{template → templates}/stream/node/index.js +0 -0
  59. package/{template → templates}/stream/node/package.json +1 -1
  60. package/{template → templates}/stream/node/src/processor.js +0 -0
  61. package/{template → templates}/stream/node-ts/README.md +0 -0
  62. package/{template → templates}/stream/node-ts/__test__/processor.spec.ts +0 -0
  63. package/{template → templates}/stream/node-ts/gitignore +0 -0
  64. package/{template → templates}/stream/node-ts/index.ts +0 -0
  65. package/{template → templates}/stream/node-ts/lib/processor.ts +0 -0
  66. package/{template → templates}/stream/node-ts/package.json +1 -1
  67. package/{template → templates}/stream/node-ts/tsconfig.build.json +0 -0
  68. package/{template → templates}/stream/node-ts/tsconfig.json +0 -0
  69. package/templates/stream/python/Makefile +15 -0
  70. package/templates/stream/python/README.md +31 -0
  71. package/{template → templates}/stream/python/lambda_function.py +0 -0
  72. package/{template → templates}/stream/python/requirements.txt +0 -0
  73. package/{template → templates}/stream/python/test/__init__.py +0 -0
  74. package/{template → templates}/stream/python/test/app_test.py +0 -0
  75. package/{template → templates}/task/node/README.md +0 -0
  76. package/{template → templates}/task/node/__test__/processor.test.js +0 -0
  77. package/{template → templates}/task/node/gitignore +0 -0
  78. package/{template → templates}/task/node/index.js +0 -0
  79. package/{template → templates}/task/node/package.json +1 -1
  80. package/{template → templates}/task/node/src/processor.js +0 -0
  81. package/{template → templates}/task/node-ts/README.md +0 -0
  82. package/{template → templates}/task/node-ts/__test__/processor.spec.ts +0 -0
  83. package/{template → templates}/task/node-ts/gitignore +0 -0
  84. package/{template → templates}/task/node-ts/index.ts +0 -0
  85. package/{template → templates}/task/node-ts/package.json +1 -1
  86. package/{template → templates}/task/node-ts/src/processor.ts +0 -0
  87. package/{template → templates}/task/node-ts/tsconfig.build.json +0 -0
  88. package/{template → templates}/task/node-ts/tsconfig.json +0 -0
  89. package/templates/task/python/Makefile +15 -0
  90. package/templates/task/python/README.md +31 -0
  91. package/{template → templates}/task/python/lambda_function.py +0 -0
  92. package/{template → templates}/task/python/requirements.txt +0 -0
  93. package/{template → templates}/task/python/test/__init__.py +0 -0
  94. package/{template → templates}/task/python/test/app_test.py +0 -0
  95. package/{template → templates}/ui/js/.env +0 -0
  96. package/{template → templates}/ui/js/.env.sample +0 -0
  97. package/{template → templates}/ui/js/.eslintrc +0 -0
  98. package/{template → templates}/ui/js/.prettierrc +0 -0
  99. package/{template → templates}/ui/js/README.md +0 -0
  100. package/{template → templates}/ui/js/config-overrides.js +0 -0
  101. package/{template → templates}/ui/js/gitignore +0 -0
  102. package/{template → templates}/ui/js/src/App.css +0 -0
  103. package/{template → templates}/ui/js/src/App.js +0 -0
  104. package/{template → templates}/ui/js/src/AppSettings.js +0 -0
  105. package/{template → templates}/ui/js/src/assets/logo.svg +0 -0
  106. package/{template → templates}/ui/js/src/constants.js +0 -0
  107. package/{template → templates}/ui/js/src/index.js +0 -0
  108. package/{template → templates}/ui/ts/.env +0 -0
  109. package/{template → templates}/ui/ts/.env.sample +0 -0
  110. package/{template → templates}/ui/ts/.eslintrc +0 -0
  111. package/{template → templates}/ui/ts/.prettierrc +0 -0
  112. package/{template → templates}/ui/ts/README.md +0 -0
  113. package/{template → templates}/ui/ts/config-overrides.js +0 -0
  114. package/{template → templates}/ui/ts/gitignore +0 -0
  115. package/{template → templates}/ui/ts/src/App.css +0 -0
  116. package/{template → templates}/ui/ts/src/App.tsx +0 -0
  117. package/{template → templates}/ui/ts/src/AppSettings.tsx +0 -0
  118. package/{template → templates}/ui/ts/src/assets/logo.svg +0 -0
  119. package/{template → templates}/ui/ts/src/constants.ts +0 -0
  120. package/{template → templates}/ui/ts/src/custom.d.ts +0 -0
  121. package/{template → templates}/ui/ts/src/index.js +0 -0
  122. package/{template → templates}/ui/ts/tsconfig.json +0 -0
  123. package/scripts/ui/index.js +0 -7
  124. package/scripts/ui/releaseAppZip.js +0 -91
  125. package/scripts/ui/zipAppSource.js +0 -103
  126. package/template/scheduler/python/README.md +0 -19
  127. package/template/stream/python/README.md +0 -19
  128. package/template/task/python/README.md +0 -19
@@ -1,10 +1,9 @@
1
1
  const NpmApi = require('npm-api');
2
2
  const chalk = require('chalk');
3
- const semverGt = require('semver/functions/gt');
4
- const semverInc = require('semver/functions/inc');
3
+ const semver = require('semver');
5
4
  const inquirer = require('inquirer');
6
5
 
7
- const packageJson = require('../../package.json');
6
+ const packageJson = require('../../../package.json');
8
7
  const npm = new NpmApi();
9
8
  const errorStyle = chalk.bold.red;
10
9
 
@@ -16,7 +15,7 @@ async function ensureLatestVersion() {
16
15
  const currentVersion = getCurrentVersion();
17
16
  const latestVersion = await getLatestVersion();
18
17
 
19
- const isCurrentVersionOutdated = semverGt(latestVersion, currentVersion);
18
+ const isCurrentVersionOutdated = semver.gt(latestVersion, currentVersion);
20
19
  if (isCurrentVersionOutdated) {
21
20
  console.log(errorStyle('****************************************************************'));
22
21
  console.log(chalk`
@@ -34,10 +33,12 @@ async function ensureLatestVersion() {
34
33
 
35
34
  // NOTE: Show user-friendly warning if version is outdated
36
35
  async function warnIfOutdated() {
36
+ process.stdout.write('Checking for updates...');
37
+
37
38
  const currentVersion = getCurrentVersion();
38
39
  const latestVersion = await getLatestVersion();
39
40
 
40
- const isCurrentVersionOutdated = semverGt(latestVersion, currentVersion);
41
+ const isCurrentVersionOutdated = semver.gt(latestVersion, currentVersion);
41
42
 
42
43
  if (isCurrentVersionOutdated) {
43
44
  console.log('****************************************************************');
@@ -49,35 +50,57 @@ async function warnIfOutdated() {
49
50
 
50
51
  `);
51
52
  console.log('****************************************************************');
53
+ } else {
54
+ process.stdout.write(' ✅ \n');
52
55
  }
53
56
  }
54
57
 
55
- const BUMP_OPTIONS = { 1: 'patch', 2: 'minor', 3: 'major' };
56
58
  const PROMPT_MESSAGE = `Bumping package version:
57
- ${chalk.bold` Please select one of the options below or press ENTER for patch or type custom version:`}
58
- 1. patch (x.y.z+1)
59
- 2. minor (x.y+1.z)
60
- 3. major (x+1.y.z)
61
- 4. skip
59
+ ${chalk.bold` Please select one of the options below:`}
62
60
  `;
63
61
 
64
- async function getIncreasedVersion(currentVersion, { bumpVersion }) {
65
- // NOTE: Either use provided bumpVersion for increase or prompt user
66
- if (bumpVersion) return semverInc(currentVersion, bumpVersion) || bumpVersion; // Use option providedw
62
+ const ensureBumpVersion = async (bumpVersion) => {
63
+ if (bumpVersion) {
64
+ return bumpVersion;
65
+ }
67
66
 
68
- let version = currentVersion;
69
- const { option } = await inquirer.prompt({
70
- message: PROMPT_MESSAGE,
71
- name: 'option',
72
- type: 'string',
73
- prefix: '',
74
- default: '1',
75
- });
76
- if (option === '4') return version; // SKIP version bump, return current version
67
+ const { option, custom } = await inquirer.prompt([
68
+ {
69
+ message: PROMPT_MESSAGE,
70
+ name: 'option',
71
+ type: 'list',
72
+ choices: [
73
+ { value: 'major', name: 'major (x+1.y.z)' },
74
+ { value: 'minor', name: 'minor (x.y+1.z)' },
75
+ { value: 'patch', name: 'patch (x.y.z+1)' },
76
+ new inquirer.Separator(),
77
+ { value: 'custom', name: 'Enter a custom version' },
78
+ { value: 'skip', name: 'Skip version bump' },
79
+ ],
80
+ default: 'patch',
81
+ },
82
+ {
83
+ message: 'Enter custom version',
84
+ name: 'custom',
85
+ when: (answers) => answers.option === 'custom',
86
+ type: 'input',
87
+ validate: (input) => (semver.valid(input) ? true : 'Invalid semver version'),
88
+ },
89
+ ]);
90
+
91
+ return option === 'custom' ? custom : option;
92
+ };
93
+
94
+ async function getIncreasedVersion(version, { bumpVersion: releaseTypeOrNewVersion }) {
95
+ if (releaseTypeOrNewVersion === 'skip') {
96
+ return version;
97
+ }
77
98
 
78
- const semverReleaseOption = option ? BUMP_OPTIONS[option] || option : 'patch'; // Patch by default
99
+ if (semver.valid(releaseTypeOrNewVersion)) {
100
+ return releaseTypeOrNewVersion;
101
+ }
79
102
 
80
- return semverInc(version, semverReleaseOption) || option;
103
+ return semver.inc(version, releaseTypeOrNewVersion);
81
104
  }
82
105
 
83
- module.exports = { ensureLatestVersion, warnIfOutdated, getIncreasedVersion };
106
+ module.exports = { ensureLatestVersion, warnIfOutdated, getIncreasedVersion, ensureBumpVersion };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/create-app",
3
- "version": "0.27.0-rc.0",
3
+ "version": "0.28.0-2",
4
4
  "private": false,
5
5
  "description": "Create app to use it in CORVA.AI",
6
6
  "keywords": [
@@ -16,14 +16,12 @@
16
16
  },
17
17
  "license": "MIT",
18
18
  "bin": {
19
- "create-corva-app": "./index.js"
19
+ "create-corva-app": "./bin/create-corva-app.js"
20
20
  },
21
21
  "files": [
22
- "index.js",
23
- "constants",
24
- "helpers",
25
- "template",
26
- "scripts"
22
+ "bin/**/*.js",
23
+ "lib/**/*.js",
24
+ "templates"
27
25
  ],
28
26
  "scripts": {
29
27
  "lint": "prettier . --write",
@@ -36,16 +34,20 @@
36
34
  "archiver": "^5.3.0",
37
35
  "axios": "^0.25.0",
38
36
  "chalk": "4.1.0",
39
- "commander": "^8.2.0",
37
+ "commander": "^9.1.0",
40
38
  "conventional-changelog-cli": "^2.1.0",
41
39
  "cross-spawn": "7.0.3",
40
+ "debug": "^4.3.4",
42
41
  "dotenv": "^16.0.0",
43
42
  "envinfo": "7.5.1",
44
43
  "figlet": "^1.5.0",
45
44
  "form-data": "^4.0.0",
46
45
  "fs-extra": "9.0.1",
46
+ "glob": "^8.0.1",
47
47
  "hyperquest": "2.1.3",
48
48
  "inquirer": "7.3.2",
49
+ "is-glob": "^4.0.3",
50
+ "lodash": "^4.17.21",
49
51
  "npm-api": "^1.0.0",
50
52
  "semver": "7.3.2",
51
53
  "tar-pack": "3.4.1",
@@ -58,6 +60,9 @@
58
60
  "prettier": "^2.4.1",
59
61
  "standard-version": "^9.0.0"
60
62
  },
63
+ "engines": {
64
+ "node": "^12.20.0 || >=14"
65
+ },
61
66
  "standard-version": {
62
67
  "skip": {
63
68
  "tag": true
File without changes
File without changes
File without changes
@@ -4,7 +4,7 @@
4
4
  "description": "My Dev Center Polling Scheduler Data App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "bundle": "zip -r $npm_package_name-$npm_package_version.zip package.json $LOCKFILE manifest.json index.js src",
7
+ "bundle": "create-corva-app zip .",
8
8
  "test": "npm audit --production && npm run unit",
9
9
  "unit": "jest"
10
10
  },
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.Processor = void 0;
4
+ class Processor {
5
+ constructor(apiClient, logger) {
6
+ this.apiClient = apiClient;
7
+ this.logger = logger;
8
+ }
9
+ async process(event) {
10
+ this.logger.debug({ event }, 'Event');
11
+ const { asset_id: assetId, schedule_start: scheduleStart, interval } = event;
12
+ this.logger.info(`Processing event. Asset: ${assetId}. Schedule start: ${scheduleStart}`);
13
+ }
14
+ }
15
+ exports.Processor = Processor;
16
+ //# sourceMappingURL=processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["processor.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IACpB,YAAoB,SAAgC,EAAU,MAAgC;QAA1E,cAAS,GAAT,SAAS,CAAuB;QAAU,WAAM,GAAN,MAAM,CAA0B;IAAG,CAAC;IAElG,KAAK,CAAC,OAAO,CAAC,KAA6C;QACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAE7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,OAAO,qBAAqB,aAAa,EAAE,CAAC,CAAC;IAC5F,CAAC;CACF;AAVD,8BAUC"}
@@ -4,7 +4,7 @@
4
4
  "description": "My Dev Center Polling Scheduler Data App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "bundle": "zip -r $npm_package_name-$npm_package_version.zip package.json $LOCKFILE manifest.json index.js lib -x '*.ts'",
7
+ "bundle": "create-corva-app zip .",
8
8
  "test": "npm audit --production && npm run unit",
9
9
  "build": "tsc -p tsconfig.build.json",
10
10
  "unit": "jest"
@@ -0,0 +1,15 @@
1
+ .PHONY: default install bundle release test
2
+ .DEFAULT_GOAL := default
3
+
4
+ default: install
5
+ install: venv
6
+ @. venv/bin/activate && pip install -r requirements.txt
7
+ venv:
8
+ @test -d venv || python -m venv venv
9
+ bundle:
10
+ @create-corva-app zip . --bump-version=skip
11
+ release:
12
+ @create-corva-app release . --bump-version=skip
13
+ test: venv
14
+ @. venv/bin/activate && pytest
15
+
@@ -0,0 +1,31 @@
1
+ # Dev Center Python Polling Scheduler Data App
2
+
3
+ ## Getting started
4
+
5
+ [Python SDK Documentation](https://corva-ai.github.io/python-sdk)
6
+
7
+ ### 1. Install
8
+
9
+ You need to have `make` installed:
10
+
11
+ - Windows: [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install)
12
+ - OS X: [Command Line Tools for Xcode](https://developer.apple.com/download/more/)
13
+ - Linux: refer to your distro-specific docs
14
+
15
+ To install dependencies run:
16
+
17
+ ```sh
18
+ make
19
+ ```
20
+
21
+ ### 2. Run Tests
22
+
23
+ ```sh
24
+ make test
25
+ ```
26
+
27
+ ### 3. Create app zip
28
+
29
+ ```sh
30
+ make bundle
31
+ ```
File without changes
File without changes
File without changes
@@ -4,7 +4,7 @@
4
4
  "description": "My Dev Center Real-Time Stream Data App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "bundle": "zip -r $npm_package_name-$npm_package_version.zip package.json $LOCKFILE manifest.json index.js src",
7
+ "bundle": "create-corva-app zip .",
8
8
  "test": "npm audit --production && npm run unit",
9
9
  "unit": "jest"
10
10
  },
File without changes
File without changes
File without changes
@@ -4,7 +4,7 @@
4
4
  "description": "My Dev Center Real-Time Stream Data App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "bundle": "zip -r $npm_package_name-$npm_package_version.zip package.json $LOCKFILE manifest.json index.js lib -x '*.ts'",
7
+ "bundle": "create-corva-app zip .",
8
8
  "test": "npm audit --production && npm run unit",
9
9
  "build": "tsc -p tsconfig.build.json",
10
10
  "unit": "jest"
@@ -0,0 +1,15 @@
1
+ .PHONY: default install bundle release test
2
+ .DEFAULT_GOAL := default
3
+
4
+ default: install
5
+ install: venv
6
+ @. venv/bin/activate && pip install -r requirements.txt
7
+ venv:
8
+ @test -d venv || python -m venv venv
9
+ bundle:
10
+ @create-corva-app zip . --bump-version=skip
11
+ release:
12
+ @create-corva-app release . --bump-version=skip
13
+ test: venv
14
+ @. venv/bin/activate && pytest
15
+
@@ -0,0 +1,31 @@
1
+ # Dev Center Python Real-Time Stream Data App
2
+
3
+ ## Getting started
4
+
5
+ [Python SDK Documentation](https://corva-ai.github.io/python-sdk)
6
+
7
+ ### 1. Install
8
+
9
+ You need to have `make` installed:
10
+
11
+ - Windows: [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install)
12
+ - OS X: [Command Line Tools for Xcode](https://developer.apple.com/download/more/)
13
+ - Linux: refer to your distro-specific docs
14
+
15
+ To install dependencies run:
16
+
17
+ ```sh
18
+ make
19
+ ```
20
+
21
+ ### 2. Run Tests
22
+
23
+ ```sh
24
+ make test
25
+ ```
26
+
27
+ ### 3. Create app zip
28
+
29
+ ```sh
30
+ make bundle
31
+ ```
File without changes
File without changes
File without changes
@@ -4,7 +4,7 @@
4
4
  "description": "My Dev Center Task Data App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "bundle": "zip -r $npm_package_name-$npm_package_version.zip package.json $LOCKFILE manifest.json index.js src",
7
+ "bundle": "create-corva-app zip .",
8
8
  "test": "npm audit --production && npm run unit",
9
9
  "unit": "jest"
10
10
  },
File without changes
File without changes
File without changes
@@ -4,7 +4,7 @@
4
4
  "description": "My Dev Center Task Data App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "bundle": "zip -r $npm_package_name-$npm_package_version.zip package.json $LOCKFILE manifest.json index.js lib -x '*.ts'",
7
+ "bundle": "create-corva-app zip .",
8
8
  "test": "npm audit --production && npm run unit",
9
9
  "build": "tsc -p tsconfig.build.json",
10
10
  "unit": "jest"
@@ -0,0 +1,15 @@
1
+ .PHONY: default install bundle release test
2
+ .DEFAULT_GOAL := default
3
+
4
+ default: install
5
+ install: venv
6
+ @. venv/bin/activate && pip install -r requirements.txt
7
+ venv:
8
+ @test -d venv || python -m venv venv
9
+ bundle:
10
+ @create-corva-app zip . --bump-version=skip
11
+ release:
12
+ @create-corva-app release . --bump-version=skip
13
+ test: venv
14
+ @. venv/bin/activate && pytest
15
+
@@ -0,0 +1,31 @@
1
+ # Dev Center Python Task Data App
2
+
3
+ ## Getting started
4
+
5
+ [Python SDK Documentation](https://corva-ai.github.io/python-sdk)
6
+
7
+ ### 1. Install
8
+
9
+ You need to have `make` installed:
10
+
11
+ - Windows: [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install)
12
+ - OS X: [Command Line Tools for Xcode](https://developer.apple.com/download/more/)
13
+ - Linux: refer to your distro-specific docs
14
+
15
+ To install dependencies run:
16
+
17
+ ```sh
18
+ make
19
+ ```
20
+
21
+ ### 2. Run Tests
22
+
23
+ ```sh
24
+ make test
25
+ ```
26
+
27
+ ### 3. Create app zip
28
+
29
+ ```sh
30
+ make bundle
31
+ ```
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,7 +0,0 @@
1
- const zipAppSource = require('./zipAppSource');
2
- const releaseAppZip = require('./releaseAppZip');
3
-
4
- module.exports = {
5
- zipAppSource,
6
- releaseAppZip,
7
- };