@betty-blocks/cli 25.25.0 → 25.26.0
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/assets/app-functions/templates/functions/say-hello/{function.json → 1.0/function.json} +0 -0
- package/assets/app-functions/templates/functions/say-hello/{index.js → 1.0/index.js} +1 -1
- package/build/bb-functions-autoversion.js +19 -0
- package/build/bb-functions-autoversion.js.map +1 -0
- package/build/bb-functions-bump.js +78 -0
- package/build/bb-functions-bump.js.map +1 -0
- package/build/bb-functions-publish.js +7 -1
- package/build/bb-functions-publish.js.map +1 -1
- package/build/bb-functions-validate.js +8 -7
- package/build/bb-functions-validate.js.map +1 -1
- package/build/bb-functions.js +5 -1
- package/build/bb-functions.js.map +1 -1
- package/build/functions/functionDefinitions.js +71 -47
- package/build/functions/functionDefinitions.js.map +1 -1
- package/build/functions/publishAppFunctions.js +4 -3
- package/build/functions/publishAppFunctions.js.map +1 -1
- package/build/functions/validations.js +25 -14
- package/build/functions/validations.js.map +1 -1
- package/build/functions/versions.js +49 -0
- package/build/functions/versions.js.map +1 -0
- package/build/types.js.map +1 -1
- package/package.json +3 -1
package/assets/app-functions/templates/functions/say-hello/{function.json → 1.0/function.json}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* npm dependencies */
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const commander_1 = __importDefault(require("commander"));
|
|
9
|
+
/* internal dependencies */
|
|
10
|
+
const versions_1 = require("./functions/versions");
|
|
11
|
+
/* process arguments */
|
|
12
|
+
commander_1.default.name('bb functions autoversion').parse(process.argv);
|
|
13
|
+
/* execute command */
|
|
14
|
+
// eslint-disable-next-line no-void
|
|
15
|
+
void (() => {
|
|
16
|
+
const functionsPath = path_1.default.join(process.cwd(), 'functions');
|
|
17
|
+
versions_1.migrate(functionsPath, true);
|
|
18
|
+
})();
|
|
19
|
+
//# sourceMappingURL=bb-functions-autoversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bb-functions-autoversion.js","sourceRoot":"","sources":["../src/bb-functions-autoversion.ts"],"names":[],"mappings":";AAAA,sBAAsB;;;;;AAEtB,gDAAwB;AACxB,0DAAgC;AAEhC,2BAA2B;AAE3B,mDAA+C;AAE/C,uBAAuB;AACvB,mBAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7D,qBAAqB;AAErB,mCAAmC;AACnC,KAAK,CAAC,GAAS,EAAE;IACf,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAC5D,kBAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
|
+
const commander_1 = __importDefault(require("commander"));
|
|
18
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
19
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
20
|
+
const functionDefinitions_1 = require("./functions/functionDefinitions");
|
|
21
|
+
commander_1.default.name('bb functions bump');
|
|
22
|
+
const check = chalk_1.default.green(`✔`);
|
|
23
|
+
const cross = chalk_1.default.red(`✖`);
|
|
24
|
+
const workingDir = process.cwd();
|
|
25
|
+
const baseFunctionsPath = path_1.default.join(workingDir, 'functions');
|
|
26
|
+
const collectBumpInput = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const functionDir = (functionPath) => path_1.default.basename(path_1.default.dirname(path_1.default.dirname(functionPath)));
|
|
28
|
+
const versionedFunctions = functionDefinitions_1.functionDefinitions(baseFunctionsPath);
|
|
29
|
+
const functions = versionedFunctions.reduce((acc, { schema: { label }, path: functionPath }) => {
|
|
30
|
+
const name = functionDir(functionPath);
|
|
31
|
+
acc[name] = label;
|
|
32
|
+
return acc;
|
|
33
|
+
}, {});
|
|
34
|
+
const dirName = (yield prompts_1.default({
|
|
35
|
+
type: 'select',
|
|
36
|
+
name: 'functionName',
|
|
37
|
+
message: 'Which function do you want to bump?',
|
|
38
|
+
choices: Object.keys(functions).map((name) => ({
|
|
39
|
+
title: functions[name],
|
|
40
|
+
value: name,
|
|
41
|
+
})),
|
|
42
|
+
initial: 0,
|
|
43
|
+
})).functionName;
|
|
44
|
+
const [[major, minor]] = versionedFunctions
|
|
45
|
+
.filter(({ path: functionPath }) => functionDir(functionPath) === dirName)
|
|
46
|
+
.sort(({ version: a }, { version: b }) => parseFloat(a) - parseFloat(b))
|
|
47
|
+
.slice(-1)
|
|
48
|
+
.map(({ version }) => version.split('.').map(Number));
|
|
49
|
+
const majorVersion = `${major + 1}.0`;
|
|
50
|
+
const minorVersion = `${major}.${minor + 1}`;
|
|
51
|
+
const { bumpMajor } = (yield prompts_1.default({
|
|
52
|
+
type: 'toggle',
|
|
53
|
+
name: 'bumpMajor',
|
|
54
|
+
message: `To which version do you want to bump your function?`,
|
|
55
|
+
initial: false,
|
|
56
|
+
active: majorVersion,
|
|
57
|
+
inactive: minorVersion,
|
|
58
|
+
}));
|
|
59
|
+
return {
|
|
60
|
+
newVersion: bumpMajor ? majorVersion : minorVersion,
|
|
61
|
+
currentVersion: `${major}.${minor}`,
|
|
62
|
+
dirName,
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
// eslint-disable-next-line no-void
|
|
66
|
+
void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
+
const { dirName, newVersion, currentVersion } = yield collectBumpInput();
|
|
68
|
+
const sourceDir = path_1.default.join(workingDir, 'functions', dirName, currentVersion);
|
|
69
|
+
const targetDir = path_1.default.join(workingDir, 'functions', dirName, newVersion);
|
|
70
|
+
try {
|
|
71
|
+
fs_extra_1.default.copySync(sourceDir, targetDir);
|
|
72
|
+
console.log(`${check} Version bumped to ${path_1.default.join(dirName, newVersion)}`);
|
|
73
|
+
}
|
|
74
|
+
catch (_a) {
|
|
75
|
+
console.log(`${cross} Failed to bump version to ${path_1.default.join(dirName, newVersion)}`);
|
|
76
|
+
}
|
|
77
|
+
}))();
|
|
78
|
+
//# sourceMappingURL=bb-functions-bump.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bb-functions-bump.js","sourceRoot":"","sources":["../src/bb-functions-bump.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
19
19
|
const path_1 = __importDefault(require("path"));
|
|
20
20
|
const commander_1 = __importDefault(require("commander"));
|
|
21
21
|
/* internal dependencies */
|
|
22
|
+
const functionDefinitions_1 = require("./functions/functionDefinitions");
|
|
22
23
|
const publishAppFunctions_1 = __importDefault(require("./functions/publishAppFunctions"));
|
|
23
24
|
const publishCustomFunctions_1 = __importDefault(require("./functions/publishCustomFunctions"));
|
|
24
25
|
const validations_1 = require("./functions/validations");
|
|
@@ -58,7 +59,12 @@ void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
58
59
|
yield publishAppFunctions_1.default({ skipCompile });
|
|
59
60
|
}
|
|
60
61
|
else {
|
|
61
|
-
|
|
62
|
+
const baseFunctionsPath = path_1.default.join(workingDir, 'functions');
|
|
63
|
+
const allFunctions = functionDefinitions_1.functionDefinitions(baseFunctionsPath, true);
|
|
64
|
+
const versionedFunctions = functionDefinitions_1.functionDefinitions(baseFunctionsPath);
|
|
65
|
+
if (allFunctions.length !== versionedFunctions.length) {
|
|
66
|
+
console.log(`Maybe auto-version your functions without a version number using ${chalk_1.default.cyan('bb functions autoversion')}?`);
|
|
67
|
+
}
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb-functions-publish.js","sourceRoot":"","sources":["../src/bb-functions-publish.ts"],"names":[],"mappings":";AAAA,4GAA4G;AAC5G,sBAAsB;;;;;;;;;;;;;;AAEtB,wDAA0B;AAC1B,kDAA0B;AAC1B,gDAAwB;AACxB,0DAAgC;AAEhC,2BAA2B;AAE3B,0FAAkE;AAClE,gGAAwE;AACxE,yDAGiC;AACjC,gEAAwC;AAExC,uBAAuB;AAEvB,mBAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;KAClE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CACL,mBAAmB,EACnB,sEAAsE,CACvE;KACA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,mBAAO,CAAC;AAElD,qBAAqB;AAErB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEjC,MAAM,iBAAiB,GAAG,GAA2B,EAAE;IACrD,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAEpD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;YAC7B,KAAK,GAAG,KAAK,CAAC;SACf;QACD,iCAAmB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AAEF,mCAAmC;AACnC,KAAK,CAAC,GAAwB,EAAE;IAC9B,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE;QAC1D,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAExC,IAAI,KAAK,EAAE;YACT,MAAM,6BAAmB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;SAC5C;aAAM;YACL,OAAO,CAAC,GAAG,CACT,
|
|
1
|
+
{"version":3,"file":"bb-functions-publish.js","sourceRoot":"","sources":["../src/bb-functions-publish.ts"],"names":[],"mappings":";AAAA,4GAA4G;AAC5G,sBAAsB;;;;;;;;;;;;;;AAEtB,wDAA0B;AAC1B,kDAA0B;AAC1B,gDAAwB;AACxB,0DAAgC;AAEhC,2BAA2B;AAE3B,yEAAsE;AACtE,0FAAkE;AAClE,gGAAwE;AACxE,yDAGiC;AACjC,gEAAwC;AAExC,uBAAuB;AAEvB,mBAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;KAClE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CACL,mBAAmB,EACnB,sEAAsE,CACvE;KACA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,mBAAO,CAAC;AAElD,qBAAqB;AAErB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEjC,MAAM,iBAAiB,GAAG,GAA2B,EAAE;IACrD,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAEpD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;YAC7B,KAAK,GAAG,KAAK,CAAC;SACf;QACD,iCAAmB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAA,CAAC;AAEF,mCAAmC;AACnC,KAAK,CAAC,GAAwB,EAAE;IAC9B,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE;QAC1D,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAExC,IAAI,KAAK,EAAE;YACT,MAAM,6BAAmB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;SAC5C;aAAM;YACL,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,yCAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,kBAAkB,GAAG,yCAAmB,CAAC,iBAAiB,CAAC,CAAC;YAElE,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;gBACrD,OAAO,CAAC,GAAG,CACT,oEAAoE,eAAK,CAAC,IAAI,CAC5E,0BAA0B,CAC3B,GAAG,CACL,CAAC;aACH;SACF;KACF;SAAM;QACL,gCAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KAC1C;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
|
|
@@ -13,10 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
17
|
const path_1 = __importDefault(require("path"));
|
|
17
18
|
const commander_1 = __importDefault(require("commander"));
|
|
18
19
|
/* internal dependencies */
|
|
19
20
|
const validations_1 = require("./functions/validations");
|
|
21
|
+
const functionDefinitions_1 = require("./functions/functionDefinitions");
|
|
20
22
|
const config_1 = __importDefault(require("./functions/config"));
|
|
21
23
|
/* process arguments */
|
|
22
24
|
commander_1.default
|
|
@@ -32,13 +34,12 @@ const config = new config_1.default();
|
|
|
32
34
|
void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
35
|
const validator = new validations_1.FunctionValidator(config, baseFunctionsPath);
|
|
34
36
|
yield validator.initSchema();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
results.forEach((result) => validations_1.logValidationResult(result));
|
|
37
|
+
const results = yield validator.validateFunctions(inputFunctionName);
|
|
38
|
+
results.forEach(validations_1.logValidationResult);
|
|
39
|
+
const allFunctions = functionDefinitions_1.functionDefinitions(baseFunctionsPath, true);
|
|
40
|
+
const versionedFunctions = functionDefinitions_1.functionDefinitions(baseFunctionsPath);
|
|
41
|
+
if (allFunctions.length !== versionedFunctions.length) {
|
|
42
|
+
console.log(`Maybe auto-version your functions without a version number using ${chalk_1.default.cyan('bb functions autoversion')}?`);
|
|
42
43
|
}
|
|
43
44
|
}))();
|
|
44
45
|
//# sourceMappingURL=bb-functions-validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb-functions-validate.js","sourceRoot":"","sources":["../src/bb-functions-validate.ts"],"names":[],"mappings":";AAAA,sBAAsB;;;;;;;;;;;;;;AAEtB,gDAAwB;AACxB,0DAAgC;AAEhC,2BAA2B;AAE3B,yDAGiC;
|
|
1
|
+
{"version":3,"file":"bb-functions-validate.js","sourceRoot":"","sources":["../src/bb-functions-validate.ts"],"names":[],"mappings":";AAAA,sBAAsB;;;;;;;;;;;;;;AAEtB,kDAA0B;AAC1B,gDAAwB;AACxB,0DAAgC;AAEhC,2BAA2B;AAE3B,yDAGiC;AAEjC,yEAAsE;AAEtE,gEAAwC;AAExC,uBAAuB;AACvB,mBAAO;KACJ,KAAK,CAAC,iBAAiB,CAAC;KACxB,IAAI,CAAC,uBAAuB,CAAC;KAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EACJ,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAC1B,GAAG,mBAAO,CAAC;AACZ,qBAAqB;AAErB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACjC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE7D,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;AAE5B,mCAAmC;AACnC,KAAK,CAAC,GAAwB,EAAE;IAC9B,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,iCAAmB,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,yCAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,kBAAkB,GAAG,yCAAmB,CAAC,iBAAiB,CAAC,CAAC;IAElE,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;QACrD,OAAO,CAAC,GAAG,CACT,oEAAoE,eAAK,CAAC,IAAI,CAC5E,0BAA0B,CAC3B,GAAG,CACL,CAAC;KACH;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
|
package/build/bb-functions.js
CHANGED
|
@@ -14,16 +14,20 @@ const availableCommands = [
|
|
|
14
14
|
'build',
|
|
15
15
|
'publish',
|
|
16
16
|
'validate',
|
|
17
|
+
'autoversion',
|
|
18
|
+
'bump',
|
|
17
19
|
];
|
|
18
20
|
/* process arguments */
|
|
19
21
|
commander_1.default
|
|
20
22
|
.usage(`<${availableCommands.join('|')}>`)
|
|
21
23
|
.name('bb functions')
|
|
24
|
+
.command('autoversion', 'auto-version functions within current working directory')
|
|
25
|
+
.command('build', 'build functions bundle file of current working directory')
|
|
26
|
+
.command('bump', 'increase the major/minor version of a specific function')
|
|
22
27
|
.command('init [identifier]', 'initialize functions project')
|
|
23
28
|
.command('login', 'login using the same credentials as the IDE')
|
|
24
29
|
.command('logout', 'remove all tokens used to authenticate with the APIs')
|
|
25
30
|
.command('new [function-name]', 'Initialize a new function')
|
|
26
|
-
.command('build', 'build functions bundle file of current working directory')
|
|
27
31
|
.command('publish', 'publish functions of current working directory')
|
|
28
32
|
.command('validate', 'validate functions of current working directory')
|
|
29
33
|
.on('command:*', ([command]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bb-functions.js","sourceRoot":"","sources":["../src/bb-functions.ts"],"names":[],"mappings":";AAAA,sBAAsB;;;;;AAEtB,0DAAgC;AAMhC,WAAW;AAEX,MAAM,iBAAiB,GAAuB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,UAAU;
|
|
1
|
+
{"version":3,"file":"bb-functions.js","sourceRoot":"","sources":["../src/bb-functions.ts"],"names":[],"mappings":";AAAA,sBAAsB;;;;;AAEtB,0DAAgC;AAMhC,WAAW;AAEX,MAAM,iBAAiB,GAAuB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,UAAU;IACV,aAAa;IACb,MAAM;CACP,CAAC;AAEF,uBAAuB;AAEvB,mBAAO;KACJ,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACzC,IAAI,CAAC,cAAc,CAAC;KACpB,OAAO,CACN,aAAa,EACb,yDAAyD,CAC1D;KACA,OAAO,CAAC,OAAO,EAAE,0DAA0D,CAAC;KAC5E,OAAO,CAAC,MAAM,EAAE,yDAAyD,CAAC;KAC1E,OAAO,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC5D,OAAO,CAAC,OAAO,EAAE,6CAA6C,CAAC;KAC/D,OAAO,CAAC,QAAQ,EAAE,sDAAsD,CAAC;KACzE,OAAO,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;KAC3D,OAAO,CAAC,SAAS,EAAE,gDAAgD,CAAC;KACpE,OAAO,CAAC,UAAU,EAAE,iDAAiD,CAAC;KAEtE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAW,EAAQ,EAAE;IAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAA2B,CAAC,EAAE;QAC5D,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAChD,mBAAO,CAAC,UAAU,EAAE,CAAC;KACtB;AACH,CAAC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -5,35 +5,48 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const adm_zip_1 = __importDefault(require("adm-zip"));
|
|
7
7
|
const camelCase_1 = __importDefault(require("lodash/camelCase"));
|
|
8
|
+
const startCase_1 = __importDefault(require("lodash/startCase"));
|
|
8
9
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
10
|
+
const glob_1 = __importDefault(require("glob"));
|
|
9
11
|
const path_1 = __importDefault(require("path"));
|
|
10
12
|
/* @doc functionDefinitionPath
|
|
11
13
|
Expands the function dir with `function.json`.
|
|
12
14
|
*/
|
|
13
15
|
const functionDefinitionPath = (functionPath) => path_1.default.join(functionPath, 'function.json');
|
|
14
16
|
exports.functionDefinitionPath = functionDefinitionPath;
|
|
15
|
-
/* @doc
|
|
17
|
+
/* @doc functionImplementationPath
|
|
16
18
|
Expands the function dir with `index.js`.
|
|
17
19
|
*/
|
|
18
|
-
const
|
|
20
|
+
const functionImplementationPath = (functionPath) => path_1.default.join(functionPath, 'index.js');
|
|
19
21
|
/* @doc isFunctionDefinition
|
|
20
22
|
Checks the given functions dir for a file named function.json.
|
|
21
23
|
Returns true if the file exists.
|
|
22
24
|
*/
|
|
23
25
|
const isFunctionDefinition = (functionPath) => fs_extra_1.default.pathExistsSync(functionDefinitionPath(functionPath));
|
|
24
26
|
exports.isFunctionDefinition = isFunctionDefinition;
|
|
27
|
+
/* @doc isFunctionVersion
|
|
28
|
+
Checks the given functions dir to be a function version.
|
|
29
|
+
Returns true if applies to versioning conventions.
|
|
30
|
+
*/
|
|
31
|
+
const isFunctionVersion = (functionPath, functionsDir) => !!path_1.default.basename(functionPath).match(/^\d+\.\d+$/) &&
|
|
32
|
+
parseFloat(path_1.default.basename(functionPath)) >= 1.0 &&
|
|
33
|
+
path_1.default.dirname(path_1.default.dirname(functionPath)) === functionsDir;
|
|
34
|
+
exports.isFunctionVersion = isFunctionVersion;
|
|
25
35
|
/* @doc isFunction
|
|
26
36
|
Checks the given functions dir for a file named index.js.
|
|
27
37
|
Returns true if the file exists.
|
|
28
38
|
*/
|
|
29
|
-
const isFunction = (
|
|
39
|
+
const isFunction = (functionPath) => fs_extra_1.default.pathExistsSync(functionImplementationPath(functionPath));
|
|
30
40
|
/* @doc functionDirs
|
|
31
|
-
Returns a list of directories inside the given functionsDir that have a function.json.
|
|
41
|
+
Returns a list of directories inside the given functionsDir that have a function.json and index.js.
|
|
32
42
|
*/
|
|
33
|
-
const functionDirs = (functionsDir
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
const functionDirs = (functionsDir, includeNonversioned = false) => glob_1.default
|
|
44
|
+
.sync(path_1.default.join(functionsDir, '**', 'function.json'))
|
|
45
|
+
.reduce((dirs, functionDefinition) => {
|
|
46
|
+
const dir = path_1.default.dirname(functionDefinition);
|
|
47
|
+
if (isFunction(dir) &&
|
|
48
|
+
(includeNonversioned || isFunctionVersion(dir, functionsDir))) {
|
|
49
|
+
dirs.push(dir);
|
|
37
50
|
}
|
|
38
51
|
return dirs;
|
|
39
52
|
}, []);
|
|
@@ -42,12 +55,24 @@ exports.functionDirs = functionDirs;
|
|
|
42
55
|
Reads the function.json from the given directory.
|
|
43
56
|
Returns the parsed function.json as object.
|
|
44
57
|
*/
|
|
45
|
-
const functionDefinition = (functionPath) => {
|
|
58
|
+
const functionDefinition = (functionPath, functionsDir) => {
|
|
59
|
+
let name = '';
|
|
60
|
+
let version = '';
|
|
61
|
+
if (isFunctionVersion(functionPath, functionsDir)) {
|
|
62
|
+
name = camelCase_1.default(path_1.default.basename(path_1.default.dirname(functionPath)));
|
|
63
|
+
version = path_1.default.basename(functionPath);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
name = camelCase_1.default(path_1.default.basename(functionPath));
|
|
67
|
+
}
|
|
46
68
|
const filePath = functionDefinitionPath(functionPath);
|
|
69
|
+
const schema = fs_extra_1.default.readJSONSync(filePath);
|
|
47
70
|
try {
|
|
48
71
|
return {
|
|
72
|
+
name,
|
|
73
|
+
version,
|
|
49
74
|
path: filePath,
|
|
50
|
-
schema
|
|
75
|
+
schema,
|
|
51
76
|
};
|
|
52
77
|
}
|
|
53
78
|
catch (err) {
|
|
@@ -60,14 +85,13 @@ exports.functionDefinition = functionDefinition;
|
|
|
60
85
|
Returns an object containing all function.json definitions
|
|
61
86
|
inside the given functionsDir, indexed by function name.
|
|
62
87
|
*/
|
|
63
|
-
const functionDefinitions = (functionsDir) => {
|
|
64
|
-
return functionDirs(functionsDir).map((functionDir) => functionDefinition(functionDir));
|
|
88
|
+
const functionDefinitions = (functionsDir, includeNonversioned = false) => {
|
|
89
|
+
return functionDirs(functionsDir, includeNonversioned).map((functionDir) => functionDefinition(functionDir, functionsDir));
|
|
65
90
|
};
|
|
66
91
|
exports.functionDefinitions = functionDefinitions;
|
|
67
92
|
const stringifyDefinitions = (definitions) => {
|
|
68
|
-
const updatedDefinitions = definitions.
|
|
69
|
-
|
|
70
|
-
}, {});
|
|
93
|
+
const updatedDefinitions = definitions.map(({ name, version, schema }) => (Object.assign(Object.assign({ name,
|
|
94
|
+
version }, schema), { options: JSON.stringify(schema.options) })));
|
|
71
95
|
return JSON.stringify(updatedDefinitions);
|
|
72
96
|
};
|
|
73
97
|
exports.stringifyDefinitions = stringifyDefinitions;
|
|
@@ -77,13 +101,12 @@ exports.stringifyDefinitions = stringifyDefinitions;
|
|
|
77
101
|
*/
|
|
78
102
|
const newFunctionDefinition = (functionsDir, functionName) => {
|
|
79
103
|
const functionDefName = functionName.replace(/-./g, (x) => x.toUpperCase()[1]);
|
|
80
|
-
const functionDir = path_1.default.join(functionsDir, functionName);
|
|
104
|
+
const functionDir = path_1.default.join(functionsDir, functionName, '1.0');
|
|
81
105
|
try {
|
|
82
106
|
fs_extra_1.default.mkdirpSync(functionDir);
|
|
83
107
|
fs_extra_1.default.writeJSONSync(functionDefinitionPath(functionDir), {
|
|
84
|
-
name: functionDefName,
|
|
85
108
|
description: 'Description',
|
|
86
|
-
label: functionName,
|
|
109
|
+
label: startCase_1.default(functionName),
|
|
87
110
|
category: 'Misc',
|
|
88
111
|
icon: 'CreateIcon',
|
|
89
112
|
options: [],
|
|
@@ -97,49 +120,50 @@ const newFunctionDefinition = (functionsDir, functionName) => {
|
|
|
97
120
|
}
|
|
98
121
|
};
|
|
99
122
|
exports.newFunctionDefinition = newFunctionDefinition;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
123
|
+
const toVariableName = ({ name, version }) => `${camelCase_1.default(name)}_${version.replace('.', '_')}`;
|
|
124
|
+
/* @doc importFunctions
|
|
125
|
+
Returns an array of strings, each item being an imported function:
|
|
126
|
+
`import { default as functionName_1_0 } from './function-name/1.0';`;
|
|
104
127
|
*/
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const reExportFunctions = (functions) => functions.reduce((exportedFunctions, file) => {
|
|
117
|
-
exportedFunctions.push(`export { default as ${camelCase_1.default(file)} } from './${file}';`);
|
|
118
|
-
return exportedFunctions;
|
|
119
|
-
}, []);
|
|
128
|
+
const importFunctions = (definitions, functionsPath) => definitions.map((definition) => `import { default as ${toVariableName(definition)} } from '${path_1.default.dirname(definition.path.replace(functionsPath, '.'))}';`);
|
|
129
|
+
/* @doc exportFunctions
|
|
130
|
+
Returns a string in which functions will be exported in an object;
|
|
131
|
+
*/
|
|
132
|
+
const exportFunctions = (definitions) => {
|
|
133
|
+
const exports = definitions.map((definition) => {
|
|
134
|
+
const { name, version } = definition;
|
|
135
|
+
return ` "${name} ${version}": ${toVariableName(definition)},`;
|
|
136
|
+
});
|
|
137
|
+
return ['const fn = {', ...exports, '};', '', 'export default fn;'];
|
|
138
|
+
};
|
|
120
139
|
/* @doc generateIndex
|
|
121
140
|
Fetches all functions and re-exports them.
|
|
122
141
|
Returns the result as a Buffer.
|
|
123
142
|
*/
|
|
124
|
-
const generateIndex = () => {
|
|
125
|
-
const
|
|
126
|
-
const code =
|
|
127
|
-
|
|
143
|
+
const generateIndex = (functionsPath) => {
|
|
144
|
+
const definitions = functionDefinitions(functionsPath);
|
|
145
|
+
const code = [];
|
|
146
|
+
code.push(...importFunctions(definitions, functionsPath));
|
|
147
|
+
code.push('');
|
|
148
|
+
code.push(...exportFunctions(definitions));
|
|
149
|
+
code.push('');
|
|
150
|
+
return code.join('\n');
|
|
128
151
|
};
|
|
152
|
+
exports.generateIndex = generateIndex;
|
|
129
153
|
/* @doc zipFunctionDefinitions
|
|
130
|
-
Takes
|
|
154
|
+
Takes functionsPath as path to a directory with function definitions.
|
|
131
155
|
Scans each directory for a function.json file, and if present adds it
|
|
132
156
|
to the zip file. Generates an index.js and adds it to the zip file.
|
|
133
157
|
Returns path to the zip file.
|
|
134
|
-
|
|
135
|
-
const zipFunctionDefinitions = (
|
|
158
|
+
*/
|
|
159
|
+
const zipFunctionDefinitions = (functionsPath) => {
|
|
136
160
|
const zip = new adm_zip_1.default();
|
|
137
161
|
const tmpDir = '.tmp';
|
|
138
162
|
const zipFilePath = `${tmpDir}/app.zip`;
|
|
139
163
|
fs_extra_1.default.ensureDirSync(tmpDir);
|
|
140
|
-
zip.addLocalFile(path_1.default.join(
|
|
141
|
-
zip.addFile('index.js', generateIndex());
|
|
142
|
-
zip.addLocalFolder(
|
|
164
|
+
zip.addLocalFile(path_1.default.join(path_1.default.dirname(functionsPath), 'package.json'));
|
|
165
|
+
zip.addFile('index.js', Buffer.from(generateIndex(functionsPath)));
|
|
166
|
+
zip.addLocalFolder(functionsPath);
|
|
143
167
|
zip.writeZip(zipFilePath);
|
|
144
168
|
return zipFilePath;
|
|
145
169
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionDefinitions.js","sourceRoot":"","sources":["../../src/functions/functionDefinitions.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,iEAAyC;AACzC,wDAA0B;AAC1B,gDAAwB;
|
|
1
|
+
{"version":3,"file":"functionDefinitions.js","sourceRoot":"","sources":["../../src/functions/functionDefinitions.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,iEAAyC;AACzC,iEAAyC;AACzC,wDAA0B;AAC1B,gDAAwB;AACxB,gDAAwB;AAqBxB;;EAEE;AACF,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC9D,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AA0NzC,wDAAsB;AAxNxB;;EAEE;AACF,MAAM,0BAA0B,GAAG,CAAC,YAAoB,EAAU,EAAE,CAClE,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAEtC;;;EAGE;AACF,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAW,EAAE,CAC7D,kBAAE,CAAC,cAAc,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;AAiNxD,oDAAoB;AA/MtB;;;EAGE;AACF,MAAM,iBAAiB,GAAG,CACxB,YAAoB,EACpB,YAAoB,EACX,EAAE,CACX,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACjD,UAAU,CAAC,cAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG;IAC9C,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,YAAY,CAAC;AAsM1D,8CAAiB;AApMnB;;;EAGE;AACF,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAW,EAAE,CACnD,kBAAE,CAAC,cAAc,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC;AAE9D;;EAEE;AACF,MAAM,YAAY,GAAG,CACnB,YAAoB,EACpB,mBAAmB,GAAG,KAAK,EACjB,EAAE,CACZ,cAAI;KACD,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;KACpD,MAAM,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,IACE,UAAU,CAAC,GAAG,CAAC;QACf,CAAC,mBAAmB,IAAI,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAC7D;QACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,EAAc,CAAC,CAAC;AAqKrB,oCAAY;AAnKd;;;EAGE;AACF,MAAM,kBAAkB,GAAG,CACzB,YAAoB,EACpB,YAAoB,EACA,EAAE;IACtB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE;QACjD,IAAI,GAAG,mBAAS,CAAC,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;KACvC;SAAM;QACL,IAAI,GAAG,mBAAS,CAAC,cAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;KAC/C;IAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,kBAAE,CAAC,YAAY,CAAC,QAAQ,CAAW,CAAC;IAEnD,IAAI;QACF,OAAO;YACL,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,MAAM;SACe,CAAC;KACzB;IAAC,OAAO,GAAG,EAAE;QACZ,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;KACjE;AACH,CAAC,CAAC;AAqIA,gDAAkB;AAnIpB;;;EAGE;AACF,MAAM,mBAAmB,GAAG,CAC1B,YAAoB,EACpB,mBAAmB,GAAG,KAAK,EACL,EAAE;IACxB,OAAO,YAAY,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACzE,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAC9C,CAAC;AACJ,CAAC,CAAC;AAyHA,kDAAmB;AAvHrB,MAAM,oBAAoB,GAAG,CAAC,WAAiC,EAAU,EAAE;IACzE,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,+BACxE,IAAI;QACJ,OAAO,IACJ,MAAM,KACT,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IACvC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAoHA,oDAAoB;AAlHtB;;;EAGE;AACF,MAAM,qBAAqB,GAAG,CAC5B,YAAoB,EACpB,YAAoB,EACd,EAAE;IACR,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAC1C,KAAK,EACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAC1B,CAAC;IACF,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI;QACF,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3B,kBAAE,CAAC,aAAa,CACd,sBAAsB,CAAC,WAAW,CAAC,EACnC;YACE,WAAW,EAAE,aAAa;YAC1B,KAAK,EAAE,mBAAS,CAAC,YAAY,CAAC;YAC9B,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,MAAM;SACf,EACD,EAAE,MAAM,EAAE,CAAC,EAAE,CACd,CAAC;QAEF,kBAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAClC,SAAS,eAAe,2CAA2C,eAAe,GAAG,CACtF,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,KAAK,GAAG,EAAE,CAAC,CAAC;KAC7E;AACH,CAAC,CAAC;AA6EA,sDAAqB;AA3EvB,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAsB,EAAU,EAAE,CACvE,GAAG,mBAAS,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAEpD;;;EAGE;AACF,MAAM,eAAe,GAAG,CACtB,WAAiC,EACjC,aAAqB,EACX,EAAE,CACZ,WAAW,CAAC,GAAG,CACb,CAAC,UAAU,EAAE,EAAE,CACb,uBAAuB,cAAc,CAAC,UAAU,CAAC,YAAY,cAAI,CAAC,OAAO,CACvE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAC5C,IAAI,CACR,CAAC;AAEJ;;EAEE;AACF,MAAM,eAAe,GAAG,CAAC,WAAiC,EAAY,EAAE;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAS,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QACrC,OAAO,MAAM,IAAI,IAAI,OAAO,MAAM,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;EAGE;AACF,MAAM,aAAa,GAAG,CAAC,aAAqB,EAAU,EAAE;IACtD,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AA6BA,sCAAa;AA3Bf;;;;;EAKE;AACF,MAAM,sBAAsB,GAAG,CAAC,aAAqB,EAAU,EAAE;IAC/D,MAAM,GAAG,GAAG,IAAI,iBAAM,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,WAAW,GAAG,GAAG,MAAM,UAAU,CAAC;IAExC,kBAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEzB,GAAG,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACnE,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAElC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAYA,wDAAsB"}
|
|
@@ -25,12 +25,13 @@ const functionDefinitions_1 = require("./functionDefinitions");
|
|
|
25
25
|
const config_1 = __importDefault(require("./config"));
|
|
26
26
|
/* execute command */
|
|
27
27
|
const workingDir = process.cwd();
|
|
28
|
-
const logResult = ({ status, name, error }, operation) => {
|
|
28
|
+
const logResult = ({ status, name, version, error }, operation) => {
|
|
29
|
+
const delimiter = version ? '-' : '';
|
|
29
30
|
if (status === 'ok') {
|
|
30
|
-
console.log(`${chalk_1.default.green(`✔`)} ${operation} ${name}.`);
|
|
31
|
+
console.log(`${chalk_1.default.green(`✔`)} ${operation} ${name}${delimiter}${version || ''}.`);
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
33
|
-
console.log(`${chalk_1.default.red(`✖`)} ${operation} ${name} failed. Errors: ${JSON.stringify(error)}.`);
|
|
34
|
+
console.log(`${chalk_1.default.red(`✖`)} ${operation} ${name}${delimiter}${version || ''} failed. Errors: ${JSON.stringify(error)}.`);
|
|
34
35
|
}
|
|
35
36
|
};
|
|
36
37
|
const uploadAppFunctions = (functionDefinitionsFile, functionsJson, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishAppFunctions.js","sourceRoot":"","sources":["../../src/functions/publishAppFunctions.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,sBAAsB;;;;;;;;;;;;;;AAEtB,gDAAwB;AACxB,wDAA0B;AAC1B,kDAA0B;AAC1B,4DAA+B;AAC/B,0DAAiC;AAEjC,2BAA2B;AAE3B,2DAAwC;AACxC,+DAI+B;AAE/B,sDAA8B;AAE9B,qBAAqB;AAErB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"publishAppFunctions.js","sourceRoot":"","sources":["../../src/functions/publishAppFunctions.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,sBAAsB;;;;;;;;;;;;;;AAEtB,gDAAwB;AACxB,wDAA0B;AAC1B,kDAA0B;AAC1B,4DAA+B;AAC/B,0DAAiC;AAEjC,2BAA2B;AAE3B,2DAAwC;AACxC,+DAI+B;AAE/B,sDAA8B;AAE9B,qBAAqB;AAErB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAqBjC,MAAM,SAAS,GAAG,CAChB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAkB,EAChD,SAAiB,EACX,EAAE;IACR,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,CAAC,GAAG,CACT,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,GAAG,SAAS,GAAG,OAAO,IAAI,EAAE,GAAG,CACxE,CAAC;KACH;SAAM;QACL,OAAO,CAAC,GAAG,CACT,GAAG,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,GAAG,SAAS,GAChD,OAAO,IAAI,EACb,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAC7C,CAAC;KACH;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,uBAA+B,EAC/B,aAAqB,EACrB,MAAc,EACI,EAAE;IACpB,MAAM,UAAU,GAAG,IAAI,eAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAE,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;IACD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,aAAa,sBAAsB,aAAa,YAAY,CAAC;IACnF,OAAO,oBAAK,CAAC,GAAG,EAAE;QAChB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE;YACP,4EAA4E;YAC5E,aAAa,EAAE,UAAU,UAAU,CAAC,GAAG,EAAE,EAAE;SAC5C;KACF,CAAC,CAAC,IAAI,CAAC,CAAO,GAAG,EAAE,EAAE;QACpB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;YAC5C,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,kBAAkB,CAAC,uBAAuB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;SAC3E;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;YACtB,MAAM,IAAI,KAAK,CACb,sCAAsC,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CACvE,CAAC;SACH;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAC3C,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;QAExC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvB,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;SACzE;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAO,MAAc,EAAiB,EAAE;IAC/D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,4CAAsB,CAAC,YAAY,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,yCAAmB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,0CAAoB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAA,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAO,EACjC,WAAW,GACI,EAAiB,EAAE;IAClC,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7D,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
|
|
@@ -51,18 +51,23 @@ const validateFunctionDefinition = (validator, definition) => {
|
|
|
51
51
|
const functionSchema = validator.schemas[functionSchemaId];
|
|
52
52
|
return validator.validate(definition, functionSchema);
|
|
53
53
|
};
|
|
54
|
-
const
|
|
55
|
-
|
|
54
|
+
const forceVersion = ({ path: functionPath }, functionsDir) => {
|
|
55
|
+
if (!functionDefinitions_1.isFunctionVersion(path_1.default.dirname(functionPath), functionsDir)) {
|
|
56
|
+
throw new Error(`${functionPath.replace('/function.json', '')} does not apply as a valid version directory`);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const validateSchema = (functionJson, validator) => {
|
|
60
|
+
const { name, version, path: definitionPath, schema, } = functionJson;
|
|
56
61
|
const { errors } = validateFunctionDefinition(validator, schema);
|
|
57
62
|
const status = errors.length ? 'error' : 'ok';
|
|
58
63
|
return {
|
|
59
64
|
status,
|
|
60
65
|
path: definitionPath,
|
|
61
|
-
functionName:
|
|
66
|
+
functionName: `${name}-${version}`,
|
|
62
67
|
errors,
|
|
63
68
|
};
|
|
64
69
|
};
|
|
65
|
-
exports.
|
|
70
|
+
exports.validateSchema = validateSchema;
|
|
66
71
|
class FunctionValidator {
|
|
67
72
|
constructor(config, functionsDir) {
|
|
68
73
|
this.config = config;
|
|
@@ -74,26 +79,32 @@ class FunctionValidator {
|
|
|
74
79
|
yield importSchema(this.schemaValidator, this.config);
|
|
75
80
|
});
|
|
76
81
|
}
|
|
77
|
-
validateFunction(
|
|
78
|
-
const functionPath =
|
|
82
|
+
validateFunction(definition) {
|
|
83
|
+
const functionPath = definition.path;
|
|
84
|
+
const functionName = functionPath;
|
|
79
85
|
try {
|
|
80
|
-
|
|
81
|
-
return
|
|
86
|
+
forceVersion(definition, this.functionsDir);
|
|
87
|
+
return validateSchema(definition, this.schemaValidator);
|
|
82
88
|
}
|
|
83
|
-
catch (
|
|
89
|
+
catch (error) {
|
|
90
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
84
91
|
return {
|
|
85
92
|
status: 'error',
|
|
86
93
|
path: functionPath,
|
|
87
94
|
functionName,
|
|
88
|
-
errors: [
|
|
95
|
+
errors: [new Error(message)],
|
|
89
96
|
};
|
|
90
97
|
}
|
|
91
98
|
}
|
|
92
|
-
validateFunctions() {
|
|
99
|
+
validateFunctions(functionName) {
|
|
93
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
const definitions = functionDefinitions_1.functionDefinitions(this.functionsDir);
|
|
95
|
-
const validations =
|
|
96
|
-
|
|
101
|
+
const definitions = functionDefinitions_1.functionDefinitions(this.functionsDir, true);
|
|
102
|
+
const validations = [];
|
|
103
|
+
definitions.forEach((definition) => {
|
|
104
|
+
const preleadingPath = path_1.default.join(this.functionsDir, functionName || '', '/');
|
|
105
|
+
if (definition.path.match(preleadingPath)) {
|
|
106
|
+
validations.push(this.validateFunction(definition));
|
|
107
|
+
}
|
|
97
108
|
});
|
|
98
109
|
return Promise.all(validations);
|
|
99
110
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6GAA6G;AAC7G,4DAA+B;AAC/B,gDAAwB;AACxB,kDAA0B;AAC1B,2CAAyE;AAEzE,+DAI+B;AAc/B,MAAM,iBAAiB,GAAG,CAAO,SAAiB,EAAmB,EAAE;IACrE,MAAM,GAAG,GAAG,MAAM,oBAAK,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,IAAc,CAAC;AACxB,CAAC,CAAA,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,SAAoB,EACpB,QAAgB,EACI,EAAE;IACtB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrD,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACtD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,SAAoB,EACpB,MAAc,EACM,EAAE;IACtB,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACvE,OAAO,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACxD,CAAC,CAAA,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAO,MAAc,EAAsB,EAAE;IACrE,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAElC,OAAO,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const functionDefinitions_1 = require("./functionDefinitions");
|
|
11
|
+
const check = chalk_1.default.green(`✔`);
|
|
12
|
+
const cross = chalk_1.default.red(`✖`);
|
|
13
|
+
const migrate = (functionsPath, verbose = false) => {
|
|
14
|
+
const log = (msg) => verbose && console.log(msg);
|
|
15
|
+
log('Checking for unversioned functions ...');
|
|
16
|
+
functionDefinitions_1.functionDirs(functionsPath, true).forEach((functionPath) => {
|
|
17
|
+
const definition = functionDefinitions_1.functionDefinition(functionPath, functionsPath);
|
|
18
|
+
const { name } = definition;
|
|
19
|
+
let { version } = definition;
|
|
20
|
+
let postfix = kebabCase_1.default(name);
|
|
21
|
+
if (functionDefinitions_1.isFunctionVersion(functionPath, functionsPath)) {
|
|
22
|
+
postfix = `-${version}`;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
version = '1.0';
|
|
26
|
+
postfix = ` => ${name}/${version}`;
|
|
27
|
+
try {
|
|
28
|
+
delete definition.schema.name;
|
|
29
|
+
fs_extra_1.default.writeJSONSync(functionDefinitions_1.functionDefinitionPath(functionPath), definition.schema, {
|
|
30
|
+
spaces: 2,
|
|
31
|
+
});
|
|
32
|
+
const tmpDir = '.tmp';
|
|
33
|
+
const tempDir = path_1.default.join(tmpDir, `${kebabCase_1.default(name)}-${version}`);
|
|
34
|
+
const targetDir = path_1.default.join(functionsPath, kebabCase_1.default(name));
|
|
35
|
+
fs_extra_1.default.ensureDirSync(tmpDir);
|
|
36
|
+
fs_extra_1.default.renameSync(functionPath, tempDir);
|
|
37
|
+
fs_extra_1.default.mkdirSync(targetDir);
|
|
38
|
+
fs_extra_1.default.moveSync(tempDir, path_1.default.join(targetDir, version));
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
log(`${cross} Failed to version: ${name}`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
log(`${check} Version: ${name}${postfix}`);
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
exports.migrate = migrate;
|
|
49
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/functions/versions.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,wDAA0B;AAC1B,iEAAyC;AACzC,gDAAwB;AAExB,+DAK+B;AAE/B,MAAM,KAAK,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,KAAK,GAAG,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7B,MAAM,OAAO,GAAG,CAAC,aAAqB,EAAE,OAAO,GAAG,KAAK,EAAQ,EAAE;IAC/D,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEzD,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAE9C,kCAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,wCAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACnE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAE5B,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC7B,IAAI,OAAO,GAAG,mBAAS,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,uCAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;YAClD,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;SACzB;aAAM;YACL,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,OAAO,IAAI,IAAI,OAAO,EAAE,CAAC;YAEnC,IAAI;gBACF,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBAE9B,kBAAE,CAAC,aAAa,CACd,4CAAsB,CAAC,YAAY,CAAC,EACpC,UAAU,CAAC,MAAM,EACjB;oBACE,MAAM,EAAE,CAAC;iBACV,CACF,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAS,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE5D,kBAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzB,kBAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACrC,kBAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACxB,kBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;aACrD;YAAC,OAAO,GAAG,EAAE;gBACZ,GAAG,CAAC,GAAG,KAAK,uBAAuB,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO;aACR;SACF;QAED,GAAG,CAAC,GAAG,KAAK,aAAa,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEO,0BAAO"}
|
package/build/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAkIA,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,sCAAa,CAAA;IACb,0CAAiB,CAAA;AACnB,CAAC,EARW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAQhC;AAED,oBAAoB;AACpB,IAAY,yBASX;AATD,WAAY,yBAAyB;IACnC,4CAAe,CAAA;IACf,kDAAqB,CAAA;IACrB,8CAAiB,CAAA;IACjB,0CAAa,CAAA;IACb,sDAAyB,CAAA;IACzB,kDAAqB,CAAA;IACrB,0CAAa,CAAA;IACb,0CAAa,CAAA;AACf,CAAC,EATW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QASpC;AA0BD,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@betty-blocks/cli",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.26.0",
|
|
4
4
|
"description": "A Betty Blocks CLI",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"author": "Niek Nijland <niek.nijland@bettyblocks.com>",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"@types/app-root-path": "^1.2.4",
|
|
36
36
|
"@types/babel__generator": "^7.6.3",
|
|
37
37
|
"@types/babel__traverse": "^7.0.7",
|
|
38
|
+
"@types/glob": "^7.2.0",
|
|
38
39
|
"@types/fs-extra": "^8.0.0",
|
|
39
40
|
"@types/lodash": "^4.14.176",
|
|
40
41
|
"@types/node": "^12.6.8",
|
|
@@ -74,6 +75,7 @@
|
|
|
74
75
|
"commander": "^2.20.0",
|
|
75
76
|
"form-data": "^4.0.0",
|
|
76
77
|
"fs-extra": "^8.1.0",
|
|
78
|
+
"glob": "^7.2.0",
|
|
77
79
|
"joi": "^17.2.1",
|
|
78
80
|
"jsdoc-api": "^7.1.0",
|
|
79
81
|
"jsonschema": "^1.4.0",
|