@betty-blocks/cli 25.81.0 → 25.82.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.
@@ -1,6 +1,4 @@
1
1
  "use strict";
2
- /* eslint-disable camelcase,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-argument */
3
- /* npm dependencies */
4
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -14,23 +12,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
13
  };
16
14
  Object.defineProperty(exports, "__esModule", { value: true });
17
- const chalk_1 = __importDefault(require("chalk"));
15
+ /* eslint-disable @typescript-eslint/no-unused-vars */
18
16
  const fs_extra_1 = __importDefault(require("fs-extra"));
19
17
  const path_1 = __importDefault(require("path"));
20
18
  const commander_1 = __importDefault(require("commander"));
21
19
  const prompts_1 = __importDefault(require("prompts"));
22
20
  const adm_zip_1 = __importDefault(require("adm-zip"));
23
- /* internal dependencies */
21
+ const chalk_1 = __importDefault(require("chalk"));
24
22
  const blockDefinitions_1 = require("./blocks/blockDefinitions");
25
23
  const functionDefinitions_1 = require("./functions/functionDefinitions");
26
24
  const publishBlocks_1 = __importDefault(require("./blocks/publishBlocks"));
27
- const config_1 = __importDefault(require("./functions/config"));
28
- const validations_1 = require("./functions/validations");
25
+ const function_block_validations_1 = require("./validations/function-block-validations");
29
26
  commander_1.default.name('bb blocks publish').parse(process.argv);
30
27
  const workingDir = process.cwd();
31
28
  const baseBlocksPath = path_1.default.join(workingDir, 'blocks');
32
29
  const blocks = blockDefinitions_1.blockDefinitions(baseBlocksPath);
33
- const validateBlockConfig = (block) => !!block.functions.length;
34
30
  const createBlockZip = (name, { functions, includes, dependencies }) => {
35
31
  const zip = new adm_zip_1.default();
36
32
  const tmpDir = '.tmp';
@@ -58,22 +54,6 @@ const createBlockZip = (name, { functions, includes, dependencies }) => {
58
54
  return console.error(message);
59
55
  }
60
56
  };
61
- const validateFunctions = (blockFunctions) => __awaiter(void 0, void 0, void 0, function* () {
62
- const baseFunctionsPath = path_1.default.join(workingDir, 'functions');
63
- console.log(`Validating functions in ${baseFunctionsPath}`);
64
- const config = new config_1.default();
65
- const validator = new validations_1.FunctionValidator(config, baseFunctionsPath);
66
- yield validator.initSchema();
67
- const results = yield validator.validateFunctions('', blockFunctions);
68
- let valid = true;
69
- results.forEach((result) => {
70
- if (result.status === 'error') {
71
- valid = false;
72
- }
73
- validations_1.logValidationResult(result);
74
- });
75
- return { valid, results };
76
- });
77
57
  // eslint-disable-next-line no-void
