directus-template-cli 0.7.0-beta.4 → 0.7.0-beta.6

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 (105) hide show
  1. package/bin/dev.js +6 -0
  2. package/bin/run.js +5 -0
  3. package/dist/commands/apply.d.ts +17 -17
  4. package/dist/commands/apply.js +163 -173
  5. package/dist/commands/base.d.ts +15 -0
  6. package/dist/commands/base.js +45 -0
  7. package/dist/commands/extract.d.ts +16 -7
  8. package/dist/commands/extract.js +80 -73
  9. package/dist/commands/init.d.ts +20 -15
  10. package/dist/commands/init.js +189 -126
  11. package/dist/flags/common.d.ts +8 -7
  12. package/dist/flags/common.js +13 -11
  13. package/dist/index.js +1 -5
  14. package/dist/lib/constants.d.ts +3 -5
  15. package/dist/lib/constants.js +8 -13
  16. package/dist/lib/extract/extract-access.js +11 -15
  17. package/dist/lib/extract/extract-assets.js +20 -25
  18. package/dist/lib/extract/extract-collections.js +12 -16
  19. package/dist/lib/extract/extract-content.js +14 -19
  20. package/dist/lib/extract/extract-dashboards.js +22 -28
  21. package/dist/lib/extract/extract-extensions.js +12 -16
  22. package/dist/lib/extract/extract-fields.js +13 -17
  23. package/dist/lib/extract/extract-files.js +15 -19
  24. package/dist/lib/extract/extract-flows.js +22 -28
  25. package/dist/lib/extract/extract-folders.js +15 -19
  26. package/dist/lib/extract/extract-permissions.js +12 -16
  27. package/dist/lib/extract/extract-policies.js +12 -16
  28. package/dist/lib/extract/extract-presets.js +12 -16
  29. package/dist/lib/extract/extract-relations.js +14 -18
  30. package/dist/lib/extract/extract-roles.js +15 -19
  31. package/dist/lib/extract/extract-schema.js +17 -21
  32. package/dist/lib/extract/extract-settings.js +12 -16
  33. package/dist/lib/extract/extract-translations.js +12 -16
  34. package/dist/lib/extract/extract-users.js +15 -19
  35. package/dist/lib/extract/index.js +47 -51
  36. package/dist/lib/init/config.d.ts +1 -1
  37. package/dist/lib/init/config.js +3 -6
  38. package/dist/lib/init/index.d.ts +5 -9
  39. package/dist/lib/init/index.js +105 -85
  40. package/dist/lib/init/types.js +1 -2
  41. package/dist/lib/load/apply-flags.js +17 -23
  42. package/dist/lib/load/index.d.ts +1 -12
  43. package/dist/lib/load/index.js +40 -44
  44. package/dist/lib/load/load-access.js +15 -20
  45. package/dist/lib/load/load-collections.js +27 -32
  46. package/dist/lib/load/load-dashboards.js +19 -25
  47. package/dist/lib/load/load-data.js +43 -49
  48. package/dist/lib/load/load-extensions.js +30 -38
  49. package/dist/lib/load/load-files.js +20 -24
  50. package/dist/lib/load/load-flows.js +23 -29
  51. package/dist/lib/load/load-folders.js +16 -20
  52. package/dist/lib/load/load-permissions.js +13 -17
  53. package/dist/lib/load/load-policies.js +14 -18
  54. package/dist/lib/load/load-presets.js +14 -18
  55. package/dist/lib/load/load-relations.d.ts +2 -0
  56. package/dist/lib/load/load-relations.js +16 -18
  57. package/dist/lib/load/load-roles.js +19 -23
  58. package/dist/lib/load/load-settings.js +18 -21
  59. package/dist/lib/load/load-translations.js +14 -18
  60. package/dist/lib/load/load-users.js +21 -25
  61. package/dist/lib/load/update-required-fields.js +13 -17
  62. package/dist/lib/sdk.d.ts +1 -2
  63. package/dist/lib/sdk.js +27 -27
  64. package/dist/lib/types/extension.js +1 -2
  65. package/dist/lib/types.d.ts +18 -0
  66. package/dist/lib/types.js +1 -0
  67. package/dist/lib/utils/animated-bunny.js +9 -14
  68. package/dist/lib/utils/auth.d.ts +8 -6
  69. package/dist/lib/utils/auth.js +48 -39
  70. package/dist/lib/utils/catch-error.js +8 -11
  71. package/dist/lib/utils/check-template.js +4 -8
  72. package/dist/lib/utils/chunk-array.js +1 -5
  73. package/dist/lib/utils/ensure-dir.js +7 -12
  74. package/dist/lib/utils/filter-fields.js +1 -4
  75. package/dist/lib/utils/get-role-ids.d.ts +1 -1
  76. package/dist/lib/utils/get-role-ids.js +7 -12
  77. package/dist/lib/utils/get-template.js +33 -37
  78. package/dist/lib/utils/logger.js +11 -13
  79. package/dist/lib/utils/open-url.js +5 -8
  80. package/dist/lib/utils/parse-github-url.d.ts +10 -5
  81. package/dist/lib/utils/parse-github-url.js +80 -45
  82. package/dist/lib/utils/path.js +6 -10
  83. package/dist/lib/utils/protected-domains.js +1 -4
  84. package/dist/lib/utils/read-file.js +8 -12
  85. package/dist/lib/utils/read-templates.js +9 -15
  86. package/dist/lib/utils/sanitize-flags.d.ts +3 -0
  87. package/dist/lib/utils/sanitize-flags.js +4 -0
  88. package/dist/lib/utils/system-fields.js +19 -22
  89. package/dist/lib/utils/template-config.d.ts +16 -0
  90. package/dist/lib/utils/template-config.js +34 -0
  91. package/dist/lib/utils/template-defaults.d.ts +1 -1
  92. package/dist/lib/utils/template-defaults.js +5 -14
  93. package/dist/lib/utils/transform-github-url.js +1 -5
  94. package/dist/lib/utils/validate-url.js +3 -6
  95. package/dist/lib/utils/wait.js +1 -5
  96. package/dist/lib/utils/write-to-file.js +8 -11
  97. package/dist/services/docker.js +68 -21
  98. package/dist/services/github.d.ts +1 -1
  99. package/dist/services/github.js +53 -22
  100. package/dist/services/posthog.d.ts +37 -0
  101. package/dist/services/posthog.js +104 -0
  102. package/oclif.manifest.json +32 -13
  103. package/package.json +38 -33
  104. package/bin/dev +0 -17
  105. package/bin/run +0 -5
