@appsemble/cli 0.18.26 → 0.18.30

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 (120) hide show
  1. package/dist/commands/app/create.d.ts +2 -1
  2. package/dist/commands/app/create.js +9 -3
  3. package/dist/commands/app/create.js.map +1 -1
  4. package/dist/commands/app/update.js +4 -2
  5. package/dist/commands/app/update.js.map +1 -1
  6. package/dist/commands/asset/create.d.ts +15 -0
  7. package/dist/commands/asset/create.js +66 -0
  8. package/dist/commands/asset/create.js.map +1 -0
  9. package/dist/commands/asset.d.ts +4 -0
  10. package/dist/commands/asset.js +11 -0
  11. package/dist/commands/asset.js.map +1 -0
  12. package/dist/commands/block/build.js +3 -4
  13. package/dist/commands/block/build.js.map +1 -1
  14. package/dist/commands/block/extract-messages.js +3 -4
  15. package/dist/commands/block/extract-messages.js.map +1 -1
  16. package/dist/commands/block/publish.js +4 -6
  17. package/dist/commands/block/publish.js.map +1 -1
  18. package/dist/commands/config/get.js +2 -1
  19. package/dist/commands/config/get.js.map +1 -1
  20. package/dist/commands/config/set.js +2 -1
  21. package/dist/commands/config/set.js.map +1 -1
  22. package/dist/commands/organization/create.js +9 -31
  23. package/dist/commands/organization/create.js.map +1 -1
  24. package/dist/commands/organization/update.js +9 -30
  25. package/dist/commands/organization/update.js.map +1 -1
  26. package/dist/commands/resource/create.d.ts +3 -1
  27. package/dist/commands/resource/create.js +17 -7
  28. package/dist/commands/resource/create.js.map +1 -1
  29. package/dist/commands/resource/update.d.ts +3 -1
  30. package/dist/commands/resource/update.js +18 -8
  31. package/dist/commands/resource/update.js.map +1 -1
  32. package/dist/commands/start.js +2 -2
  33. package/dist/commands/start.js.map +1 -1
  34. package/dist/commands/team/create.d.ts +14 -0
  35. package/dist/commands/team/create.js +44 -0
  36. package/dist/commands/team/create.js.map +1 -0
  37. package/dist/commands/team/delete.d.ts +13 -0
  38. package/dist/commands/team/delete.js +39 -0
  39. package/dist/commands/team/delete.js.map +1 -0
  40. package/dist/commands/team/member/delete.d.ts +14 -0
  41. package/dist/commands/team/member/delete.js +44 -0
  42. package/dist/commands/team/member/delete.js.map +1 -0
  43. package/dist/commands/team/member/invite.d.ts +14 -0
  44. package/dist/commands/team/member/invite.js +44 -0
  45. package/dist/commands/team/member/invite.js.map +1 -0
  46. package/dist/commands/team/member/update.d.ts +16 -0
  47. package/dist/commands/team/member/update.js +51 -0
  48. package/dist/commands/team/member/update.js.map +1 -0
  49. package/dist/commands/team/member.d.ts +4 -0
  50. package/dist/commands/team/member.js +11 -0
  51. package/dist/commands/team/member.js.map +1 -0
  52. package/dist/commands/team/update.d.ts +15 -0
  53. package/dist/commands/team/update.js +40 -0
  54. package/dist/commands/team/update.js.map +1 -0
  55. package/dist/commands/team.d.ts +4 -0
  56. package/dist/commands/team.js +11 -0
  57. package/dist/commands/team.js.map +1 -0
  58. package/dist/lib/app.d.ts +146 -0
  59. package/dist/lib/app.js +332 -9
  60. package/dist/lib/app.js.map +1 -1
  61. package/dist/lib/{createResource.d.ts → asset.d.ts} +5 -4
  62. package/dist/lib/asset.js +23 -0
  63. package/dist/lib/asset.js.map +1 -0
  64. package/dist/lib/block.d.ts +61 -0
  65. package/dist/lib/block.js +297 -0
  66. package/dist/lib/block.js.map +1 -0
  67. package/dist/lib/getBlockConfigFromTypeScript.js +4 -3
  68. package/dist/lib/getBlockConfigFromTypeScript.js.map +1 -1
  69. package/dist/lib/organization.d.ts +21 -0
  70. package/dist/lib/organization.js +65 -0
  71. package/dist/lib/organization.js.map +1 -0
  72. package/dist/lib/{updateResource.d.ts → resource.d.ts} +19 -0
  73. package/dist/lib/{updateResource.js → resource.js} +17 -2
  74. package/dist/lib/resource.js.map +1 -0
  75. package/dist/lib/serverImport.js +4 -3
  76. package/dist/lib/serverImport.js.map +1 -1
  77. package/dist/lib/team.d.ts +53 -0
  78. package/dist/lib/team.js +64 -0
  79. package/dist/lib/team.js.map +1 -0
  80. package/dist/types.d.ts +2 -2
  81. package/package.json +5 -5
  82. package/dist/lib/buildBlock.d.ts +0 -9
  83. package/dist/lib/buildBlock.js +0 -39
  84. package/dist/lib/buildBlock.js.map +0 -1
  85. package/dist/lib/createApp.d.ts +0 -59
  86. package/dist/lib/createApp.js +0 -120
  87. package/dist/lib/createApp.js.map +0 -1
  88. package/dist/lib/createResource.js +0 -25
  89. package/dist/lib/createResource.js.map +0 -1
  90. package/dist/lib/discoverBlocks.d.ts +0 -10
  91. package/dist/lib/discoverBlocks.js +0 -24
  92. package/dist/lib/discoverBlocks.js.map +0 -1
  93. package/dist/lib/getBlockConfig.d.ts +0 -8
  94. package/dist/lib/getBlockConfig.js +0 -45
  95. package/dist/lib/getBlockConfig.js.map +0 -1
  96. package/dist/lib/makePayload.d.ts +0 -9
  97. package/dist/lib/makePayload.js +0 -94
  98. package/dist/lib/makePayload.js.map +0 -1
  99. package/dist/lib/processBlockMessages.d.ts +0 -2
  100. package/dist/lib/processBlockMessages.js +0 -43
  101. package/dist/lib/processBlockMessages.js.map +0 -1
  102. package/dist/lib/publishBlock.d.ts +0 -8
  103. package/dist/lib/publishBlock.js +0 -32
  104. package/dist/lib/publishBlock.js.map +0 -1
  105. package/dist/lib/traverseAppDirectory.d.ts +0 -11
  106. package/dist/lib/traverseAppDirectory.js +0 -94
  107. package/dist/lib/traverseAppDirectory.js.map +0 -1
  108. package/dist/lib/traverseBlockThemes.d.ts +0 -9
  109. package/dist/lib/traverseBlockThemes.js +0 -40
  110. package/dist/lib/traverseBlockThemes.js.map +0 -1
  111. package/dist/lib/updateApp.d.ts +0 -55
  112. package/dist/lib/updateApp.js +0 -78
  113. package/dist/lib/updateApp.js.map +0 -1
  114. package/dist/lib/updateResource.js.map +0 -1
  115. package/dist/lib/uploadAppBlockTheme.d.ts +0 -11
  116. package/dist/lib/uploadAppBlockTheme.js +0 -33
  117. package/dist/lib/uploadAppBlockTheme.js.map +0 -1
  118. package/dist/lib/uploadMessages.d.ts +0 -9
  119. package/dist/lib/uploadMessages.js +0 -39
  120. package/dist/lib/uploadMessages.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"createApp.js","sourceRoot":"","sources":["../../src/lib/createApp.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
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
- exports.createResource = void 0;
7
- const url_1 = require("url");
8
- const node_utils_1 = require("@appsemble/node-utils");
9
- const axios_1 = __importDefault(require("axios"));
10
- async function createResource({ appId, path, remote, resourceName, }) {
11
- const [file] = await node_utils_1.readData(path);
12
- if (typeof file !== 'object') {
13
- throw new node_utils_1.AppsembleError(`File at ${path} does not contain an object or array of objects`);
14
- }
15
- const resources = [].concat(file);
16
- node_utils_1.logger.info(`Creating ${resources.length} resource(s) from ${path}`);
17
- for (const resource of resources) {
18
- const { data: { id }, } = await axios_1.default.post(`/api/apps/${appId}/resources/${resourceName}`, resource, {
19
- baseURL: remote,
20
- });
21
- node_utils_1.logger.info(`Successfully created resource ${id} at ${new url_1.URL(`/apps/${appId}/resources/${resourceName}/${id}`, remote)}`);
22
- }
23
- }
24
- exports.createResource = createResource;
25
- //# sourceMappingURL=createResource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createResource.js","sourceRoot":"","sources":["../../src/lib/createResource.ts"],"names":[],"mappings":";;;;;;AAAA,6BAA0B;AAE1B,sDAAyE;AAEzE,kDAA0B;AAwBnB,KAAK,UAAU,cAAc,CAAC,EACnC,KAAK,EACL,IAAI,EACJ,MAAM,EACN,YAAY,GACS;IACrB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,qBAAQ,CAAW,IAAI,CAAC,CAAC;IAE9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAI,2BAAc,CAAC,WAAW,IAAI,iDAAiD,CAAC,CAAC;KAC5F;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,mBAAM,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,MAAM,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAErE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,EACJ,IAAI,EAAE,EAAE,EAAE,EAAE,GACb,GAAG,MAAM,eAAK,CAAC,IAAI,CAAW,aAAa,KAAK,cAAc,YAAY,EAAE,EAAE,QAAQ,EAAE;YACvF,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,mBAAM,CAAC,IAAI,CACT,iCAAiC,EAAE,OAAO,IAAI,SAAG,CAC/C,SAAS,KAAK,cAAc,YAAY,IAAI,EAAE,EAAE,EAChD,MAAM,CACP,EAAE,CACJ,CAAC;KACH;AACH,CAAC;AA7BD,wCA6BC"}
@@ -1,10 +0,0 @@
1
- import { BlockConfig } from '@appsemble/types';
2
- /**
3
- * Discover Appsemble blocks based on workspaces in a monorepo.
4
- *
5
- * Both Lerna and Yarn workspaces are supported.
6
- *
7
- * @param root - The project root in which to find workspaces.
8
- * @returns Discovered Appsemble blocks.
9
- */
10
- export declare function discoverBlocks(root: string): Promise<BlockConfig[]>;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.discoverBlocks = void 0;
4
- const node_utils_1 = require("@appsemble/node-utils");
5
- const getBlockConfig_1 = require("./getBlockConfig");
6
- /**
7
- * Discover Appsemble blocks based on workspaces in a monorepo.
8
- *
9
- * Both Lerna and Yarn workspaces are supported.
10
- *
11
- * @param root - The project root in which to find workspaces.
12
- * @returns Discovered Appsemble blocks.
13
- */
14
- async function discoverBlocks(root) {
15
- const dirs = await node_utils_1.getWorkspaces(root);
16
- const manifests = await Promise.all(dirs
17
- .concat(root)
18
- .map((path) => getBlockConfig_1.getBlockConfig(path))
19
- // Ignore non-block workspaces.
20
- .map((p) => p.catch(() => null)));
21
- return manifests.filter(Boolean);
22
- }
23
- exports.discoverBlocks = discoverBlocks;
24
- //# sourceMappingURL=discoverBlocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discoverBlocks.js","sourceRoot":"","sources":["../../src/lib/discoverBlocks.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AAGtD,qDAAkD;AAElD;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,MAAM,IAAI,GAAG,MAAM,0BAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,IAAI;SACD,MAAM,CAAC,IAAI,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAAc,CAAC,IAAI,CAAC,CAAC;QACpC,+BAA+B;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CACnC,CAAC;IACF,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAVD,wCAUC"}
@@ -1,8 +0,0 @@
1
- import { BlockConfig } from '@appsemble/types';
2
- /**
3
- * Get the block configuration from a block directory.
4
- *
5
- * @param dir - The directory in which to search for the configuration file.
6
- * @returns The block configuration.
7
- */
8
- export declare function getBlockConfig(dir: string): Promise<BlockConfig>;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBlockConfig = void 0;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
- const util_1 = require("util");
7
- const node_utils_1 = require("@appsemble/node-utils");
8
- const chalk_1 = require("chalk");
9
- const cosmiconfig_1 = require("cosmiconfig");
10
- /**
11
- * Get the block configuration from a block directory.
12
- *
13
- * @param dir - The directory in which to search for the configuration file.
14
- * @returns The block configuration.
15
- */
16
- async function getBlockConfig(dir) {
17
- const explorer = cosmiconfig_1.cosmiconfig('appsemble', { stopDir: dir });
18
- const found = await explorer.search(dir);
19
- if (!found) {
20
- throw new node_utils_1.AppsembleError('No Appsemble configuration file found.');
21
- }
22
- const { config, filepath } = found;
23
- node_utils_1.logger.info(`Found configuration file: ${filepath}`);
24
- const [pkg] = await node_utils_1.readData(path_1.join(dir, 'package.json'));
25
- if (!pkg.private) {
26
- node_utils_1.logger.warn(`It is ${chalk_1.underline.yellow('highly recommended')} to set “${chalk_1.green('"private"')}: ${chalk_1.cyan('true')}” in package.json`);
27
- }
28
- let longDescription;
29
- if (fs_1.existsSync(path_1.join(dir, 'README.md'))) {
30
- longDescription = await fs_1.promises.readFile(path_1.join(dir, 'README.md'), 'utf8');
31
- }
32
- const result = {
33
- description: pkg.description,
34
- longDescription,
35
- name: pkg.name,
36
- version: pkg.version,
37
- webpack: undefined,
38
- ...config,
39
- dir,
40
- };
41
- node_utils_1.logger.verbose(`Resolved block configuration: ${util_1.inspect(result, { colors: true })}`);
42
- return result;
43
- }
44
- exports.getBlockConfig = getBlockConfig;
45
- //# sourceMappingURL=getBlockConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBlockConfig.js","sourceRoot":"","sources":["../../src/lib/getBlockConfig.ts"],"names":[],"mappings":";;;AAAA,2BAAgD;AAChD,+BAA4B;AAC5B,+BAA+B;AAE/B,sDAAyE;AAEzE,iCAA+C;AAC/C,6CAA0C;AAG1C;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,QAAQ,GAAG,yBAAW,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,2BAAc,CAAC,wCAAwC,CAAC,CAAC;KACpE;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnC,mBAAM,CAAC,IAAI,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,qBAAQ,CAAc,WAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAChB,mBAAM,CAAC,IAAI,CACT,SAAS,iBAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,aAAK,CAAC,WAAW,CAAC,KAAK,YAAI,CACpF,MAAM,CACP,mBAAmB,CACrB,CAAC;KACH;IACD,IAAI,eAAuB,CAAC;IAC5B,IAAI,eAAU,CAAC,WAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE;QACtC,eAAe,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,WAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;KACrE;IAED,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,eAAe;QACf,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,SAAS;QAClB,GAAG,MAAM;QACT,GAAG;KACJ,CAAC;IACF,mBAAM,CAAC,OAAO,CAAC,iCAAiC,cAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,wCAgCC"}
@@ -1,9 +0,0 @@
1
- import { BlockConfig } from '@appsemble/types';
2
- import FormData from 'form-data';
3
- /**
4
- * Configure the payload for a new block version upload.
5
- *
6
- * @param config - The block configuration
7
- * @returns The payload that should be sent to the version endpoint.
8
- */
9
- export declare function makePayload(config: BlockConfig): Promise<FormData>;
@@ -1,94 +0,0 @@
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
- exports.makePayload = void 0;
7
- const fs_1 = require("fs");
8
- const path_1 = require("path");
9
- const util_1 = require("util");
10
- const node_utils_1 = require("@appsemble/node-utils");
11
- const utils_1 = require("@appsemble/utils");
12
- const form_data_1 = __importDefault(require("form-data"));
13
- const getBlockConfigFromTypeScript_1 = require("./getBlockConfigFromTypeScript");
14
- /**
15
- * Configure the payload for a new block version upload.
16
- *
17
- * @param config - The block configuration
18
- * @returns The payload that should be sent to the version endpoint.
19
- */
20
- async function makePayload(config) {
21
- const { dir, output } = config;
22
- const distPath = path_1.resolve(dir, output);
23
- const form = new form_data_1.default();
24
- const { description, layout, longDescription, name, version } = config;
25
- const { actions, events, messages, parameters } = getBlockConfigFromTypeScript_1.getBlockConfigFromTypeScript(config);
26
- const files = await fs_1.promises.readdir(dir);
27
- const icon = files.find((entry) => entry.match(/^icon\.(png|svg)$/));
28
- function append(field, value) {
29
- if (value) {
30
- const serialized = typeof value === 'string' ? value : JSON.stringify(value);
31
- node_utils_1.logger.verbose(`Using ${field}: ${util_1.inspect(value, { colors: true, depth: 20 })}`);
32
- form.append(field, serialized);
33
- }
34
- else {
35
- node_utils_1.logger.silly(`Skipping parameter ${field}`);
36
- }
37
- }
38
- append('actions', actions);
39
- append('description', description);
40
- append('longDescription', longDescription);
41
- append('events', events);
42
- append('layout', layout);
43
- append('name', name);
44
- append('parameters', parameters);
45
- append('version', version);
46
- if (icon) {
47
- const iconPath = path_1.join(dir, icon);
48
- node_utils_1.logger.info(`Using icon: ${iconPath}`);
49
- form.append('icon', fs_1.createReadStream(iconPath));
50
- }
51
- if (messages) {
52
- if (!files.includes('i18n')) {
53
- throw new node_utils_1.AppsembleError('This block has messages defined, but the message files could not be found. Try running extract-messages');
54
- }
55
- const messageKeys = Object.keys(messages).sort(utils_1.compareStrings);
56
- const messagesResult = {};
57
- const messagesPath = path_1.join(dir, 'i18n');
58
- const translations = (await fs_1.promises.readdir(messagesPath)).map((language) => language.toLowerCase());
59
- if (!translations.includes('en.json')) {
60
- throw new node_utils_1.AppsembleError('Could not find ‘en.json’. Try running extract-messages');
61
- }
62
- const duplicates = translations.filter((language, index) => translations.indexOf(language) !== index);
63
- if (duplicates.length) {
64
- throw new node_utils_1.AppsembleError(`Found duplicate language codes: ‘${duplicates.join('’, ')}`);
65
- }
66
- for (const languageFile of translations.filter((t) => t.endsWith('.json'))) {
67
- const language = path_1.basename(languageFile, '.json');
68
- const languagePath = path_1.join(messagesPath, languageFile);
69
- const [m] = await node_utils_1.readData(languagePath);
70
- const languageKeys = Object.keys(m).sort(utils_1.compareStrings);
71
- if (languageKeys.length !== messageKeys.length ||
72
- languageKeys.some((key) => !messageKeys.includes(key))) {
73
- throw new node_utils_1.AppsembleError(`‘${languagePath}’ contains mismatching message keys. Try running extract-messages`);
74
- }
75
- node_utils_1.logger.info(`Including ${language} translations from ‘${languagePath}’`);
76
- messagesResult[language] = m;
77
- }
78
- form.append('messages', JSON.stringify(messagesResult));
79
- }
80
- await node_utils_1.opendirSafe(distPath, (fullpath, stat) => {
81
- if (!stat.isFile()) {
82
- return;
83
- }
84
- const relativePath = path_1.relative(distPath, fullpath);
85
- const realPath = path_1.relative(process.cwd(), fullpath);
86
- node_utils_1.logger.info(`Adding file: “${realPath}” as “${relativePath}”`);
87
- form.append('files', fs_1.createReadStream(fullpath), {
88
- filename: encodeURIComponent(relativePath),
89
- });
90
- }, { recursive: true });
91
- return form;
92
- }
93
- exports.makePayload = makePayload;
94
- //# sourceMappingURL=makePayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makePayload.js","sourceRoot":"","sources":["../../src/lib/makePayload.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { BlockConfig } from '@appsemble/types';
2
- export declare function processBlockMessages(config: BlockConfig, languages: string[]): Promise<void>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processBlockMessages = void 0;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
- const node_utils_1 = require("@appsemble/node-utils");
7
- const utils_1 = require("@appsemble/utils");
8
- const getBlockConfigFromTypeScript_1 = require("./getBlockConfigFromTypeScript");
9
- async function processBlockMessages(config, languages) {
10
- const path = path_1.join(config.dir, 'i18n');
11
- await fs_1.promises.mkdir(path, { recursive: true });
12
- const dir = await fs_1.promises.readdir(path);
13
- const { messages } = getBlockConfigFromTypeScript_1.getBlockConfigFromTypeScript(config);
14
- if (!messages) {
15
- node_utils_1.logger.warn(`Block ${config.name} has no messages.`);
16
- return;
17
- }
18
- const keys = Object.keys(messages).sort(utils_1.compareStrings);
19
- const base = Object.fromEntries(keys.map((key) => [key, '']));
20
- const existingLanguages = dir
21
- .filter((filename) => filename.endsWith('.json'))
22
- .map((filename) => path_1.basename(filename, '.json'));
23
- for (const language of [...new Set([...languages, ...existingLanguages])]) {
24
- const existingMessages = { ...base };
25
- const name = `${language}.json`;
26
- const langPath = path_1.join(path, name);
27
- if (dir.includes(name)) {
28
- const [m] = await node_utils_1.readData(langPath);
29
- Object.assign(existingMessages, m);
30
- }
31
- const extraKeys = Object.keys(existingMessages).filter((key) => !keys.includes(key));
32
- if (extraKeys.length) {
33
- node_utils_1.logger.info(`Found ${extraKeys.length} keys too many. Removing: ${extraKeys.join(', ')}`);
34
- extraKeys.forEach((key) => delete existingMessages[key]);
35
- }
36
- await node_utils_1.writeData(langPath, existingMessages);
37
- node_utils_1.logger.info(`Wrote to file ‘${langPath}’`);
38
- }
39
- node_utils_1.logger.info(`Finished extracting messages for ${config.name}.`);
40
- node_utils_1.logger.info('');
41
- }
42
- exports.processBlockMessages = processBlockMessages;
43
- //# sourceMappingURL=processBlockMessages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processBlockMessages.js","sourceRoot":"","sources":["../../src/lib/processBlockMessages.ts"],"names":[],"mappings":";;;AAAA,2BAAoC;AACpC,+BAAsC;AAEtC,sDAAoE;AAEpE,4CAAkD;AAElD,iFAA8E;AAEvE,KAAK,UAAU,oBAAoB,CACxC,MAAmB,EACnB,SAAmB;IAEnB,MAAM,IAAI,GAAG,WAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,aAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,2DAA4B,CAAC,MAAM,CAAC,CAAC;IAE1D,IAAI,CAAC,QAAQ,EAAE;QACb,mBAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,mBAAmB,CAAC,CAAC;QACrD,OAAO;KACR;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,sBAAc,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,iBAAiB,GAAG,GAAG;SAC1B,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE;QACzE,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,QAAQ,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,WAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,qBAAQ,CAAyB,QAAQ,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;SACpC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrF,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,mBAAM,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,6BAA6B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1F,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1D;QAED,MAAM,sBAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC5C,mBAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,GAAG,CAAC,CAAC;KAC5C;IACD,mBAAM,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAChE,mBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAzCD,oDAyCC"}
@@ -1,8 +0,0 @@
1
- import { BlockConfig } from '@appsemble/types';
2
- /**
3
- * Publish a new block version.
4
- *
5
- * @param config - The block configuration
6
- * @param ignoreConflict - Prevent the command from crashing when a conflict has been detected.
7
- */
8
- export declare function publishBlock(config: BlockConfig, ignoreConflict: boolean): Promise<void>;
@@ -1,32 +0,0 @@
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
- exports.publishBlock = void 0;
7
- const node_utils_1 = require("@appsemble/node-utils");
8
- const axios_1 = __importDefault(require("axios"));
9
- const makePayload_1 = require("./makePayload");
10
- /**
11
- * Publish a new block version.
12
- *
13
- * @param config - The block configuration
14
- * @param ignoreConflict - Prevent the command from crashing when a conflict has been detected.
15
- */
16
- async function publishBlock(config, ignoreConflict) {
17
- node_utils_1.logger.info(`Publishing ${config.name}@${config.version}…`);
18
- const form = await makePayload_1.makePayload(config);
19
- try {
20
- await axios_1.default.post('/api/blocks', form);
21
- node_utils_1.logger.info(`Successfully published ${config.name}@${config.version} 🎉`);
22
- }
23
- catch (err) {
24
- if (ignoreConflict && axios_1.default.isAxiosError(err) && err.response.status === 409) {
25
- node_utils_1.logger.warn(`${config.name}@${config.version} was already published.`);
26
- return;
27
- }
28
- throw err;
29
- }
30
- }
31
- exports.publishBlock = publishBlock;
32
- //# sourceMappingURL=publishBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publishBlock.js","sourceRoot":"","sources":["../../src/lib/publishBlock.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA+C;AAE/C,kDAA0B;AAE1B,+CAA4C;AAE5C;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,MAAmB,EAAE,cAAuB;IAC7E,mBAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI;QACF,MAAM,eAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACtC,mBAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;KAC3E;IAAC,OAAO,GAAY,EAAE;QACrB,IAAI,cAAc,IAAI,eAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAC5E,mBAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;YACvE,OAAO;SACR;QACD,MAAM,GAAG,CAAC;KACX;AACH,CAAC;AAdD,oCAcC"}
@@ -1,11 +0,0 @@
1
- import FormData from 'form-data';
2
- import { AppsembleContext } from '../types';
3
- /**
4
- * Traverses an app directory and appends the files it finds to the given FormData object.
5
- *
6
- * @param path - The path of the app directory to traverse.
7
- * @param context - The Context to use from `.appsemblerc.yaml`.
8
- * @param formData - The FormData object to append the results into..
9
- * @returns The context from `.appsemblerc.yaml` if a match was found.
10
- */
11
- export declare function traverseAppDirectory(path: string, context: string, formData: FormData): Promise<AppsembleContext>;
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.traverseAppDirectory = void 0;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
- const util_1 = require("util");
7
- const node_utils_1 = require("@appsemble/node-utils");
8
- const processCss_1 = require("./processCss");
9
- /**
10
- * Traverses an app directory and appends the files it finds to the given FormData object.
11
- *
12
- * @param path - The path of the app directory to traverse.
13
- * @param context - The Context to use from `.appsemblerc.yaml`.
14
- * @param formData - The FormData object to append the results into..
15
- * @returns The context from `.appsemblerc.yaml` if a match was found.
16
- */
17
- async function traverseAppDirectory(path, context, formData) {
18
- let appFound;
19
- let discoveredContext;
20
- let iconPath;
21
- let maskableIconPath;
22
- node_utils_1.logger.info(`Traversing directory for App files in ${path} 🕵`);
23
- await node_utils_1.opendirSafe(path, async (filepath, stat) => {
24
- switch (stat.name.toLowerCase()) {
25
- case '.appsemblerc.yaml': {
26
- node_utils_1.logger.info(`Reading app settings from ${filepath}`);
27
- const [rc] = await node_utils_1.readData(filepath);
28
- if ('iconBackground' in rc) {
29
- formData.append('iconBackground', rc.iconBackground);
30
- }
31
- if (context && 'context' in rc && Object.hasOwnProperty.call(rc.context, context)) {
32
- discoveredContext = rc.context[context];
33
- node_utils_1.logger.verbose(`Using context: ${util_1.inspect(discoveredContext, { colors: true })}`);
34
- }
35
- break;
36
- }
37
- case 'app-definition.yaml': {
38
- node_utils_1.logger.info(`Using app definition from ${filepath}`);
39
- if (appFound) {
40
- throw new node_utils_1.AppsembleError('Found duplicate app definition');
41
- }
42
- appFound = filepath;
43
- const [app, data] = await node_utils_1.readData(filepath);
44
- formData.append('yaml', data);
45
- formData.append('definition', JSON.stringify(app));
46
- return;
47
- }
48
- case 'icon.png':
49
- case 'icon.svg':
50
- iconPath = filepath;
51
- return;
52
- case 'maskable-icon.png':
53
- maskableIconPath = filepath;
54
- return;
55
- case 'readme.md':
56
- node_utils_1.logger.info(`Including longDescription from ${filepath}`);
57
- formData.append('longDescription', await fs_1.promises.readFile(filepath, 'utf8'));
58
- return;
59
- case 'screenshots':
60
- return node_utils_1.opendirSafe(filepath, (screenshotPath, screenshotStat) => {
61
- node_utils_1.logger.info(`Adding screenshot ${screenshotPath} 🖼️`);
62
- if (!screenshotStat.isFile()) {
63
- throw new node_utils_1.AppsembleError(`Expected ${screenshotPath} to be an image file`);
64
- }
65
- formData.append('screenshots', fs_1.createReadStream(screenshotPath));
66
- }, { allowMissing: true });
67
- case 'theme':
68
- return node_utils_1.opendirSafe(filepath, async (themeDir, themeStat) => {
69
- const name = themeStat.name.toLowerCase();
70
- if (name !== 'core' && name !== 'shared') {
71
- return;
72
- }
73
- if (!themeStat.isDirectory()) {
74
- throw new node_utils_1.AppsembleError(`Expected ${themeDir} to be a directory`);
75
- }
76
- const css = await processCss_1.processCss(path_1.join(themeDir, 'index.css'));
77
- formData.append(`${name}Style`, Buffer.from(css), `${name}.css`);
78
- });
79
- default:
80
- node_utils_1.logger.warn(`Found unused file ${filepath}`);
81
- }
82
- });
83
- if (!appFound) {
84
- throw new node_utils_1.AppsembleError('No app definition found');
85
- }
86
- discoveredContext || (discoveredContext = {});
87
- discoveredContext.icon = discoveredContext.icon
88
- ? path_1.resolve(path, discoveredContext.icon)
89
- : iconPath;
90
- discoveredContext.maskableIcon || (discoveredContext.maskableIcon = maskableIconPath);
91
- return discoveredContext;
92
- }
93
- exports.traverseAppDirectory = traverseAppDirectory;
94
- //# sourceMappingURL=traverseAppDirectory.js.map