78
58
  void (() => __awaiter(void 0, void 0, void 0, function* () {
79
59
  const choices = blocks.map((block) => ({
@@ -92,25 +72,28 @@ void (() => __awaiter(void 0, void 0, void 0, function* () {
92
72
  selected.forEach((jsonFile) => {
93
73
  // eslint-disable-next-line no-void
94
74
  void (() => __awaiter(void 0, void 0, void 0, function* () {
75
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
95
76
  const block = fs_extra_1.default.readJsonSync(jsonFile);
96
77
  const name = path_1.default.basename(jsonFile, '.json');
97
- if (validateBlockConfig(block)) {
78
+ if (function_block_validations_1.validateBlockConfig(block)) {
98
79
  try {
99
80
  const functionsDir = path_1.default.join(workingDir, 'functions');
100
81
  const funcDefinitions = functionDefinitions_1.functionDefinitions(functionsDir);
101
82
  const blockFunctions = functionDefinitions_1.whitelistedFunctions(funcDefinitions, block.functions);
102
- const { valid, results } = yield validateFunctions(blockFunctions);
103
- if (valid) {
83
+ const { valid: validFunctions } = yield function_block_validations_1.validateFunctions(blockFunctions);
84
+ const { valid: validBlockDependencies, invalidDependencies } = function_block_validations_1.validateBlockDependencies(block.dependencies);
85
+ if (validFunctions && validBlockDependencies) {
104
86
  const zip = createBlockZip(name, block);
105
87
  if (zip)
106
88
  yield publishBlocks_1.default(block.functions, zip);
107
89
  }
108
- else if (results.some(({ errors }) => errors &&
109
- errors.some(({ stack }) => stack === 'instance.icon is not of a type(s) object'))) {
110
- console.log(`Maybe auto-convert your function icons using ${chalk_1.default.cyan('bb functions convert-icons')}?`);
111
- }
112
90
  else {
113
- console.error('Some functions are not valid');
91
+ const errorMessage = function_block_validations_1.getErrorMessage({
92
+ validFunctions,
93
+ validBlockDependencies,
94
+ invalidDependencies,
95
+ });
96
+ throw Error(chalk_1.default.red(`\n${errorMessage}\n`));
114
97
  }
115
98
  }
116
99
  catch ({ message }) {
@@ -118,7 +101,7 @@ void (() => __awaiter(void 0, void 0, void 0, function* () {
118
101
  }
119
102
  }
120
103
  else {
121
- console.log(`Cannot publish invalid block ${name}`);
104
+ console.error(chalk_1.default.red(`\nFunctions can not be empty\n`));
122
105
  }
123
106
  }))();
124
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bb-blocks-publish.js","sourceRoot":"","sources":["../src/bb-blocks-publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bb-blocks-publish.js","sourceRoot":"","sources":["../src/bb-blocks-publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
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 fs_extra_1 = __importDefault(require("fs-extra"));
16
+ const path_1 = __importDefault(require("path"));
17
+ const validations_1 = require("../../functions/validations");
18
+ const config_1 = __importDefault(require("../../functions/config"));
19
+ const workingDir = process.cwd();
20
+ exports.validateBlockConfig = ({ functions }) => !!functions.length;
21
+ exports.validateBlockDependencies = (dependencies) => {
22
+ const packageJson = fs_extra_1.default.readJsonSync(path_1.default.join(workingDir, 'package.json'));
23
+ const packageJsonDependencies = Object.keys(packageJson.dependencies);
24
+ const invalidDependencies = dependencies.filter((dependency) => !packageJsonDependencies.includes(dependency));
25
+ if (invalidDependencies.length) {
26
+ return { valid: false, invalidDependencies };
27
+ }
28
+ return { valid: true, invalidDependencies: [] };
29
+ };
30
+ exports.validateFunctions = (blockFunctions) => __awaiter(void 0, void 0, void 0, function* () {
31
+ const baseFunctionsPath = path_1.default.join(workingDir, 'functions');
32
+ console.log(`Validating functions in ${baseFunctionsPath}`);
33
+ const config = new config_1.default();
34
+ const validator = new validations_1.FunctionValidator(config, baseFunctionsPath);
35
+ yield validator.initSchema();
36
+ const results = yield validator.validateFunctions('', blockFunctions);
37
+ let valid = true;
38
+ results.forEach((result) => {
39
+ if (result.status === 'error') {
40
+ valid = false;
41
+ }
42
+ validations_1.logValidationResult(result);
43
+ });
44
+ return { valid };
45
+ });
46
+ exports.getErrorMessage = ({ validFunctions, validBlockDependencies, invalidDependencies = [], }) => {
47
+ if (!validFunctions) {
48
+ return 'One or more functions are not valid';
49
+ }
50
+ if (!validBlockDependencies && invalidDependencies.length) {
51
+ return `The following dependencies are not valid: ${invalidDependencies.join(', ')}`;
52
+ }
53
+ if (!validBlockDependencies && !invalidDependencies.length) {
54
+ return 'One of the block dependencies is not valid';
55
+ }
56
+ return 'Something went wrong';
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validations/function-block-validations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AAGxB,6DAGqC;AACrC,oEAA4C;AAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEpB,QAAA,mBAAmB,GAAG,CAAC,EAAE,SAAS,EAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;AAEnE,QAAA,yBAAyB,GAAG,CACvC,YAAsB,EAC6B,EAAE;IACrD,MAAM,WAAW,GAAG,kBAAE,CAAC,YAAY,CACjC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CACS,CAAC;IACjD,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACtE,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC9D,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,EAAE;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;KAC9C;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,CAC/B,cAAoC,EACP,EAAE;IAC/B,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC;IAC5D,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,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACtE,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,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAA,CAAC;AAEW,QAAA,eAAe,GAAG,CAAC,EAC9B,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GAAG,EAAE,GAKzB,EAAE,EAAE;IACH,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,qCAAqC,CAAC;KAC9C;IAED,IAAI,CAAC,sBAAsB,IAAI,mBAAmB,CAAC,MAAM,EAAE;QACzD,OAAO,6CAA6C,mBAAmB,CAAC,IAAI,CAC1E,IAAI,CACL,EAAE,CAAC;KACL;IAED,IAAI,CAAC,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;QAC1D,OAAO,4CAA4C,CAAC;KACrD;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@betty-blocks/cli",
3
- "version": "25.81.0",
3
+ "version": "25.82.0",
4
4
  "description": "A Betty Blocks CLI",
5
5
  "main": "build/index.js",
6
6
  "author": "Niek Nijland <niek.nijland@bettyblocks.com>",