@@ -1,41 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.templateName = exports.templateLocation = exports.programmatic = exports.userPassword = exports.userEmail = exports.directusUrl = exports.directusToken = void 0;
4
- const core_1 = require("@oclif/core");
5
- exports.directusToken = core_1.Flags.string({
1
+ import { Flags } from '@oclif/core';
2
+ export const directusToken = Flags.string({
6
3
  description: 'Token to use for the Directus instance',
7
4
  env: 'DIRECTUS_TOKEN',
8
5
  exclusive: ['userEmail', 'userPassword'],
9
6
  });
10
- exports.directusUrl = core_1.Flags.string({
7
+ export const directusUrl = Flags.string({
11
8
  description: 'URL of the Directus instance',
12
9
  env: 'DIRECTUS_URL',
13
10
  });
14
- exports.userEmail = core_1.Flags.string({
11
+ export const userEmail = Flags.string({
15
12
  dependsOn: ['userPassword'],
16
13
  description: 'Email for Directus authentication',
17
14
  env: 'DIRECTUS_EMAIL',
18
15
  exclusive: ['directusToken'],
19
16
  });
20
- exports.userPassword = core_1.Flags.string({
17
+ export const userPassword = Flags.string({
21
18
  dependsOn: ['userEmail'],
22
19
  description: 'Password for Directus authentication',
23
20
  env: 'DIRECTUS_PASSWORD',
24
21
  exclusive: ['directusToken'],
25
22
  });
26
- exports.programmatic = core_1.Flags.boolean({
23
+ export const programmatic = Flags.boolean({
27
24
  char: 'p',
28
25
  default: false,
29
26
  description: 'Run in programmatic mode (non-interactive) for use cases such as CI/CD pipelines.',
30
27
  summary: 'Run in programmatic mode',
31
28
  });
32
- exports.templateLocation = core_1.Flags.string({
29
+ export const templateLocation = Flags.string({
33
30
  dependsOn: ['programmatic'],
34
31
  description: 'Location of the template',
35
32
  env: 'TEMPLATE_LOCATION',
36
33
  });
37
- exports.templateName = core_1.Flags.string({
34
+ export const templateName = Flags.string({
38
35
  dependsOn: ['programmatic'],
39
36
  description: 'Name of the template',
40
37
  env: 'TEMPLATE_NAME',
41
38
  });
39
+ export const disableTelemetry = Flags.boolean({
40
+ default: false,
41
+ description: 'Disable telemetry',
42
+ env: 'DISABLE_TELEMETRY',
43
+ });
package/dist/index.js CHANGED
@@ -1,5 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.run = void 0;
4
- var core_1 = require("@oclif/core");
5
- Object.defineProperty(exports, "run", { enumerable: true, get: function () { return core_1.run; } });
1
+ export { run } from '@oclif/core';
@@ -5,11 +5,6 @@ export declare const COMMUNITY_TEMPLATE_REPO: {
5
5
  string: string;
6
6
  url: string;
7
7
  };
8
- export declare const STARTERS_TEMPLATE_REPO: {
9
- branch: string;
10
- string: string;
11
- url: string;
12
- };
13
8
  export declare const DEFAULT_REPO: {
14
9
  owner: string;
15
10
  path: string;
@@ -17,3 +12,6 @@ export declare const DEFAULT_REPO: {
17
12
  repo: string;
18
13
  url: string;
19
14
  };
15
+ export declare const POSTHOG_PUBLIC_KEY = "phc_STopE6gj6LDIjYonVF7493kQJK8S4v0Xrl6YPr2z9br";
16
+ export declare const POSTHOG_HOST = "https://us.i.posthog.com";
17
+ export declare const DEFAULT_BRANCH = "main";
@@ -1,22 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_REPO = exports.STARTERS_TEMPLATE_REPO = exports.COMMUNITY_TEMPLATE_REPO = exports.SEPARATOR = exports.DIRECTUS_PINK = exports.DIRECTUS_PURPLE = void 0;
4
- exports.DIRECTUS_PURPLE = '#6644ff';
5
- exports.DIRECTUS_PINK = '#FF99DD';
6
- exports.SEPARATOR = '------------------';
7
- exports.COMMUNITY_TEMPLATE_REPO = {
1
+ export const DIRECTUS_PURPLE = '#6644ff';
2
+ export const DIRECTUS_PINK = '#FF99DD';
3
+ export const SEPARATOR = '------------------';
4
+ export const COMMUNITY_TEMPLATE_REPO = {
8
5
  string: 'github:directus-labs/directus-templates',
9
6
  url: 'https://github.com/directus-labs/directus-templates',
10
7
  };
11
- exports.STARTERS_TEMPLATE_REPO = {
12
- branch: 'cms-template',
13
- string: 'github:directus-labs/starters',
14
- url: 'https://github.com/directus-labs/starters',
15
- };
16
- exports.DEFAULT_REPO = {
8
+ export const DEFAULT_REPO = {
17
9
  owner: 'directus-labs',
18
10
  path: '',
19
11
  ref: 'cms-template',
20
12
  repo: 'starters',
21
13
  url: 'https://github.com/directus-labs/starters',
22
14
  };
15
+ export const POSTHOG_PUBLIC_KEY = 'phc_STopE6gj6LDIjYonVF7493kQJK8S4v0Xrl6YPr2z9br';
16
+ export const POSTHOG_HOST = 'https://us.i.posthog.com';
17
+ export const DEFAULT_BRANCH = 'main';
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const core_1 = require("@oclif/core");
5
- const constants_1 = require("../constants");
6
- const sdk_1 = require("../sdk");
7
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
8
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
9
- async function extractAccess(dir) {
10
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting access'));
1
+ import { ux } from '@oclif/core';
2
+ import { DIRECTUS_PINK } from '../constants.js';
3
+ import { api } from '../sdk.js';
4
+ import catchError from '../utils/catch-error.js';
5
+ import writeToFile from '../utils/write-to-file.js';
6
+ export default async function extractAccess(dir) {
7
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting access'));
11
8
  try {
12
- const response = await sdk_1.api.client.request(() => ({
9
+ const response = await api.client.request(() => ({
13
10
  method: 'GET',
14
11
  path: '/access?limit=-1',
15
12
  }));
@@ -17,11 +14,10 @@ async function extractAccess(dir) {
17
14
  // for (const access of response) {
18
15
  // delete access.id
19
16
  // }
20
- await (0, write_to_file_1.default)('access', response, dir);
17
+ await writeToFile('access', response, dir);
21
18
  }
22
19
  catch (error) {
23
- (0, catch_error_1.default)(error);
20
+ catchError(error);
24
21
  }
25
- core_1.ux.action.stop();
22
+ ux.action.stop();
26
23
  }
27
- exports.default = extractAccess;
@@ -1,46 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.downloadAllFiles = void 0;
4
- const tslib_1 = require("tslib");
5
- const sdk_1 = require("@directus/sdk");
6
- const core_1 = require("@oclif/core");
7
- const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
8
- const node_path_1 = tslib_1.__importDefault(require("node:path"));
9
- const constants_1 = require("../constants");
10
- const sdk_2 = require("../sdk");
11
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
1
+ import { readFiles } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import fs from 'node:fs';
4
+ import path from 'pathe';
5
+ import { DIRECTUS_PINK } from '../constants.js';
6
+ import { api } from '../sdk.js';
7
+ import catchError from '../utils/catch-error.js';
12
8
  async function getAssetList() {
13
- return sdk_2.api.client.request((0, sdk_1.readFiles)({ limit: -1 }));
9
+ return api.client.request(readFiles({ limit: -1 }));
14
10
  }
15
11
  async function downloadFile(file, dir) {
16
- const response = await sdk_2.api.client.request(() => ({
12
+ const response = await api.client.request(() => ({
17
13
  method: 'GET',
18
14
  path: `/assets/${file.id}`,
19
15
  }));
20
- const fullPath = node_path_1.default.join(dir, 'assets', file.filename_disk);
16
+ const fullPath = path.join(dir, 'assets', file.filename_disk);
21
17
  if (typeof response === 'string') {
22
- node_fs_1.default.writeFileSync(fullPath, response);
18
+ fs.writeFileSync(fullPath, response);
23
19
  }
24
20
  else {
25
21
  const data = await response.arrayBuffer();
26
- node_fs_1.default.writeFileSync(fullPath, Buffer.from(data));
22
+ fs.writeFileSync(fullPath, Buffer.from(data));
27
23
  }
28
24
  }
29
- async function downloadAllFiles(dir) {
30
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Downloading assets'));
25
+ export async function downloadAllFiles(dir) {
26
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Downloading assets'));
31
27
  try {
32
- const fullPath = node_path_1.default.join(dir, 'assets');
33
- if (node_path_1.default && !node_fs_1.default.existsSync(fullPath)) {
34
- node_fs_1.default.mkdirSync(fullPath, { recursive: true });
28
+ const fullPath = path.join(dir, 'assets');
29
+ if (path && !fs.existsSync(fullPath)) {
30
+ fs.mkdirSync(fullPath, { recursive: true });
35
31
  }
36
32
  const fileList = await getAssetList();
37
33
  await Promise.all(fileList.map(file => downloadFile(file, dir).catch(error => {
38
- (0, catch_error_1.default)(`Error downloading ${file.filename_disk}: ${error.message}`);
34
+ catchError(`Error downloading ${file.filename_disk}: ${error.message}`);
39
35
  })));
40
36
  }
41
37
  catch (error) {
42
- (0, catch_error_1.default)(error);
38
+ catchError(error);
43
39
  }
44
- core_1.ux.action.stop();
40
+ ux.action.stop();
45
41
  }
46
- exports.downloadAllFiles = downloadAllFiles;
@@ -1,25 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const sdk_1 = require("@directus/sdk");
5
- const core_1 = require("@oclif/core");
6
- const constants_1 = require("../constants");
7
- const sdk_2 = require("../sdk");
8
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
9
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readCollections } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import writeToFile from '../utils/write-to-file.js';
10
7
  /**
11
8
  * Extract collections from the Directus instance
12
9
  */
13
- async function extractCollections(dir) {
14
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting collections'));
10
+ export default async function extractCollections(dir) {
11
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting collections'));
15
12
  try {
16
- const response = await sdk_2.api.client.request((0, sdk_1.readCollections)());
13
+ const response = await api.client.request(readCollections());
17
14
  const collections = response.filter(collection => !collection.collection.startsWith('directus_'));
18
- await (0, write_to_file_1.default)('collections', collections, dir);
15
+ await writeToFile('collections', collections, dir);
19
16
  }
20
17
  catch (error) {
21
- (0, catch_error_1.default)(error);
18
+ catchError(error);
22
19
  }
23
- core_1.ux.action.stop();
20
+ ux.action.stop();
24
21
  }
25
- exports.default = extractCollections;
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractContent = void 0;
4
- const tslib_1 = require("tslib");
5
- const sdk_1 = require("@directus/sdk");
6
- const core_1 = require("@oclif/core");
7
- const constants_1 = require("../constants");
8
- const sdk_2 = require("../sdk");
9
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
10
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readCollections, readItems } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import writeToFile from '../utils/write-to-file.js';
11
7
  async function getCollections() {
12
- const response = await sdk_2.api.client.request((0, sdk_1.readCollections)());
8
+ const response = await api.client.request(readCollections());
13
9
  return response
14
10
  .filter(item => !item.collection.startsWith('directus_', 0))
15
11
  .filter(item => item.schema != null)
@@ -17,22 +13,21 @@ async function getCollections() {
17
13
  }
18
14
  async function getDataFromCollection(collection, dir) {
19
15
  try {
20
- const response = await sdk_2.api.client.request((0, sdk_1.readItems)(collection, { limit: -1 }));
21
- await (0, write_to_file_1.default)(`${collection}`, response, `${dir}/content/`);
16
+ const response = await api.client.request(readItems(collection, { limit: -1 }));
17
+ await writeToFile(`${collection}`, response, `${dir}/content/`);
22
18
  }
23
19
  catch (error) {
24
- (0, catch_error_1.default)(error);
20
+ catchError(error);
25
21
  }
26
22
  }
27
- async function extractContent(dir) {
28
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting content'));
23
+ export async function extractContent(dir) {
24
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting content'));
29
25
  try {
30
26
  const collections = await getCollections();
31
27
  await Promise.all(collections.map(collection => getDataFromCollection(collection, dir)));
32
28
  }
33
29
  catch (error) {
34
- (0, catch_error_1.default)(error);
30
+ catchError(error);
35
31
  }
36
- core_1.ux.action.stop();
32
+ ux.action.stop();
37
33
  }
38
- exports.extractContent = extractContent;
@@ -1,44 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractPanels = exports.extractDashboards = void 0;
4
- const tslib_1 = require("tslib");
5
- const sdk_1 = require("@directus/sdk");
6
- const core_1 = require("@oclif/core");
7
- const constants_1 = require("../constants");
8
- const sdk_2 = require("../sdk");
9
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
10
- const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
11
- const system_fields_1 = require("../utils/system-fields");
12
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readDashboards, readPanels } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import filterFields from '../utils/filter-fields.js';
7
+ import { directusDashboardFields, directusPanelFields } from '../utils/system-fields.js';
8
+ import writeToFile from '../utils/write-to-file.js';
13
9
  /**
14
10
  * Extract dashboards from the Directus instance
15
11
  */
16
- async function extractDashboards(dir) {
17
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting dashboards'));
12
+ export async function extractDashboards(dir) {
13
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting dashboards'));
18
14
  try {
19
- const response = await sdk_2.api.client.request((0, sdk_1.readDashboards)({ limit: -1 }));
20
- const dashboards = (0, filter_fields_1.default)(response, system_fields_1.directusDashboardFields);
21
- await (0, write_to_file_1.default)('dashboards', dashboards, dir);
15
+ const response = await api.client.request(readDashboards({ limit: -1 }));
16
+ const dashboards = filterFields(response, directusDashboardFields);
17
+ await writeToFile('dashboards', dashboards, dir);
22
18
  }
23
19
  catch (error) {
24
- (0, catch_error_1.default)(error);
20
+ catchError(error);
25
21
  }
26
- core_1.ux.action.stop();
22
+ ux.action.stop();
27
23
  }
28
- exports.extractDashboards = extractDashboards;
29
24
  /**
30
25
  * Extract panels from the Directus instance
31
26
  */
32
- async function extractPanels(dir) {
33
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting panels'));
27
+ export async function extractPanels(dir) {
28
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting panels'));
34
29
  try {
35
- const response = await sdk_2.api.client.request((0, sdk_1.readPanels)({ limit: -1 }));
36
- const panels = (0, filter_fields_1.default)(response, system_fields_1.directusPanelFields);
37
- await (0, write_to_file_1.default)('panels', panels, dir);
30
+ const response = await api.client.request(readPanels({ limit: -1 }));
31
+ const panels = filterFields(response, directusPanelFields);
32
+ await writeToFile('panels', panels, dir);
38
33
  }
39
34
  catch (error) {
40
- (0, catch_error_1.default)(error);
35
+ catchError(error);
41
36
  }
42
- core_1.ux.action.stop();
37
+ ux.action.stop();
43
38
  }
44
- exports.extractPanels = extractPanels;
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const sdk_1 = require("@directus/sdk");
5
- const core_1 = require("@oclif/core");
6
- const constants_1 = require("../constants");
7
- const sdk_2 = require("../sdk");
8
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
9
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readExtensions } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import writeToFile from '../utils/write-to-file.js';
10
7
  /**
11
8
  * Extract extensions from the API
12
9
  */
13
- async function extractExtensions(dir) {
14
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting extensions'));
10
+ export default async function extractExtensions(dir) {
11
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting extensions'));
15
12
  try {
16
- const response = await sdk_2.api.client.request((0, sdk_1.readExtensions)());
17
- await (0, write_to_file_1.default)('extensions', response, dir);
13
+ const response = await api.client.request(readExtensions());
14
+ await writeToFile('extensions', response, dir);
18
15
  }
19
16
  catch (error) {
20
- (0, catch_error_1.default)(error);
17
+ catchError(error);
21
18
  }
22
- core_1.ux.action.stop();
19
+ ux.action.stop();
23
20
  }
24
- exports.default = extractExtensions;
@@ -1,25 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const sdk_1 = require("@directus/sdk");
5
- const core_1 = require("@oclif/core");
6
- const constants_1 = require("../constants");
7
- const sdk_2 = require("../sdk");
8
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
9
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readFields } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import writeToFile from '../utils/write-to-file.js';
10
7
  /**
11
8
  * Extract fields from the Directus instance
12
9
  */
13
- async function extractFields(dir) {
14
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting fields'));
10
+ export default async function extractFields(dir) {
11
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting fields'));
15
12
  try {
16
- const response = await sdk_2.api.client.request((0, sdk_1.readFields)());
13
+ const response = await api.client.request(readFields());
17
14
  if (!Array.isArray(response)) {
18
15
  throw new TypeError('Unexpected response format');
19
16
  }
20
17
  const fields = response
21
18
  .filter(
22
- // @ts-expect-error - This is a Directus issue
19
+ // @ts-ignore
23
20
  (i) => i.meta && !i.meta.system)
24
21
  .map(i => {
25
22
  if (i.meta) {
@@ -27,11 +24,10 @@ async function extractFields(dir) {
27
24
  }
28
25
  return i;
29
26
  });
30
- await (0, write_to_file_1.default)('fields', fields, dir);
27
+ await writeToFile('fields', fields, dir);
31
28
  }
32
29
  catch (error) {
33
- (0, catch_error_1.default)(error);
30
+ catchError(error);
34
31
  }
35
- core_1.ux.action.stop();
32
+ ux.action.stop();
36
33
  }
37
- exports.default = extractFields;
@@ -1,27 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const sdk_1 = require("@directus/sdk");
5
- const core_1 = require("@oclif/core");
6
- const constants_1 = require("../constants");
7
- const sdk_2 = require("../sdk");
8
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
9
- const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
10
- const system_fields_1 = require("../utils/system-fields");
11
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readFiles } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import filterFields from '../utils/filter-fields.js';
7
+ import { directusFileFields } from '../utils/system-fields.js';
8
+ import writeToFile from '../utils/write-to-file.js';
12
9
  /**
13
10
  * Extract files from the API
14
11
  */
15
- async function extractFiles(dir) {
16
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting files'));
12
+ export default async function extractFiles(dir) {
13
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting files'));
17
14
  try {
18
- const response = await sdk_2.api.client.request((0, sdk_1.readFiles)({ limit: -1 }));
19
- const files = (0, filter_fields_1.default)(response, system_fields_1.directusFileFields);
20
- await (0, write_to_file_1.default)('files', files, dir);
15
+ const response = await api.client.request(readFiles({ limit: -1 }));
16
+ const files = filterFields(response, directusFileFields);
17
+ await writeToFile('files', files, dir);
21
18
  }
22
19
  catch (error) {
23
- (0, catch_error_1.default)(error);
20
+ catchError(error);
24
21
  }
25
- core_1.ux.action.stop();
22
+ ux.action.stop();
26
23
  }
27
- exports.default = extractFiles;
@@ -1,44 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractOperations = exports.extractFlows = void 0;
4
- const tslib_1 = require("tslib");
5
- const sdk_1 = require("@directus/sdk");
6
- const core_1 = require("@oclif/core");
7
- const constants_1 = require("../constants");
8
- const sdk_2 = require("../sdk");
9
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
10
- const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
11
- const system_fields_1 = require("../utils/system-fields");
12
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readFlows, readOperations } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import filterFields from '../utils/filter-fields.js';
7
+ import { directusFlowFields, directusOperationFields } from '../utils/system-fields.js';
8
+ import writeToFile from '../utils/write-to-file.js';
13
9
  /**
14
10
  * Extract flows from the Directus instance
15
11
  */
16
- async function extractFlows(dir) {
17
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting flows'));
12
+ export async function extractFlows(dir) {
13
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting flows'));
18
14
  try {
19
- const response = await sdk_2.api.client.request((0, sdk_1.readFlows)({ limit: -1 }));
20
- const flows = (0, filter_fields_1.default)(response, system_fields_1.directusFlowFields);
21
- await (0, write_to_file_1.default)('flows', flows, dir);
15
+ const response = await api.client.request(readFlows({ limit: -1 }));
16
+ const flows = filterFields(response, directusFlowFields);
17
+ await writeToFile('flows', flows, dir);
22
18
  }
23
19
  catch (error) {
24
- (0, catch_error_1.default)(error);
20
+ catchError(error);
25
21
  }
26
- core_1.ux.action.stop();
22
+ ux.action.stop();
27
23
  }
28
- exports.extractFlows = extractFlows;
29
24
  /**
30
25
  * Extract operations from the Directus instance
31
26
  */
32
- async function extractOperations(dir) {
33
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting operations'));
27
+ export async function extractOperations(dir) {
28
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting operations'));
34
29
  try {
35
- const response = await sdk_2.api.client.request((0, sdk_1.readOperations)({ limit: -1 }));
36
- const operations = (0, filter_fields_1.default)(response, system_fields_1.directusOperationFields);
37
- await (0, write_to_file_1.default)('operations', operations, dir);
30
+ const response = await api.client.request(readOperations({ limit: -1 }));
31
+ const operations = filterFields(response, directusOperationFields);
32
+ await writeToFile('operations', operations, dir);
38
33
  }
39
34
  catch (error) {
40
- (0, catch_error_1.default)(error);
35
+ catchError(error);
41
36
  }
42
- core_1.ux.action.stop();
37
+ ux.action.stop();
43
38
  }
44
- exports.extractOperations = extractOperations;
@@ -1,27 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const sdk_1 = require("@directus/sdk");
5
- const core_1 = require("@oclif/core");
6
- const constants_1 = require("../constants");
7
- const sdk_2 = require("../sdk");
8
- const catch_error_1 = tslib_1.__importDefault(require("../utils/catch-error"));
9
- const filter_fields_1 = tslib_1.__importDefault(require("../utils/filter-fields"));
10
- const system_fields_1 = require("../utils/system-fields");
11
- const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
1
+ import { readFolders } from '@directus/sdk';
2
+ import { ux } from '@oclif/core';
3
+ import { DIRECTUS_PINK } from '../constants.js';
4
+ import { api } from '../sdk.js';
5
+ import catchError from '../utils/catch-error.js';
6
+ import filterFields from '../utils/filter-fields.js';
7
+ import { directusFolderFields } from '../utils/system-fields.js';
8
+ import writeToFile from '../utils/write-to-file.js';
12
9
  /**
13
10
  * Extract folders from the Directus instance
14
11
  */
15
- async function extractFolders(dir) {
16
- core_1.ux.action.start(core_1.ux.colorize(constants_1.DIRECTUS_PINK, 'Extracting folders'));
12
+ export default async function extractFolders(dir) {
13
+ ux.action.start(ux.colorize(DIRECTUS_PINK, 'Extracting folders'));
17
14
  try {
18
- const response = await sdk_2.api.client.request((0, sdk_1.readFolders)({ limit: -1 }));
19
- const folders = (0, filter_fields_1.default)(response, system_fields_1.directusFolderFields);
20
- await (0, write_to_file_1.default)('folders', folders, dir);
15
+ const response = await api.client.request(readFolders({ limit: -1 }));
16
+ const folders = filterFields(response, directusFolderFields);
17
+ await writeToFile('folders', folders, dir);
21
18
  }
22
19
  catch (error) {
23
- (0, catch_error_1.default)(error);
20
+ catchError(error);
24
21
  }
25
- core_1.ux.action.stop();
22
+ ux.action.stop();
26
23
  }
27
- exports.default = extractFolders;