sb-mig 3.1.2 → 3.1.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 (42) hide show
  1. package/dist/api/componentPresets.d.ts +1 -0
  2. package/dist/api/componentPresets.js +18 -0
  3. package/dist/api/components.d.ts +5 -0
  4. package/dist/api/components.js +63 -0
  5. package/dist/api/config.d.ts +2 -0
  6. package/dist/api/config.js +4 -0
  7. package/dist/api/datasources.d.ts +24 -0
  8. package/dist/api/datasources.js +181 -0
  9. package/dist/api/migrate.d.ts +17 -0
  10. package/dist/api/migrate.js +139 -0
  11. package/dist/api/mutateComponents.d.ts +2 -0
  12. package/dist/api/mutateComponents.js +45 -0
  13. package/dist/api/presets.d.ts +4 -0
  14. package/dist/api/presets.js +52 -0
  15. package/dist/api/resolvePresets.d.ts +2 -0
  16. package/dist/api/resolvePresets.js +41 -0
  17. package/dist/api/roles.d.ts +14 -0
  18. package/dist/api/roles.js +125 -0
  19. package/dist/cli-descriptions.d.ts +4 -0
  20. package/dist/cli-descriptions.js +72 -0
  21. package/dist/commands/backup.d.ts +2 -0
  22. package/dist/commands/backup.js +201 -0
  23. package/dist/commands/debug.d.ts +1 -0
  24. package/dist/commands/debug.js +5 -0
  25. package/dist/commands/sync.d.ts +2 -0
  26. package/dist/commands/sync.js +58 -0
  27. package/dist/config/config.d.ts +20 -0
  28. package/dist/config/config.js +32 -0
  29. package/dist/index.d.ts +2 -0
  30. package/dist/utils/discover.d.ts +57 -0
  31. package/dist/utils/discover.js +481 -0
  32. package/dist/utils/files.d.ts +12 -0
  33. package/dist/utils/files.js +54 -0
  34. package/dist/utils/interfaces.d.ts +4 -0
  35. package/dist/utils/interfaces.js +1 -0
  36. package/dist/utils/logger.d.ts +8 -0
  37. package/dist/utils/logger.js +20 -0
  38. package/dist/utils/main.d.ts +13 -0
  39. package/dist/utils/main.js +28 -0
  40. package/dist/utils/others.d.ts +1 -0
  41. package/dist/utils/others.js +1 -0
  42. package/package.json +8 -4
