sb-mig 2.9.3 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -27
- package/dist/index.js +52 -0
- package/package.json +40 -57
- package/CHANGELOG.md +0 -996
- package/bin/run +0 -5
- package/bin/run.cmd +0 -3
- package/lib/api/apiConfig.d.ts +0 -2
- package/lib/api/apiConfig.js +0 -9
- package/lib/api/componentPresets.d.ts +0 -1
- package/lib/api/componentPresets.js +0 -22
- package/lib/api/components.d.ts +0 -5
- package/lib/api/components.js +0 -71
- package/lib/api/datasources.d.ts +0 -24
- package/lib/api/datasources.js +0 -193
- package/lib/api/migrate.d.ts +0 -19
- package/lib/api/migrate.js +0 -220
- package/lib/api/mutateComponents.d.ts +0 -2
- package/lib/api/mutateComponents.js +0 -50
- package/lib/api/presets.d.ts +0 -4
- package/lib/api/presets.js +0 -59
- package/lib/api/resolvePresets.d.ts +0 -2
- package/lib/api/resolvePresets.js +0 -40
- package/lib/api/roles.d.ts +0 -14
- package/lib/api/roles.js +0 -133
- package/lib/api/spaces.d.ts +0 -2
- package/lib/api/spaces.js +0 -29
- package/lib/commands/backup.d.ts +0 -22
- package/lib/commands/backup.js +0 -217
- package/lib/commands/debug.d.ts +0 -9
- package/lib/commands/debug.js +0 -21
- package/lib/commands/sync.d.ts +0 -26
- package/lib/commands/sync.js +0 -93
- package/lib/config/StoryblokComponentsConfig.d.ts +0 -68
- package/lib/config/StoryblokComponentsConfig.js +0 -220
- package/lib/config/config.d.ts +0 -37
- package/lib/config/config.js +0 -36
- package/lib/core.d.ts +0 -16
- package/lib/core.js +0 -75
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -5
- package/lib/types/storyblokTypes.d.ts +0 -171
- package/lib/types/storyblokTypes.js +0 -3
- package/lib/utils/discover.d.ts +0 -4
- package/lib/utils/discover.js +0 -96
- package/lib/utils/discover2.d.ts +0 -63
- package/lib/utils/discover2.js +0 -424
- package/lib/utils/files.d.ts +0 -6
- package/lib/utils/files.js +0 -54
- package/lib/utils/logger.d.ts +0 -11
- package/lib/utils/logger.js +0 -30
- package/lib/utils/others.d.ts +0 -1
- package/lib/utils/others.js +0 -5
- package/oclif.manifest.json +0 -1
package/lib/api/presets.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updatePreset = exports.createPreset = exports.getAllPresets = exports.getPreset = void 0;
|
|
4
|
-
const logger_1 = require("../utils/logger");
|
|
5
|
-
const config_1 = require("../config/config");
|
|
6
|
-
const apiConfig_1 = require("./apiConfig");
|
|
7
|
-
const { spaceId } = config_1.default;
|
|
8
|
-
// GET
|
|
9
|
-
const getPreset = (presetId) => {
|
|
10
|
-
logger_1.default.log(`Trying to get preset by id: ${presetId}`);
|
|
11
|
-
return apiConfig_1.sbApi
|
|
12
|
-
.get(`spaces/${spaceId}/presets/${presetId}`)
|
|
13
|
-
.then(response => response.data)
|
|
14
|
-
.then(response => {
|
|
15
|
-
if (Array.isArray(response.presets)) {
|
|
16
|
-
logger_1.default.warning(`There is no preset for '${presetId}' preset id`);
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return response;
|
|
20
|
-
})
|
|
21
|
-
.catch(err => logger_1.default.error(err));
|
|
22
|
-
};
|
|
23
|
-
exports.getPreset = getPreset;
|
|
24
|
-
const getAllPresets = () => {
|
|
25
|
-
logger_1.default.log('Trying to get all Presets.');
|
|
26
|
-
return apiConfig_1.sbApi
|
|
27
|
-
.get(`spaces/${spaceId}/presets/`)
|
|
28
|
-
.then(response => response.data)
|
|
29
|
-
.catch(err => logger_1.default.error(err));
|
|
30
|
-
};
|
|
31
|
-
exports.getAllPresets = getAllPresets;
|
|
32
|
-
// CREATE
|
|
33
|
-
const createPreset = (p) => {
|
|
34
|
-
apiConfig_1.sbApi
|
|
35
|
-
.post(`spaces/${spaceId}/presets/`, {
|
|
36
|
-
preset: p.preset,
|
|
37
|
-
})
|
|
38
|
-
.then(res => {
|
|
39
|
-
logger_1.default.warning(`Preset: '${p.preset.name}' has been created.`);
|
|
40
|
-
})
|
|
41
|
-
.catch(err => {
|
|
42
|
-
logger_1.default.error(`Error happened. Preset: '${p.preset.name}' has been not created.`);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
exports.createPreset = createPreset;
|
|
46
|
-
// UPDATE
|
|
47
|
-
const updatePreset = (p) => {
|
|
48
|
-
apiConfig_1.sbApi
|
|
49
|
-
.put(`spaces/${spaceId}/presets/${p.preset.id}`, {
|
|
50
|
-
preset: p.preset,
|
|
51
|
-
})
|
|
52
|
-
.then(res => {
|
|
53
|
-
logger_1.default.warning(`Preset: '${p.preset.name}' with '${p.preset.id}' id has been updated.`);
|
|
54
|
-
})
|
|
55
|
-
.catch(err => {
|
|
56
|
-
logger_1.default.error(`Error happened. Preset: '${p.preset.name}' with '${p.preset.id}' id has been not updated.`);
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
exports.updatePreset = updatePreset;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const logger_1 = require("../utils/logger");
|
|
4
|
-
const presets_1 = require("./presets");
|
|
5
|
-
const componentPresets_1 = require("./componentPresets");
|
|
6
|
-
const _resolvePresets = async (res, all_presets, component) => {
|
|
7
|
-
const componentId = res.data.component.id;
|
|
8
|
-
if (all_presets && all_presets.length > 0) {
|
|
9
|
-
const all_presets_modified = all_presets.map((p) => {
|
|
10
|
-
return { preset: { ...p.preset, component_id: componentId } };
|
|
11
|
-
});
|
|
12
|
-
logger_1.default.log(`Checking preset for '${component.name}' component`);
|
|
13
|
-
const allRemoteComponentPresets = await (0, componentPresets_1.getComponentPresets)(component.name);
|
|
14
|
-
const presetsToUpdate = [];
|
|
15
|
-
const presetsToCreate = [];
|
|
16
|
-
for (const componentPreset of all_presets_modified) {
|
|
17
|
-
const shouldBeUpdated = allRemoteComponentPresets &&
|
|
18
|
-
allRemoteComponentPresets.find((remotePreset) => componentPreset.preset.name === remotePreset.preset.name);
|
|
19
|
-
if (shouldBeUpdated) {
|
|
20
|
-
presetsToUpdate.push({
|
|
21
|
-
...componentPreset,
|
|
22
|
-
preset: { id: shouldBeUpdated.preset.id, ...componentPreset.preset },
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
presetsToCreate.push(componentPreset);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
presetsToUpdate.map(preset => {
|
|
30
|
-
(0, presets_1.updatePreset)(preset);
|
|
31
|
-
});
|
|
32
|
-
presetsToCreate.map(preset => {
|
|
33
|
-
(0, presets_1.createPreset)(preset);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
logger_1.default.warning('There are no presets for this component.');
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
exports.default = _resolvePresets;
|
package/lib/api/roles.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { OneComponent } from '../utils/discover2';
|
|
2
|
-
export declare const createRole: (role: any) => void;
|
|
3
|
-
export declare const updateRole: (role: any) => void;
|
|
4
|
-
export declare const getAllRoles: () => Promise<any>;
|
|
5
|
-
export declare const getRole: (roleName: string) => Promise<any>;
|
|
6
|
-
interface SyncRoles {
|
|
7
|
-
specifiedRoles: OneComponent[];
|
|
8
|
-
}
|
|
9
|
-
export declare const syncRoles: ({ specifiedRoles }: SyncRoles) => Promise<void>;
|
|
10
|
-
export declare const syncAllRoles: () => Promise<void>;
|
|
11
|
-
export declare const syncProvidedRoles: ({ roles }: {
|
|
12
|
-
roles: string[];
|
|
13
|
-
}) => void;
|
|
14
|
-
export {};
|
package/lib/api/roles.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.syncProvidedRoles = exports.syncAllRoles = exports.syncRoles = exports.getRole = exports.getAllRoles = exports.updateRole = exports.createRole = void 0;
|
|
4
|
-
const logger_1 = require("../utils/logger");
|
|
5
|
-
const config_1 = require("../config/config");
|
|
6
|
-
const apiConfig_1 = require("./apiConfig");
|
|
7
|
-
const discover2_1 = require("../utils/discover2");
|
|
8
|
-
const { spaceId } = config_1.default;
|
|
9
|
-
// POST
|
|
10
|
-
const createRole = (role) => {
|
|
11
|
-
apiConfig_1.sbApi
|
|
12
|
-
.post(`spaces/${spaceId}/space_roles/`, {
|
|
13
|
-
space_role: role,
|
|
14
|
-
})
|
|
15
|
-
.then(res => {
|
|
16
|
-
logger_1.default.success(`Role '${role.role}' has been created.`);
|
|
17
|
-
})
|
|
18
|
-
.catch(err => {
|
|
19
|
-
logger_1.default.error('error happened... :(');
|
|
20
|
-
console.log(`${err.message} in migration of ${role.role} in createRole function`);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
exports.createRole = createRole;
|
|
24
|
-
// PUT
|
|
25
|
-
const updateRole = (role) => {
|
|
26
|
-
apiConfig_1.sbApi
|
|
27
|
-
.put(`spaces/${spaceId}/space_roles/${role.id}`, {
|
|
28
|
-
space_role: role,
|
|
29
|
-
})
|
|
30
|
-
.then(res => {
|
|
31
|
-
logger_1.default.success(`Role '${role.role}' has been updated.`);
|
|
32
|
-
})
|
|
33
|
-
.catch(err => {
|
|
34
|
-
logger_1.default.error('error happened... :(');
|
|
35
|
-
console.log(`${err.message} in migration of ${role.role} in updateRole function`);
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
exports.updateRole = updateRole;
|
|
39
|
-
// GET
|
|
40
|
-
const getAllRoles = async () => {
|
|
41
|
-
return apiConfig_1.sbApi
|
|
42
|
-
.get(`spaces/${spaceId}/space_roles/`)
|
|
43
|
-
.then(({ data }) => data)
|
|
44
|
-
.catch(err => {
|
|
45
|
-
if (err.response.status === 404) {
|
|
46
|
-
logger_1.default.error(`There is no roles in your Storyblok ${spaceId} space.`);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
logger_1.default.error(err);
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
exports.getAllRoles = getAllRoles;
|
|
55
|
-
// GET
|
|
56
|
-
const getRole = async (roleName) => {
|
|
57
|
-
logger_1.default.log(`Trying to get '${roleName}' role.`);
|
|
58
|
-
return (0, exports.getAllRoles)()
|
|
59
|
-
.then(res => res.space_roles.filter((role) => role.role === roleName))
|
|
60
|
-
.then(res => {
|
|
61
|
-
if (Array.isArray(res) && res.length === 0) {
|
|
62
|
-
logger_1.default.warning(`There is no role named '${roleName}'`);
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
return res;
|
|
66
|
-
})
|
|
67
|
-
.catch(err => logger_1.default.error(err));
|
|
68
|
-
};
|
|
69
|
-
exports.getRole = getRole;
|
|
70
|
-
const syncRoles = async ({ specifiedRoles }) => {
|
|
71
|
-
const specifiedRolesContent = specifiedRoles.map(roles => (0, discover2_1.getFileContent)({ file: roles.path }));
|
|
72
|
-
const { space_roles } = await (0, exports.getAllRoles)();
|
|
73
|
-
const rolesToUpdate = [];
|
|
74
|
-
const rolesToCreate = [];
|
|
75
|
-
for (const role of specifiedRolesContent) {
|
|
76
|
-
const shouldBeUpdated = space_roles.find((remoteRole) => role.role === remoteRole.role);
|
|
77
|
-
if (shouldBeUpdated) {
|
|
78
|
-
rolesToUpdate.push({ id: shouldBeUpdated.id, ...role });
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
rolesToCreate.push(role);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
rolesToUpdate.map(async (role) => {
|
|
85
|
-
await (0, exports.updateRole)(role);
|
|
86
|
-
});
|
|
87
|
-
rolesToCreate.map(async (role) => {
|
|
88
|
-
await (0, exports.createRole)(role);
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
exports.syncRoles = syncRoles;
|
|
92
|
-
const syncAllRoles = async () => {
|
|
93
|
-
// #1: discover all external .roles.sb.js files
|
|
94
|
-
const allLocalSbComponentsSchemaFiles = (0, discover2_1.discoverRoles)({
|
|
95
|
-
scope: discover2_1.SCOPE.local,
|
|
96
|
-
type: discover2_1.LOOKUP_TYPE.fileName,
|
|
97
|
-
});
|
|
98
|
-
// #2: discover all local .roles.sb.js files
|
|
99
|
-
const allExternalSbComponentsSchemaFiles = (0, discover2_1.discoverRoles)({
|
|
100
|
-
scope: discover2_1.SCOPE.external,
|
|
101
|
-
type: discover2_1.LOOKUP_TYPE.fileName,
|
|
102
|
-
});
|
|
103
|
-
// #3: compare results, prefare local ones (so we have to create final external paths array and local array of things to sync from where)
|
|
104
|
-
const { local, external } = (0, discover2_1.compare)({
|
|
105
|
-
local: allLocalSbComponentsSchemaFiles,
|
|
106
|
-
external: allExternalSbComponentsSchemaFiles,
|
|
107
|
-
});
|
|
108
|
-
// #4: sync - do all stuff already done (groups resolving, and so on)
|
|
109
|
-
(0, exports.syncRoles)({ specifiedRoles: [...local, ...external] });
|
|
110
|
-
};
|
|
111
|
-
exports.syncAllRoles = syncAllRoles;
|
|
112
|
-
const syncProvidedRoles = ({ roles }) => {
|
|
113
|
-
// #1: discover all external .sb.js files
|
|
114
|
-
const allLocalSbComponentsSchemaFiles = (0, discover2_1.discoverManyRoles)({
|
|
115
|
-
scope: discover2_1.SCOPE.local,
|
|
116
|
-
type: discover2_1.LOOKUP_TYPE.fileName,
|
|
117
|
-
fileNames: roles,
|
|
118
|
-
});
|
|
119
|
-
// #2: discover all local .sb.js files
|
|
120
|
-
const allExternalSbComponentsSchemaFiles = (0, discover2_1.discoverManyRoles)({
|
|
121
|
-
scope: discover2_1.SCOPE.external,
|
|
122
|
-
type: discover2_1.LOOKUP_TYPE.fileName,
|
|
123
|
-
fileNames: roles,
|
|
124
|
-
});
|
|
125
|
-
// #3: compare results, prefer local ones (so we have to create final external paths array and local array of things to sync from where)
|
|
126
|
-
const { local, external } = (0, discover2_1.compare)({
|
|
127
|
-
local: allLocalSbComponentsSchemaFiles,
|
|
128
|
-
external: allExternalSbComponentsSchemaFiles,
|
|
129
|
-
});
|
|
130
|
-
// #4: sync - do all stuff already done (groups resolving, and so on)
|
|
131
|
-
(0, exports.syncRoles)({ specifiedRoles: [...local, ...external] });
|
|
132
|
-
};
|
|
133
|
-
exports.syncProvidedRoles = syncProvidedRoles;
|
package/lib/api/spaces.d.ts
DELETED
package/lib/api/spaces.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSpace = exports.createSpace = void 0;
|
|
4
|
-
const logger_1 = require("../utils/logger");
|
|
5
|
-
const apiConfig_1 = require("./apiConfig");
|
|
6
|
-
// CREATE
|
|
7
|
-
const createSpace = (spaceName) => {
|
|
8
|
-
logger_1.default.warning(`Trying to create space ${spaceName}...`);
|
|
9
|
-
return apiConfig_1.sbApi
|
|
10
|
-
.post('spaces/', {
|
|
11
|
-
space: {
|
|
12
|
-
name: spaceName,
|
|
13
|
-
domain: 'http://localhost:8000/editor?path=',
|
|
14
|
-
},
|
|
15
|
-
})
|
|
16
|
-
.then(res => {
|
|
17
|
-
return res;
|
|
18
|
-
})
|
|
19
|
-
.catch(err => {
|
|
20
|
-
logger_1.default.error('Error happened. Can\'t create space');
|
|
21
|
-
console.log(err.message);
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
exports.createSpace = createSpace;
|
|
25
|
-
// GET
|
|
26
|
-
const getSpace = (spaceId) => {
|
|
27
|
-
return apiConfig_1.sbApi.get(`spaces/${spaceId}`).then(res => res);
|
|
28
|
-
};
|
|
29
|
-
exports.getSpace = getSpace;
|
package/lib/commands/backup.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { flags } from '@oclif/command';
|
|
2
|
-
import Command from '../core';
|
|
3
|
-
export default class Backup extends Command {
|
|
4
|
-
static description: string;
|
|
5
|
-
static flags: {
|
|
6
|
-
help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
7
|
-
allComponents: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
8
|
-
oneComponent: flags.IOptionFlag<string | undefined>;
|
|
9
|
-
allComponentsGroups: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
10
|
-
oneComponentsGroup: flags.IOptionFlag<string | undefined>;
|
|
11
|
-
oneComponentPresets: flags.IOptionFlag<string | undefined>;
|
|
12
|
-
allPresets: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
13
|
-
onePreset: flags.IOptionFlag<string | undefined>;
|
|
14
|
-
allDatasources: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
15
|
-
oneDatasource: flags.IOptionFlag<string | undefined>;
|
|
16
|
-
datasourceEntries: flags.IOptionFlag<string | undefined>;
|
|
17
|
-
allRoles: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
18
|
-
oneRole: flags.IOptionFlag<string | undefined>;
|
|
19
|
-
};
|
|
20
|
-
static args: never[];
|
|
21
|
-
run(): Promise<boolean | void>;
|
|
22
|
-
}
|
package/lib/commands/backup.js
DELETED
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const command_1 = require("@oclif/command");
|
|
4
|
-
const core_1 = require("../core");
|
|
5
|
-
const config_1 = require("../config/config");
|
|
6
|
-
const components_1 = require("../api/components");
|
|
7
|
-
const datasources_1 = require("../api/datasources");
|
|
8
|
-
const componentPresets_1 = require("../api/componentPresets");
|
|
9
|
-
const presets_1 = require("../api/presets");
|
|
10
|
-
const logger_1 = require("../utils/logger");
|
|
11
|
-
const files_1 = require("../utils/files");
|
|
12
|
-
const others_1 = require("../utils/others");
|
|
13
|
-
const roles_1 = require("../api/roles");
|
|
14
|
-
class Backup extends core_1.default {
|
|
15
|
-
// static strict = false;
|
|
16
|
-
async run() {
|
|
17
|
-
const { args, flags, argv } = this.parse(Backup);
|
|
18
|
-
// Backup one role as json file
|
|
19
|
-
if (flags.oneRole) {
|
|
20
|
-
console.log('oneRole argument: ', flags.oneRole);
|
|
21
|
-
return (0, roles_1.getRole)(flags.oneRole).then(async (res) => {
|
|
22
|
-
if (res) {
|
|
23
|
-
const datestamp = new Date();
|
|
24
|
-
const filename = `role-${flags.oneRole}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
25
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/roles/`);
|
|
26
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/roles/${filename}.json`);
|
|
27
|
-
logger_1.default.success(`Role for ${flags.oneRole} written to a file: ${filename}`);
|
|
28
|
-
}
|
|
29
|
-
})
|
|
30
|
-
.catch((err) => {
|
|
31
|
-
console.log(err);
|
|
32
|
-
this.error('error happened... :(');
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// Backup all roles and permission as json file
|
|
36
|
-
if (flags.allRoles) {
|
|
37
|
-
return (0, roles_1.getAllRoles)()
|
|
38
|
-
.then(async (res) => {
|
|
39
|
-
const datestamp = new Date();
|
|
40
|
-
const filename = `all-roles-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
41
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/roles/`);
|
|
42
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/roles/${filename}.json`);
|
|
43
|
-
logger_1.default.success(`All roles written to a file: ${filename}`);
|
|
44
|
-
return true;
|
|
45
|
-
})
|
|
46
|
-
.catch((err) => {
|
|
47
|
-
console.log(err);
|
|
48
|
-
this.error('error happened... :(');
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
// Backup all components as json file
|
|
52
|
-
if (flags.allComponents) {
|
|
53
|
-
return (0, components_1.getAllComponents)()
|
|
54
|
-
.then(async (res) => {
|
|
55
|
-
const datestamp = new Date();
|
|
56
|
-
const filename = `all-components-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
57
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/components/`);
|
|
58
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/components/${filename}.json`);
|
|
59
|
-
logger_1.default.success(`All components written to a file: ${filename}`);
|
|
60
|
-
return true;
|
|
61
|
-
})
|
|
62
|
-
.catch((err) => {
|
|
63
|
-
console.log(err);
|
|
64
|
-
this.error('error happened... :(');
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
// Backup one component as json file
|
|
68
|
-
if (flags.oneComponent) {
|
|
69
|
-
return (0, components_1.getComponent)(flags.oneComponent).then(async (res) => {
|
|
70
|
-
if (res) {
|
|
71
|
-
const datestamp = new Date();
|
|
72
|
-
const filename = `component-${flags.oneComponent}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
73
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/components/`);
|
|
74
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/components/${filename}.json`);
|
|
75
|
-
logger_1.default.success(`Component for ${flags.oneComponent} written to a file: ${filename}`);
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
.catch((err) => {
|
|
79
|
-
console.log(err);
|
|
80
|
-
this.error('error happened... :(');
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
if (flags.allComponentsGroups) {
|
|
84
|
-
return (0, components_1.getAllComponentsGroups)().then(async (res) => {
|
|
85
|
-
const datestamp = new Date();
|
|
86
|
-
const filename = `all-component_groups-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
87
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/component_groups/`);
|
|
88
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/component_groups/${filename}.json`);
|
|
89
|
-
logger_1.default.success(`All groups written to a file: ${filename}`);
|
|
90
|
-
})
|
|
91
|
-
.catch((err) => {
|
|
92
|
-
console.log(err);
|
|
93
|
-
this.error('error happened... :(');
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
if (flags.oneComponentsGroup) {
|
|
97
|
-
return (0, components_1.getComponentsGroup)(flags.oneComponentsGroup).then(async (res) => {
|
|
98
|
-
if (res) {
|
|
99
|
-
const datestamp = new Date();
|
|
100
|
-
const filename = `components_group-${flags.oneComponentsGroup}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
101
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/component_groups/`);
|
|
102
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/component_groups/${filename}.json`);
|
|
103
|
-
logger_1.default.success(`Components group for ${flags.oneComponentsGroup} written to a file: ${filename}`);
|
|
104
|
-
}
|
|
105
|
-
})
|
|
106
|
-
.catch((err) => {
|
|
107
|
-
console.log(err);
|
|
108
|
-
this.error('error happened... :(');
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
if (flags.allDatasources) {
|
|
112
|
-
return (0, datasources_1.getAllDatasources)().then(async (res) => {
|
|
113
|
-
const datestamp = new Date();
|
|
114
|
-
const filename = `all-datasources-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
115
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/datasources/`);
|
|
116
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/datasources/${filename}.json`);
|
|
117
|
-
logger_1.default.success(`All datasources written to a file: ${filename}`);
|
|
118
|
-
})
|
|
119
|
-
.catch((err) => {
|
|
120
|
-
console.log(err);
|
|
121
|
-
this.error('error happened... :(');
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
if (flags.oneDatasource) {
|
|
125
|
-
return (0, datasources_1.getDatasource)(flags.oneDatasource).then(async (res) => {
|
|
126
|
-
if (res) {
|
|
127
|
-
const datestamp = new Date();
|
|
128
|
-
const filename = `datasource-${flags.oneDatasource}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
129
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/datasources/`);
|
|
130
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/datasources/${filename}.json`);
|
|
131
|
-
logger_1.default.success(`Datasource for ${flags.oneDatasource} written to a file: ${filename}`);
|
|
132
|
-
}
|
|
133
|
-
})
|
|
134
|
-
.catch((err) => {
|
|
135
|
-
console.log(err);
|
|
136
|
-
this.error('error happened... :(');
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
if (flags.datasourceEntries) {
|
|
140
|
-
return (0, datasources_1.getDatasourceEntries)(flags.datasourceEntries).then(async (res) => {
|
|
141
|
-
if (res) {
|
|
142
|
-
const datestamp = new Date();
|
|
143
|
-
const filename = `datasource-entries-${flags.datasourceEntries}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
144
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/datasources/`);
|
|
145
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/datasources/${filename}.json`);
|
|
146
|
-
logger_1.default.success(`Datasource entries for ${flags.datasourceEntries} written to a file: ${filename}`);
|
|
147
|
-
}
|
|
148
|
-
})
|
|
149
|
-
.catch((err) => {
|
|
150
|
-
console.log(err);
|
|
151
|
-
this.error('error happened... :(');
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
if (flags.oneComponentPresets) {
|
|
155
|
-
return (0, componentPresets_1.getComponentPresets)(flags.oneComponentPresets).then(async (res) => {
|
|
156
|
-
if (res) {
|
|
157
|
-
const datestamp = new Date();
|
|
158
|
-
const filename = `component-${flags.oneComponentPresets}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
159
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/component-presets/`);
|
|
160
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/component-presets/${filename}.json`);
|
|
161
|
-
logger_1.default.success(`Presets for ${flags.oneComponentPresets} written to a file: ${filename}`);
|
|
162
|
-
}
|
|
163
|
-
})
|
|
164
|
-
.catch((err) => {
|
|
165
|
-
console.log(err);
|
|
166
|
-
this.error('error happened... :(');
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
if (flags.allPresets) {
|
|
170
|
-
return (0, presets_1.getAllPresets)().then(async (res) => {
|
|
171
|
-
const datestamp = new Date();
|
|
172
|
-
const filename = `all-presets-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
173
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/presets/`);
|
|
174
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/presets/${filename}.json`);
|
|
175
|
-
logger_1.default.success(`All presets written to a file: ${filename}`);
|
|
176
|
-
})
|
|
177
|
-
.catch((err) => {
|
|
178
|
-
console.log(err);
|
|
179
|
-
this.error('error happened... :(');
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
if (flags.onePreset) {
|
|
183
|
-
return (0, presets_1.getPreset)(flags.onePreset).then(async (res) => {
|
|
184
|
-
if (res) {
|
|
185
|
-
const datestamp = new Date();
|
|
186
|
-
const filename = `preset-${flags.onePreset}-${(0, others_1.generateDatestamp)(datestamp)}`;
|
|
187
|
-
await (0, files_1.createDir)(`${config_1.default.sbmigWorkingDirectory}/presets/`);
|
|
188
|
-
await (0, files_1.createJsonFile)(JSON.stringify(res, undefined, 2), `${config_1.default.sbmigWorkingDirectory}/presets/${filename}.json`);
|
|
189
|
-
logger_1.default.success(`Preset for '${flags.onePreset}' have been written to a file: ${filename}`);
|
|
190
|
-
}
|
|
191
|
-
})
|
|
192
|
-
.catch((err) => {
|
|
193
|
-
console.log(err);
|
|
194
|
-
this.error('error happened... :(');
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
this.exit();
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
exports.default = Backup;
|
|
201
|
-
Backup.description = 'Command for backing up anything related to Storyblok';
|
|
202
|
-
Backup.flags = {
|
|
203
|
-
help: command_1.flags.help({ char: 'h' }),
|
|
204
|
-
allComponents: command_1.flags.boolean({ char: 'a', description: 'Backup all components.' }),
|
|
205
|
-
oneComponent: command_1.flags.string({ char: 'o', description: 'Backup one component by name.' }),
|
|
206
|
-
allComponentsGroups: command_1.flags.boolean({ char: 'g', description: 'Backup all components groups.' }),
|
|
207
|
-
oneComponentsGroup: command_1.flags.string({ char: 'f', description: 'Backup one components group by name.' }),
|
|
208
|
-
oneComponentPresets: command_1.flags.string({ char: 'p', description: 'Backup all presets for one component' }),
|
|
209
|
-
allPresets: command_1.flags.boolean({ char: 'l', description: 'Backup all presets.' }),
|
|
210
|
-
onePreset: command_1.flags.string({ char: 'i', description: 'Backup one preset by id.' }),
|
|
211
|
-
allDatasources: command_1.flags.boolean({ char: 'd', description: 'Backup all datasources.' }),
|
|
212
|
-
oneDatasource: command_1.flags.string({ char: 'x', description: 'Backup one datasource by name.' }),
|
|
213
|
-
datasourceEntries: command_1.flags.string({ char: 'e', description: 'Backup one datasource entries by datasource name.' }),
|
|
214
|
-
allRoles: command_1.flags.boolean({ char: 'R', description: 'Backup all roles and permissions.' }),
|
|
215
|
-
oneRole: command_1.flags.string({ char: 'r', description: 'Backup one role by name.' }),
|
|
216
|
-
};
|
|
217
|
-
Backup.args = [];
|
package/lib/commands/debug.d.ts
DELETED
package/lib/commands/debug.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const command_1 = require("@oclif/command");
|
|
4
|
-
const core_1 = require("../core");
|
|
5
|
-
// TODO: implement --verbose flag to be available in every command
|
|
6
|
-
class Debug extends core_1.default {
|
|
7
|
-
async run() {
|
|
8
|
-
const { args, flags } = this.parse(Debug);
|
|
9
|
-
const config = this.storyblokConfig();
|
|
10
|
-
const componentsConfig = this.storyblokComponentsConfig().getAllData();
|
|
11
|
-
console.log('Thius are changes!');
|
|
12
|
-
console.log('storyblok.config.js: ', config, '\n');
|
|
13
|
-
console.log('storyblok.components.lock.js: ', componentsConfig);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.default = Debug;
|
|
17
|
-
Debug.description = 'Output extra debugging';
|
|
18
|
-
Debug.flags = {
|
|
19
|
-
help: command_1.flags.help({ char: 'h' }),
|
|
20
|
-
};
|
|
21
|
-
Debug.args = [];
|
package/lib/commands/sync.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import Command from '../core';
|
|
2
|
-
export default class Sync extends Command {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
7
|
-
all: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
8
|
-
ext: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
9
|
-
packageName: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
10
|
-
presets: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
11
|
-
lock: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
12
|
-
};
|
|
13
|
-
static strict: boolean;
|
|
14
|
-
static args: ({
|
|
15
|
-
name: string;
|
|
16
|
-
description: string;
|
|
17
|
-
options: string[];
|
|
18
|
-
required: boolean;
|
|
19
|
-
} | {
|
|
20
|
-
name: string;
|
|
21
|
-
description: string;
|
|
22
|
-
options?: undefined;
|
|
23
|
-
required?: undefined;
|
|
24
|
-
})[];
|
|
25
|
-
run(): Promise<void>;
|
|
26
|
-
}
|