@@ -0,0 +1,125 @@
1
+ import Logger from "../utils/logger.js";
2
+ import storyblokConfig from "../config/config.js";
3
+ import { sbApi } from "./config.js";
4
+ import { LOOKUP_TYPE, SCOPE, compare, discoverRoles, discoverManyRoles, } from "../utils/discover.js";
5
+ import { getFileContent } from "../utils/main.js";
6
+ const { spaceId } = storyblokConfig;
7
+ // POST
8
+ export const createRole = (role) => {
9
+ sbApi
10
+ .post(`spaces/${spaceId}/space_roles/`, {
11
+ space_role: role,
12
+ })
13
+ .then(() => {
14
+ Logger.success(`Role '${role.role}' has been created.`);
15
+ })
16
+ .catch((err) => {
17
+ Logger.error("error happened... :(");
18
+ console.log(`${err.message} in migration of ${role.role} in createRole function`);
19
+ });
20
+ };
21
+ // PUT
22
+ export const updateRole = (role) => {
23
+ sbApi
24
+ .put(`spaces/${spaceId}/space_roles/${role.id}`, {
25
+ space_role: role,
26
+ })
27
+ .then(() => {
28
+ Logger.success(`Role '${role.role}' has been updated.`);
29
+ })
30
+ .catch((err) => {
31
+ Logger.error("error happened... :(");
32
+ console.log(`${err.message} in migration of ${role.role} in updateRole function`);
33
+ });
34
+ };
35
+ // GET
36
+ export const getAllRoles = async () => {
37
+ return sbApi
38
+ .get(`spaces/${spaceId}/space_roles/`)
39
+ .then(({ data }) => data)
40
+ .catch((err) => {
41
+ if (err.response.status === 404) {
42
+ Logger.error(`There is no roles in your Storyblok ${spaceId} space.`);
43
+ return true;
44
+ }
45
+ else {
46
+ Logger.error(err);
47
+ return false;
48
+ }
49
+ });
50
+ };
51
+ // GET
52
+ export const getRole = async (roleName) => {
53
+ Logger.log(`Trying to get '${roleName}' role.`);
54
+ return getAllRoles()
55
+ .then((res) => res.space_roles.filter((role) => role.role === roleName))
56
+ .then((res) => {
57
+ if (Array.isArray(res) && res.length === 0) {
58
+ Logger.warning(`There is no role named '${roleName}'`);
59
+ return false;
60
+ }
61
+ return res;
62
+ })
63
+ .catch((err) => Logger.error(err));
64
+ };
65
+ export const syncRoles = async ({ specifiedRoles }) => {
66
+ const specifiedRolesContent = await Promise.all(specifiedRoles.map((roles) => getFileContent({ file: roles.path })));
67
+ const { space_roles } = await getAllRoles();
68
+ const rolesToUpdate = [];
69
+ const rolesToCreate = [];
70
+ for (const role of specifiedRolesContent) {
71
+ const shouldBeUpdated = space_roles.find((remoteRole) => role.role === remoteRole.role);
72
+ if (shouldBeUpdated) {
73
+ rolesToUpdate.push({ id: shouldBeUpdated.id, ...role });
74
+ }
75
+ else {
76
+ rolesToCreate.push(role);
77
+ }
78
+ }
79
+ rolesToUpdate.map(async (role) => {
80
+ await updateRole(role);
81
+ });
82
+ rolesToCreate.map(async (role) => {
83
+ await createRole(role);
84
+ });
85
+ };
86
+ export const syncAllRoles = async () => {
87
+ // #1: discover all external .roles.sb.js files
88
+ const allLocalSbComponentsSchemaFiles = discoverRoles({
89
+ scope: SCOPE.local,
90
+ type: LOOKUP_TYPE.fileName,
91
+ });
92
+ // #2: discover all local .roles.sb.js files
93
+ const allExternalSbComponentsSchemaFiles = discoverRoles({
94
+ scope: SCOPE.external,
95
+ type: LOOKUP_TYPE.fileName,
96
+ });
97
+ // #3: compare results, prefare local ones (so we have to create final external paths array and local array of things to sync from where)
98
+ const { local, external } = compare({
99
+ local: allLocalSbComponentsSchemaFiles,
100
+ external: allExternalSbComponentsSchemaFiles,
101
+ });
102
+ // #4: sync - do all stuff already done (groups resolving, and so on)
103
+ syncRoles({ specifiedRoles: [...local, ...external] });
104
+ };
105
+ export const syncProvidedRoles = ({ roles }) => {
106
+ // #1: discover all external .sb.js files
107
+ const allLocalSbComponentsSchemaFiles = discoverManyRoles({
108
+ scope: SCOPE.local,
109
+ type: LOOKUP_TYPE.fileName,
110
+ fileNames: roles,
111
+ });
112
+ // #2: discover all local .sb.js files
113
+ const allExternalSbComponentsSchemaFiles = discoverManyRoles({
114
+ scope: SCOPE.external,
115
+ type: LOOKUP_TYPE.fileName,
116
+ fileNames: roles,
117
+ });
118
+ // #3: compare results, prefer local ones (so we have to create final external paths array and local array of things to sync from where)
119
+ const { local, external } = compare({
120
+ local: allLocalSbComponentsSchemaFiles,
121
+ external: allExternalSbComponentsSchemaFiles,
122
+ });
123
+ // #4: sync - do all stuff already done (groups resolving, and so on)
124
+ syncRoles({ specifiedRoles: [...local, ...external] });
125
+ };
@@ -0,0 +1,4 @@
1
+ export declare const mainDescription = "\n CLI to rule the world. (and handle stuff related to Storyblok CMS)\n \n VERSION\n sb-mig/3.0.0@beta\n \n USAGE\n $ sb-mig [command]\n \n COMMANDS\n sync Synchronize components, datasources or roles with Storyblok space.\n backup Command for backing up anything related to Storyblok\n debug Output extra debugging information\n help This screen\n \n Examples\n $ sb-migv-3 sync\n $ sb-mig-v3 debug \n";
2
+ export declare const syncDescription = "\n Usage\n $ sb-mig-v3 sync [components|roles|datasources] [space separated file names] or --all --packageName\n \n Description\n Synchronize components or roles with Storyblok space.\n \n COMMANDS\n components - sync components\n roles - sync roles\n datasources - sync datasources\n \n FLAGS\n --all - Sync all components\n --packageName - Sync based on package name, instead of file name (package can have multiple schema files to sync)\n --presets - Pass it, if u want to sync also with presets (will take longer) \n \n EXAMPLES\n $ sb-mig sync components --all\n $ sb-mig sync components accordion accordion-item\n $ sb-mig sync components @storyblok-components/accordion --packageName\n \n";
3
+ export declare const backupDescription = "\n Usage\n $ sb-mig-v3 backup [components|component-groups|roles|datasources|presets|component-presets] [space separated file names ] or --all\n Description\n Command for backing up anything related to Storyblok\n \n COMMANDS\n components - backup components\n component-groups - backuo component-groups\n roles - backup components\n datasources - backup components\n presets - backup presets\n component-presets - backup component presets\n \n FLAGS\n --all - Backup all \n --one - Backup one \n \n EXAMPLES\n $ sb-mig backup components --all\n $ sb-mig backup components accordion accordion-item carousel text-block\n $ sb-mig backup datasources --all\n $ sb-mig backup roles admin normal-user\n";
4
+ export declare const debugDescription = "\n Usage\n $ sb-mig-v3 debug\n Description\n Output extra debugging information\n";
@@ -0,0 +1,72 @@
1
+ export const mainDescription = `
2
+ CLI to rule the world. (and handle stuff related to Storyblok CMS)
3
+
4
+ VERSION
5
+ sb-mig/3.0.0@beta
6
+
7
+ USAGE
8
+ $ sb-mig [command]
9
+
10
+ COMMANDS
11
+ sync Synchronize components, datasources or roles with Storyblok space.
12
+ backup Command for backing up anything related to Storyblok
13
+ debug Output extra debugging information
14
+ help This screen
15
+
16
+ Examples
17
+ $ sb-migv-3 sync
18
+ $ sb-mig-v3 debug
19
+ `;
20
+ export const syncDescription = `
21
+ Usage
22
+ $ sb-mig-v3 sync [components|roles|datasources] [space separated file names] or --all --packageName
23
+
24
+ Description
25
+ Synchronize components or roles with Storyblok space.
26
+
27
+ COMMANDS
28
+ components - sync components
29
+ roles - sync roles
30
+ datasources - sync datasources
31
+
32
+ FLAGS
33
+ --all - Sync all components
34
+ --packageName - Sync based on package name, instead of file name (package can have multiple schema files to sync)
35
+ --presets - Pass it, if u want to sync also with presets (will take longer)
36
+
37
+ EXAMPLES
38
+ $ sb-mig sync components --all
39
+ $ sb-mig sync components accordion accordion-item
40
+ $ sb-mig sync components @storyblok-components/accordion --packageName
41
+
42
+ `;
43
+ export const backupDescription = `
44
+ Usage
45
+ $ sb-mig-v3 backup [components|component-groups|roles|datasources|presets|component-presets] [space separated file names ] or --all
46
+ Description
47
+ Command for backing up anything related to Storyblok
48
+
49
+ COMMANDS
50
+ components - backup components
51
+ component-groups - backuo component-groups
52
+ roles - backup components
53
+ datasources - backup components
54
+ presets - backup presets
55
+ component-presets - backup component presets
56
+
57
+ FLAGS
58
+ --all - Backup all
59
+ --one - Backup one
60
+
61
+ EXAMPLES
62
+ $ sb-mig backup components --all
63
+ $ sb-mig backup components accordion accordion-item carousel text-block
64
+ $ sb-mig backup datasources --all
65
+ $ sb-mig backup roles admin normal-user
66
+ `;
67
+ export const debugDescription = `
68
+ Usage
69
+ $ sb-mig-v3 debug
70
+ Description
71
+ Output extra debugging information
72
+ `;
@@ -0,0 +1,2 @@
1
+ import { CLIOptions } from "../utils/interfaces.js";
2
+ export declare const backup: (props: CLIOptions) => void;
@@ -0,0 +1,201 @@
1
+ import { getAllComponents, getAllComponentsGroups, getComponent, getComponentsGroup, } from "../api/components.js";
2
+ import { createAndSaveToFile } from "../utils/files.js";
3
+ import Logger from "../utils/logger.js";
4
+ import { unpackOne } from "../utils/main.js";
5
+ import { getAllDatasources, getDatasource } from "../api/datasources.js";
6
+ import { getAllRoles, getRole } from "../api/roles.js";
7
+ import { getComponentPresets } from "../api/componentPresets.js";
8
+ import { getAllPresets, getPreset } from "../api/presets.js";
9
+ const BACKUP_COMMANDS = {
10
+ components: "components",
11
+ componentGroups: "component-groups",
12
+ datasources: "datasources",
13
+ presets: "presets",
14
+ componentPresets: "component-presets",
15
+ roles: "roles",
16
+ };
17
+ export const backup = (props) => {
18
+ const { input, flags } = props;
19
+ const command = input[1];
20
+ switch (command) {
21
+ case BACKUP_COMMANDS.components:
22
+ Logger.warning(`back up components... with command: ${command}`);
23
+ if (flags["all"]) {
24
+ getAllComponents()
25
+ .then(async (res) => {
26
+ await createAndSaveToFile({
27
+ prefix: "all-components-",
28
+ folder: "components",
29
+ res,
30
+ });
31
+ })
32
+ .catch((err) => {
33
+ console.log(err);
34
+ console.error("error happened... :(");
35
+ });
36
+ }
37
+ if (flags["one"]) {
38
+ const componentToBackup = unpackOne(input);
39
+ getComponent(componentToBackup)
40
+ .then(async (res) => {
41
+ await createAndSaveToFile({
42
+ prefix: "component-",
43
+ folder: "components",
44
+ res,
45
+ });
46
+ })
47
+ .catch((err) => {
48
+ console.log(err);
49
+ Logger.error("error happened... :(");
50
+ });
51
+ }
52
+ break;
53
+ case BACKUP_COMMANDS.componentGroups:
54
+ if (flags["all"]) {
55
+ getAllComponentsGroups()
56
+ .then(async (res) => {
57
+ await createAndSaveToFile({
58
+ prefix: "all-component_groups-",
59
+ folder: "component_groups",
60
+ res,
61
+ });
62
+ })
63
+ .catch((err) => {
64
+ console.log(err);
65
+ Logger.error("error happened... :(");
66
+ });
67
+ }
68
+ if (flags["one"]) {
69
+ const componentGroupToBackup = unpackOne(input);
70
+ getComponentsGroup(componentGroupToBackup)
71
+ .then(async (res) => {
72
+ await createAndSaveToFile({
73
+ prefix: "components_group-",
74
+ folder: "component_groups",
75
+ res,
76
+ });
77
+ })
78
+ .catch((err) => {
79
+ console.log(err);
80
+ Logger.error("error happened... :(");
81
+ });
82
+ }
83
+ break;
84
+ case BACKUP_COMMANDS.datasources:
85
+ if (flags["all"]) {
86
+ getAllDatasources()
87
+ .then(async (res) => {
88
+ await createAndSaveToFile({
89
+ prefix: "all-datasources-",
90
+ folder: "datasources",
91
+ res,
92
+ });
93
+ })
94
+ .catch((err) => {
95
+ console.log(err);
96
+ Logger.error("error happened... :(");
97
+ });
98
+ }
99
+ if (flags["one"]) {
100
+ const datasourceToBackup = unpackOne(input);
101
+ getDatasource(datasourceToBackup)
102
+ .then(async (res) => {
103
+ if (res) {
104
+ await createAndSaveToFile({
105
+ prefix: `datasource-${datasourceToBackup}-`,
106
+ folder: "datasources",
107
+ res,
108
+ });
109
+ }
110
+ })
111
+ .catch((err) => {
112
+ console.log(err);
113
+ Logger.error("error happened... :(");
114
+ });
115
+ }
116
+ break;
117
+ case BACKUP_COMMANDS.roles:
118
+ if (flags["all"]) {
119
+ getAllRoles()
120
+ .then(async (res) => {
121
+ await createAndSaveToFile({
122
+ prefix: "all-roles-",
123
+ folder: "roles",
124
+ res,
125
+ });
126
+ })
127
+ .catch((err) => {
128
+ console.log(err);
129
+ Logger.error("error happened... :(");
130
+ });
131
+ }
132
+ if (flags["one"]) {
133
+ const roleToBackup = unpackOne(input);
134
+ getRole(roleToBackup)
135
+ .then(async (res) => {
136
+ if (res) {
137
+ await createAndSaveToFile({
138
+ prefix: `role-${roleToBackup}`,
139
+ folder: "roles",
140
+ res,
141
+ });
142
+ }
143
+ })
144
+ .catch((err) => {
145
+ console.log(err);
146
+ Logger.error("error happened... :(");
147
+ });
148
+ }
149
+ break;
150
+ case BACKUP_COMMANDS.presets:
151
+ if (flags["all"]) {
152
+ getAllPresets()
153
+ .then(async (res) => {
154
+ await createAndSaveToFile({
155
+ prefix: "all-presets-",
156
+ folder: "presets",
157
+ res,
158
+ });
159
+ })
160
+ .catch((err) => {
161
+ console.log(err);
162
+ Logger.error("error happened... :(");
163
+ });
164
+ }
165
+ if (flags["one"]) {
166
+ const presetToBackup = unpackOne(input);
167
+ getPreset(presetToBackup)
168
+ .then(async (res) => {
169
+ await createAndSaveToFile({
170
+ prefix: `preset-${presetToBackup}-`,
171
+ folder: "presets",
172
+ res,
173
+ });
174
+ })
175
+ .catch((err) => {
176
+ console.log(err);
177
+ Logger.error("error happened... :(");
178
+ });
179
+ }
180
+ break;
181
+ case BACKUP_COMMANDS.componentPresets:
182
+ if (flags["one"]) {
183
+ const componentPresetToBackup = unpackOne(input);
184
+ getComponentPresets(componentPresetToBackup)
185
+ .then(async (res) => {
186
+ await createAndSaveToFile({
187
+ prefix: `component-preset-${componentPresetToBackup}-`,
188
+ folder: "component-presets",
189
+ res,
190
+ });
191
+ })
192
+ .catch((err) => {
193
+ console.log(err);
194
+ Logger.error("error happened... :(");
195
+ });
196
+ }
197
+ break;
198
+ default:
199
+ console.log(`no command like that: ${command}`);
200
+ }
201
+ };
@@ -0,0 +1 @@
1
+ export declare const debug: (props: any) => void;
@@ -0,0 +1,5 @@
1
+ import config from "../config/config.js";
2
+ export const debug = (props) => {
3
+ const { input, flags, unnormalizedFlags, pkg, help, showHelp, showVersion, } = props;
4
+ console.log("storyblok.config.js: ", config, "\n");
5
+ };
@@ -0,0 +1,2 @@
1
+ import { CLIOptions } from "../utils/interfaces.js";
2
+ export declare const sync: (props: CLIOptions) => Promise<void>;
@@ -0,0 +1,58 @@
1
+ import Logger from "../utils/logger.js";
2
+ import { unpackElements } from "../utils/main.js";
3
+ import storyblokConfig from "../config/config.js";
4
+ import { syncAllComponents, syncProvidedComponents } from "../api/migrate.js";
5
+ import { syncAllRoles, syncProvidedRoles } from "../api/roles.js";
6
+ import { syncAllDatasources, syncProvidedDatasources, } from "../api/datasources.js";
7
+ const SYNC_COMMANDS = {
8
+ components: "components",
9
+ roles: "roles",
10
+ datasources: "datasources",
11
+ };
12
+ export const sync = async (props) => {
13
+ const { input, flags } = props;
14
+ const command = input[1];
15
+ switch (command) {
16
+ case SYNC_COMMANDS.components:
17
+ Logger.warning(`sync components... with command: ${command}`);
18
+ if (flags["all"]) {
19
+ Logger.log(`Syncing ALL components with ${storyblokConfig.schemaFileExt} extension...`);
20
+ const presets = flags["presets"] || false;
21
+ syncAllComponents({ presets });
22
+ }
23
+ if (!flags["all"]) {
24
+ Logger.warning("Synchronizing PROVIDED componensdt...");
25
+ const componentsToSync = unpackElements(input);
26
+ syncProvidedComponents({
27
+ components: componentsToSync,
28
+ presets: Boolean(flags.presets),
29
+ packageName: flags.packageName,
30
+ });
31
+ }
32
+ break;
33
+ case SYNC_COMMANDS.roles:
34
+ if (flags["all"]) {
35
+ Logger.log("Syncing all roles...");
36
+ syncAllRoles();
37
+ }
38
+ if (!flags["all"]) {
39
+ Logger.log("Syncing provided roles...");
40
+ const rolesToSync = unpackElements(input);
41
+ syncProvidedRoles({ roles: rolesToSync });
42
+ }
43
+ break;
44
+ case SYNC_COMMANDS.datasources:
45
+ if (flags["all"]) {
46
+ Logger.log("Syncing all datasources with extension...");
47
+ syncAllDatasources();
48
+ }
49
+ if (!flags["all"]) {
50
+ Logger.log("Syncing provided datasources with extension...");
51
+ const datasourcesToSync = unpackElements(input);
52
+ syncProvidedDatasources({ datasources: datasourcesToSync });
53
+ }
54
+ break;
55
+ default:
56
+ console.log(`no command like that: ${command}`);
57
+ }
58
+ };
@@ -0,0 +1,20 @@
1
+ export interface IStoryblokConfig {
2
+ componentsMatchFile: string;
3
+ storyblokComponentsListfile: string;
4
+ storyblokComponentsLocalDirectory: string;
5
+ componentsStylesMatchFile: string;
6
+ boilerplateUrl: string;
7
+ sbmigWorkingDirectory: string;
8
+ componentDirectory: string;
9
+ datasourcesDirectory: string;
10
+ componentsDirectories: string[];
11
+ schemaFileExt: string;
12
+ datasourceExt: string;
13
+ rolesExt: string;
14
+ storyblokApiUrl: string;
15
+ oauthToken: string;
16
+ spaceId: string;
17
+ accessToken: string;
18
+ }
19
+ declare const _default: any;
20
+ export default _default;
@@ -0,0 +1,32 @@
1
+ var _a, _b;
2
+ import path from "path";
3
+ import dotenv from "dotenv";
4
+ import { getFileContent } from "../utils/main.js";
5
+ dotenv.config();
6
+ const defaultConfig = {
7
+ componentsMatchFile: "src/components/components.js",
8
+ storyblokComponentsListfile: "src/components/storyblok-components.componentList.js",
9
+ storyblokComponentsLocalDirectory: "src/@storyblok-components",
10
+ componentsStylesMatchFile: "src/@storyblok-components/_storyblok-components.scss",
11
+ boilerplateUrl: "git@github.com:storyblok-components/gatsby-storyblok-boilerplate.git",
12
+ sbmigWorkingDirectory: "sbmig",
13
+ componentDirectory: "storyblok",
14
+ datasourcesDirectory: "storyblok",
15
+ componentsDirectories: ["src", "storyblok"],
16
+ schemaFileExt: "sb.js",
17
+ datasourceExt: "sb.datasource.js",
18
+ rolesExt: "sb.roles.js",
19
+ storyblokApiUrl: "https://api.storyblok.com/v1",
20
+ oauthToken: (_a = process.env["STORYBLOK_OAUTH_TOKEN"]) !== null && _a !== void 0 ? _a : "",
21
+ spaceId: (_b = process.env["STORYBLOK_SPACE_ID"]) !== null && _b !== void 0 ? _b : "",
22
+ accessToken: process.env["GATSBY_STORYBLOK_ACCESS_TOKEN"] ||
23
+ process.env["NEXT_PUBLIC_STORYBLOK_ACCESS_TOKEN"] ||
24
+ "",
25
+ };
26
+ const customConfig = await getFileContent({
27
+ file: path.resolve(process.cwd(), "storyblok.config") + ".js",
28
+ });
29
+ export default {
30
+ ...defaultConfig,
31
+ ...customConfig,
32
+ };
@@ -0,0 +1,2 @@
1
+ #! /usr/bin/env node
2
+ export {};
@@ -0,0 +1,57 @@
1
+ export declare enum SCOPE {
2
+ local = "local",
3
+ external = "external",
4
+ lock = "lock",
5
+ all = "all"
6
+ }
7
+ export declare enum LOOKUP_TYPE {
8
+ packagName = "packageName",
9
+ fileName = "fileName"
10
+ }
11
+ interface DiscoverRequest {
12
+ scope: SCOPE;
13
+ type: LOOKUP_TYPE;
14
+ }
15
+ interface DiscoverOneRequest {
16
+ fileName: string;
17
+ scope: SCOPE;
18
+ type: LOOKUP_TYPE;
19
+ }
20
+ interface DiscoverManyRequest {
21
+ fileNames: string[];
22
+ scope: SCOPE;
23
+ type: LOOKUP_TYPE;
24
+ }
25
+ interface DiscoverOneByPackageNameRequest {
26
+ packageName: string;
27
+ scope: SCOPE;
28
+ }
29
+ interface DiscoverManyByPackageNameRequest {
30
+ packageNames: string[];
31
+ scope: SCOPE;
32
+ }
33
+ interface CompareRequest {
34
+ local: string[];
35
+ external: string[];
36
+ }
37
+ export interface OneComponent {
38
+ name: string;
39
+ path: string;
40
+ }
41
+ export interface CompareResult {
42
+ local: OneComponent[];
43
+ external: OneComponent[];
44
+ }
45
+ declare type DiscoverResult = string[];
46
+ export declare const compare: (request: CompareRequest) => any;
47
+ export declare const discoverManyByPackageName: (request: DiscoverManyByPackageNameRequest) => DiscoverResult;
48
+ export declare const discoverOneByPackageName: (request: DiscoverOneByPackageNameRequest) => DiscoverResult;
49
+ export declare const discoverMany: (request: DiscoverManyRequest) => DiscoverResult;
50
+ export declare const discoverManyDatasources: (request: DiscoverManyRequest) => DiscoverResult;
51
+ export declare const discoverDatasources: (request: DiscoverRequest) => DiscoverResult;
52
+ export declare const discoverOne: (request: DiscoverOneRequest) => DiscoverResult;
53
+ export declare const discover: (request: DiscoverRequest) => DiscoverResult;
54
+ export declare const discoverManyStyles: (request: DiscoverManyRequest) => DiscoverResult;
55
+ export declare const discoverRoles: (request: DiscoverRequest) => DiscoverResult;
56
+ export declare const discoverManyRoles: (request: DiscoverManyRequest) => DiscoverResult;
57
+ export {};