@faststore/cli 3.99.0 → 4.0.0-dev.1
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 +48 -39
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +5 -0
- package/bin/run.js +5 -0
- package/dist/index.js +2252 -19
- package/dist/index.js.map +1 -1
- package/package.json +46 -27
- package/bin/dev +0 -17
- package/bin/run +0 -5
- package/dist/__mocks__/hcms.d.ts +0 -62
- package/dist/__mocks__/hcms.d.ts.map +0 -1
- package/dist/__mocks__/hcms.js +0 -184
- package/dist/__mocks__/hcms.js.map +0 -1
- package/dist/commands/build.d.ts +0 -12
- package/dist/commands/build.d.ts.map +0 -1
- package/dist/commands/build.js +0 -118
- package/dist/commands/build.js.map +0 -1
- package/dist/commands/cms-sync.d.ts +0 -13
- package/dist/commands/cms-sync.d.ts.map +0 -1
- package/dist/commands/cms-sync.js +0 -39
- package/dist/commands/cms-sync.js.map +0 -1
- package/dist/commands/create.d.ts +0 -11
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -38
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -12
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -164
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/generate-graphql.d.ts +0 -12
- package/dist/commands/generate-graphql.d.ts.map +0 -1
- package/dist/commands/generate-graphql.js +0 -60
- package/dist/commands/generate-graphql.js.map +0 -1
- package/dist/commands/start.d.ts +0 -10
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/start.js +0 -40
- package/dist/commands/start.js.map +0 -1
- package/dist/commands/test.d.ts +0 -9
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js +0 -79
- package/dist/commands/test.js.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +0 -1
- package/dist/utils/commands.d.ts +0 -2
- package/dist/utils/commands.d.ts.map +0 -1
- package/dist/utils/commands.js +0 -16
- package/dist/utils/commands.js.map +0 -1
- package/dist/utils/createNextjsPages.d.ts +0 -2
- package/dist/utils/createNextjsPages.d.ts.map +0 -1
- package/dist/utils/createNextjsPages.js +0 -83
- package/dist/utils/createNextjsPages.js.map +0 -1
- package/dist/utils/dependencies.d.ts +0 -8
- package/dist/utils/dependencies.d.ts.map +0 -1
- package/dist/utils/dependencies.js +0 -17
- package/dist/utils/dependencies.js.map +0 -1
- package/dist/utils/deprecations.d.ts +0 -7
- package/dist/utils/deprecations.d.ts.map +0 -1
- package/dist/utils/deprecations.js +0 -32
- package/dist/utils/deprecations.js.map +0 -1
- package/dist/utils/directory.d.ts +0 -26
- package/dist/utils/directory.d.ts.map +0 -1
- package/dist/utils/directory.js +0 -68
- package/dist/utils/directory.js.map +0 -1
- package/dist/utils/directory.test.d.ts +0 -2
- package/dist/utils/directory.test.d.ts.map +0 -1
- package/dist/utils/directory.test.js +0 -175
- package/dist/utils/directory.test.js.map +0 -1
- package/dist/utils/generate.d.ts +0 -7
- package/dist/utils/generate.d.ts.map +0 -1
- package/dist/utils/generate.js +0 -387
- package/dist/utils/generate.js.map +0 -1
- package/dist/utils/hcms.d.ts +0 -25
- package/dist/utils/hcms.d.ts.map +0 -1
- package/dist/utils/hcms.js +0 -118
- package/dist/utils/hcms.js.map +0 -1
- package/dist/utils/hcms.test.d.ts +0 -2
- package/dist/utils/hcms.test.d.ts.map +0 -1
- package/dist/utils/hcms.test.js +0 -189
- package/dist/utils/hcms.test.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -2
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -16
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/plugins.d.ts +0 -25
- package/dist/utils/plugins.d.ts.map +0 -1
- package/dist/utils/plugins.js +0 -235
- package/dist/utils/plugins.js.map +0 -1
- package/dist/utils/runCommandSync.d.ts +0 -7
- package/dist/utils/runCommandSync.d.ts.map +0 -1
- package/dist/utils/runCommandSync.js +0 -45
- package/dist/utils/runCommandSync.js.map +0 -1
- package/dist/utils/templates/myAccountPage.d.ts +0 -2
- package/dist/utils/templates/myAccountPage.d.ts.map +0 -1
- package/dist/utils/templates/myAccountPage.js +0 -49
- package/dist/utils/templates/myAccountPage.js.map +0 -1
- package/oclif.manifest.json +0 -1
package/dist/utils/hcms.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mergeCMSFiles = exports.mergeCMSFile = exports.dedupeAndMergeDefinitions = exports.splitCustomDefinitions = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const core_1 = require("@oclif/core");
|
|
8
|
-
const fs_extra_1 = require("fs-extra");
|
|
9
|
-
const directory_1 = require("./directory");
|
|
10
|
-
const plugins_1 = require("./plugins");
|
|
11
|
-
function splitCustomDefinitions(coreDefinitions, customDefinitions, primaryIdentifier) {
|
|
12
|
-
const coreDefinitionIdentifiers = new Set(coreDefinitions.map((definition) => definition[primaryIdentifier] ?? ''));
|
|
13
|
-
const duplicates = [];
|
|
14
|
-
const newDefinitions = [];
|
|
15
|
-
customDefinitions.forEach((definition) => {
|
|
16
|
-
if (!definition[primaryIdentifier]) {
|
|
17
|
-
console.error('Ignoring invalid definition:', definition);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (coreDefinitionIdentifiers.has(definition[primaryIdentifier])) {
|
|
21
|
-
duplicates.push(definition);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
newDefinitions.push(definition);
|
|
25
|
-
});
|
|
26
|
-
return { duplicates, newDefinitions };
|
|
27
|
-
}
|
|
28
|
-
exports.splitCustomDefinitions = splitCustomDefinitions;
|
|
29
|
-
function dedupeAndMergeDefinitions(coreDefinitions, duplicates, primaryIdentifier) {
|
|
30
|
-
const sortedCoreDefs = coreDefinitions.filter((definition) => Boolean(definition[primaryIdentifier]));
|
|
31
|
-
sortedCoreDefs.sort((a, b) => a[primaryIdentifier] < b[primaryIdentifier] ? -1 : 1);
|
|
32
|
-
const sortedDuplicates = duplicates.filter((definition) => Boolean(definition[primaryIdentifier]));
|
|
33
|
-
sortedDuplicates.sort((a, b) => a[primaryIdentifier] < b[primaryIdentifier] ? -1 : 1);
|
|
34
|
-
let duplicateIdx = 0;
|
|
35
|
-
const result = sortedCoreDefs.map((currentDefinition) => {
|
|
36
|
-
const isDuplicateMatch = currentDefinition[primaryIdentifier] ===
|
|
37
|
-
sortedDuplicates[duplicateIdx]?.[primaryIdentifier];
|
|
38
|
-
if (duplicateIdx < sortedDuplicates.length && isDuplicateMatch) {
|
|
39
|
-
return sortedDuplicates[duplicateIdx++];
|
|
40
|
-
}
|
|
41
|
-
return currentDefinition;
|
|
42
|
-
});
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
exports.dedupeAndMergeDefinitions = dedupeAndMergeDefinitions;
|
|
46
|
-
async function confirmUserChoice(duplicates, fileName) {
|
|
47
|
-
const goAhead = await core_1.CliUx.ux.confirm(`You are about to override default ${fileName.split('.')[0]}:\n\n${duplicates
|
|
48
|
-
.map((definition) => definition.id || definition.name)
|
|
49
|
-
.join('\n')}\n\nAre you sure? [yes/no]`);
|
|
50
|
-
if (!goAhead) {
|
|
51
|
-
throw new Error('cms-sync cancelled by user.');
|
|
52
|
-
}
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
async function mergeCMSFile(fileName, basePath) {
|
|
56
|
-
const { coreCMSDir, userCMSDir, tmpCMSDir, getPackagePath, userStoreConfigFile, } = (0, directory_1.withBasePath)(basePath);
|
|
57
|
-
const userStoreConfig = await Promise.resolve(`${path_1.default.resolve(userStoreConfigFile)}`).then(s => tslib_1.__importStar(require(s)));
|
|
58
|
-
const cmsProjectName = userStoreConfig.contentSource?.project ?? 'faststore';
|
|
59
|
-
const coreFilePath = path_1.default.join(coreCMSDir, fileName);
|
|
60
|
-
const customFilePath = path_1.default.join(userCMSDir, fileName);
|
|
61
|
-
const coreFile = (0, fs_extra_1.readFileSync)(coreFilePath, 'utf8');
|
|
62
|
-
const coreDefinitions = JSON.parse(coreFile);
|
|
63
|
-
const primaryIdentifierForDefinitions = fileName === 'content-types.json' ? 'id' : 'name';
|
|
64
|
-
let output = coreDefinitions;
|
|
65
|
-
const plugins = await (0, plugins_1.getPluginsList)(basePath);
|
|
66
|
-
const pluginCMSFilePaths = plugins.map((plugin) => getPackagePath((0, plugins_1.getPluginName)(plugin), 'cms', 'faststore', fileName));
|
|
67
|
-
const customizations = [...pluginCMSFilePaths, customFilePath].filter((pluginCMSFilePath) => (0, fs_extra_1.existsSync)(pluginCMSFilePath));
|
|
68
|
-
// TODO: create a validation when the CMS files exist but don't have a component for them
|
|
69
|
-
for (const newFilePath of customizations) {
|
|
70
|
-
const customFile = (0, fs_extra_1.readFileSync)(newFilePath, 'utf8');
|
|
71
|
-
try {
|
|
72
|
-
const customDefinitions = JSON.parse(customFile);
|
|
73
|
-
const { duplicates, newDefinitions } = splitCustomDefinitions(output, customDefinitions, primaryIdentifierForDefinitions);
|
|
74
|
-
if (duplicates.length) {
|
|
75
|
-
if (newFilePath === customFilePath) {
|
|
76
|
-
await confirmUserChoice(duplicates, fileName);
|
|
77
|
-
}
|
|
78
|
-
output = [
|
|
79
|
-
...dedupeAndMergeDefinitions(output, duplicates, primaryIdentifierForDefinitions),
|
|
80
|
-
...newDefinitions,
|
|
81
|
-
];
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
output = [...output, ...newDefinitions];
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
catch (err) {
|
|
88
|
-
if (err instanceof SyntaxError) {
|
|
89
|
-
console.info(`${chalk_1.default.red('error')} - ${fileName} is a malformed JSON file, ignoring its contents.`);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
throw err;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
try {
|
|
97
|
-
if (!(0, fs_extra_1.existsSync)(tmpCMSDir(cmsProjectName))) {
|
|
98
|
-
(0, fs_extra_1.mkdirSync)(tmpCMSDir(cmsProjectName));
|
|
99
|
-
}
|
|
100
|
-
(0, fs_extra_1.writeFileSync)(path_1.default.join(tmpCMSDir(cmsProjectName), fileName), JSON.stringify(output));
|
|
101
|
-
console.log(`${chalk_1.default.green('success')} - CMS file ${chalk_1.default.dim(fileName)} created`);
|
|
102
|
-
}
|
|
103
|
-
catch (err) {
|
|
104
|
-
console.error(`${chalk_1.default.red('error')} - ${err}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
exports.mergeCMSFile = mergeCMSFile;
|
|
108
|
-
async function mergeCMSFiles(basePath) {
|
|
109
|
-
try {
|
|
110
|
-
await mergeCMSFile('content-types.json', basePath);
|
|
111
|
-
await mergeCMSFile('sections.json', basePath);
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
console.error(`${chalk_1.default.red('error')} - ${err}`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
exports.mergeCMSFiles = mergeCMSFiles;
|
|
118
|
-
//# sourceMappingURL=hcms.js.map
|
package/dist/utils/hcms.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hcms.js","sourceRoot":"","sources":["../../src/utils/hcms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hcms.test.d.ts","sourceRoot":"","sources":["../../src/utils/hcms.test.ts"],"names":[],"mappings":""}
|
package/dist/utils/hcms.test.js
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
5
|
-
const hcms_1 = require("../__mocks__/hcms");
|
|
6
|
-
const hcms_2 = require("./hcms");
|
|
7
|
-
const directory_1 = require("./directory");
|
|
8
|
-
jest.mock('fs-extra', () => ({
|
|
9
|
-
mkdirSync: jest.fn(),
|
|
10
|
-
readFileSync: jest.fn(),
|
|
11
|
-
existsSync: jest.fn(),
|
|
12
|
-
writeFileSync: jest.fn(),
|
|
13
|
-
}));
|
|
14
|
-
jest.mock('./plugins', () => ({
|
|
15
|
-
getPluginsList: jest.fn(),
|
|
16
|
-
}));
|
|
17
|
-
describe('mergeCMSFile', () => {
|
|
18
|
-
it("should create a resulting file that contains all core definitions if a custom definitions file doesn't exist", async () => {
|
|
19
|
-
const { readFileSync, existsSync, writeFileSync } = require('fs-extra');
|
|
20
|
-
const { tmpCMSDir, userStoreConfigFile } = (0, directory_1.withBasePath)('.');
|
|
21
|
-
existsSync.mockReturnValueOnce(false);
|
|
22
|
-
readFileSync.mockReturnValueOnce(JSON.stringify(hcms_1.coreContentTypes));
|
|
23
|
-
jest.mock(path_1.default.resolve(userStoreConfigFile), () => ({
|
|
24
|
-
contentSource: {
|
|
25
|
-
project: 'faststore-3',
|
|
26
|
-
},
|
|
27
|
-
}), { virtual: true });
|
|
28
|
-
const { getPluginsList } = require('./plugins');
|
|
29
|
-
getPluginsList.mockResolvedValue([]);
|
|
30
|
-
await (0, hcms_2.mergeCMSFile)('content-types.json', '.');
|
|
31
|
-
expect(writeFileSync).toHaveBeenCalledWith(path_1.default.join(tmpCMSDir('faststore-3'), 'content-types.json'), JSON.stringify(hcms_1.coreContentTypes));
|
|
32
|
-
existsSync.mockReturnValueOnce(false);
|
|
33
|
-
readFileSync.mockReturnValueOnce(JSON.stringify(hcms_1.coreSections));
|
|
34
|
-
await (0, hcms_2.mergeCMSFile)('sections.json', '.');
|
|
35
|
-
expect(writeFileSync).toHaveBeenCalledWith(path_1.default.join(tmpCMSDir('faststore-3'), 'sections.json'), JSON.stringify(hcms_1.coreSections));
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
describe('splitCustomDefinitions', () => {
|
|
39
|
-
it('should return empty arrays if there are no custom definitions', () => {
|
|
40
|
-
// content-types
|
|
41
|
-
expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreContentTypes, [], 'id')).toEqual({
|
|
42
|
-
duplicates: [],
|
|
43
|
-
newDefinitions: [],
|
|
44
|
-
});
|
|
45
|
-
// sections
|
|
46
|
-
expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreSections, [], 'name')).toEqual({
|
|
47
|
-
duplicates: [],
|
|
48
|
-
newDefinitions: [],
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
it('should return empty duplicates array if all custom definitions are new', () => {
|
|
52
|
-
// content-types
|
|
53
|
-
expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreContentTypes, hcms_1.allNewCustomContentTypes, 'id')).toEqual({
|
|
54
|
-
duplicates: [],
|
|
55
|
-
newDefinitions: hcms_1.allNewCustomContentTypes,
|
|
56
|
-
});
|
|
57
|
-
// sections
|
|
58
|
-
expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreSections, hcms_1.allNewCustomSections, 'name')).toEqual({
|
|
59
|
-
duplicates: [],
|
|
60
|
-
newDefinitions: hcms_1.allNewCustomSections,
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
it('should return expected split definitions', () => {
|
|
64
|
-
// content-types
|
|
65
|
-
expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreContentTypes, hcms_1.customContentTypesWithDuplicates, 'id')).toEqual({
|
|
66
|
-
duplicates: hcms_1.contentTypeDuplicates,
|
|
67
|
-
newDefinitions: hcms_1.allNewCustomContentTypes,
|
|
68
|
-
});
|
|
69
|
-
// sections
|
|
70
|
-
expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreSections, hcms_1.customSectionsWithDuplicates, 'name')).toEqual({
|
|
71
|
-
duplicates: hcms_1.sectionDuplicates,
|
|
72
|
-
newDefinitions: hcms_1.allNewCustomSections,
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
describe('dedupeAndMergeDefinitions', () => {
|
|
77
|
-
it('should return the exact same core definitions if there are no duplicates', () => {
|
|
78
|
-
expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreContentTypes, [], 'id')).toEqual(hcms_1.coreContentTypes);
|
|
79
|
-
expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreSections, [], 'name')).toEqual(hcms_1.coreSections);
|
|
80
|
-
});
|
|
81
|
-
it('should return expected merged definitions, applying overrides based on duplicates', () => {
|
|
82
|
-
expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreContentTypes, hcms_1.contentTypeDuplicates, 'id')).toEqual([
|
|
83
|
-
{
|
|
84
|
-
id: '404',
|
|
85
|
-
name: 'Error 404',
|
|
86
|
-
configurationSchemaSets: [],
|
|
87
|
-
isSingleton: true,
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
id: '500',
|
|
91
|
-
name: 'Error 500',
|
|
92
|
-
configurationSchemaSets: [],
|
|
93
|
-
isSingleton: true,
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
id: 'globalSections',
|
|
97
|
-
name: 'Global Sections',
|
|
98
|
-
configurationSchemaSets: [],
|
|
99
|
-
isSingleton: true,
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
id: 'home',
|
|
103
|
-
name: 'Home',
|
|
104
|
-
isSingleton: true,
|
|
105
|
-
configurationSchemaSets: [],
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
id: 'landingPage',
|
|
109
|
-
name: 'Landing Page',
|
|
110
|
-
configurationSchemaSets: [],
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: 'login',
|
|
114
|
-
name: 'Custom Login. Why not...',
|
|
115
|
-
configurationSchemaSets: [],
|
|
116
|
-
isSingleton: true,
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
id: 'pdp',
|
|
120
|
-
name: 'Product Page',
|
|
121
|
-
isSingleton: true,
|
|
122
|
-
configurationSchemaSets: [],
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
id: 'plp',
|
|
126
|
-
name: 'Product List Page',
|
|
127
|
-
isSingleton: true,
|
|
128
|
-
configurationSchemaSets: [],
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
id: 'search',
|
|
132
|
-
name: 'Custom Search Page',
|
|
133
|
-
isSingleton: true,
|
|
134
|
-
configurationSchemaSets: [],
|
|
135
|
-
},
|
|
136
|
-
]);
|
|
137
|
-
expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreSections, hcms_1.sectionDuplicates, 'name')).toEqual([
|
|
138
|
-
{
|
|
139
|
-
name: 'Alert',
|
|
140
|
-
schema: {
|
|
141
|
-
title: 'Alert',
|
|
142
|
-
description: 'Add an alert',
|
|
143
|
-
properties: {},
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
name: 'BannerNewsletter',
|
|
148
|
-
schema: {
|
|
149
|
-
title: 'Newsletter + Cool Banner',
|
|
150
|
-
description: 'Totally not spam.',
|
|
151
|
-
properties: {},
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
name: 'Hero',
|
|
156
|
-
schema: {
|
|
157
|
-
title: 'Hero',
|
|
158
|
-
description: 'Very careful with the image you choose here... not that we have anything to hide ;)',
|
|
159
|
-
properties: {},
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
name: 'Navbar',
|
|
164
|
-
schema: {
|
|
165
|
-
title: 'Navbar',
|
|
166
|
-
description: 'Navbar configuration',
|
|
167
|
-
properties: {},
|
|
168
|
-
},
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
name: 'ProductShelf',
|
|
172
|
-
schema: {
|
|
173
|
-
title: 'Product Shelf',
|
|
174
|
-
description: 'Add custom shelves to your store',
|
|
175
|
-
properties: {},
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
name: 'Search',
|
|
180
|
-
schema: {
|
|
181
|
-
title: 'Search Bar',
|
|
182
|
-
description: 'Search Bar Configuration',
|
|
183
|
-
properties: {},
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
]);
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
//# sourceMappingURL=hcms.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hcms.test.js","sourceRoot":"","sources":["../../src/utils/hcms.test.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,SAWjB,CAAA"}
|
package/dist/utils/logger.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logger = void 0;
|
|
4
|
-
exports.logger = new Proxy(console, {
|
|
5
|
-
get(target, prop) {
|
|
6
|
-
if (prop === 'log') {
|
|
7
|
-
return (...args) => {
|
|
8
|
-
if (process.env.DISCOVERY_DEBUG === 'true') {
|
|
9
|
-
target.log(...args);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
return target[prop];
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;IACvC,GAAG,CAAC,MAAM,EAAE,IAAmB;QAC7B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;gBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;oBAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;gBACrB,CAAC;YACH,CAAC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;CACF,CAAC,CAAA"}
|
package/dist/utils/plugins.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export type PageConfig = {
|
|
2
|
-
path: string;
|
|
3
|
-
appLayout: boolean;
|
|
4
|
-
name: string;
|
|
5
|
-
};
|
|
6
|
-
export type APIConfig = {
|
|
7
|
-
path: string;
|
|
8
|
-
};
|
|
9
|
-
export type PluginConfig = {
|
|
10
|
-
pages?: {
|
|
11
|
-
[pageName: string]: Partial<PageConfig>;
|
|
12
|
-
};
|
|
13
|
-
apis?: {
|
|
14
|
-
[pageName: string]: Partial<APIConfig>;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export type Plugin = string | {
|
|
18
|
-
[pluginName: string]: PluginConfig;
|
|
19
|
-
};
|
|
20
|
-
export declare const getPluginName: (plugin: Plugin) => string;
|
|
21
|
-
export declare const getPluginsList: (basePath: string) => Promise<Plugin[]>;
|
|
22
|
-
export declare function addPluginsSections(basePath: string, plugins: Plugin[]): Promise<void>;
|
|
23
|
-
export declare function addPluginsOverrides(basePath: string, plugins: Plugin[]): Promise<void>;
|
|
24
|
-
export declare const installPlugins: (basePath: string) => Promise<void>;
|
|
25
|
-
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/utils/plugins.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;KAAE,CAAA;IACnD,IAAI,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;KAAE,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,MAAM,GACd,MAAM,GACN;IACE,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAA;CACnC,CAAA;AAkBL,eAAO,MAAM,aAAa,WAAY,MAAM,WAM3C,CAAA;AAeD,eAAO,MAAM,cAAc,aAAoB,MAAM,KAAG,QAAQ,MAAM,EAAE,CAWvE,CAAA;AAwHD,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAkC3E;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAoC5E;AAwED,eAAO,MAAM,cAAc,aAAoB,MAAM,kBAUpD,CAAA"}
|
package/dist/utils/plugins.js
DELETED
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.installPlugins = exports.addPluginsOverrides = exports.addPluginsSections = exports.getPluginsList = exports.getPluginName = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const fs_extra_1 = require("fs-extra");
|
|
6
|
-
const directory_1 = require("./directory");
|
|
7
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
|
-
const logger_1 = require("./logger");
|
|
9
|
-
const PLUGIN_CONFIG_FILE = 'plugin.config.js';
|
|
10
|
-
const sanitizePluginName = (pluginName, pascalCase = false) => {
|
|
11
|
-
const sanitized = pluginName.split('/')[1];
|
|
12
|
-
if (pascalCase) {
|
|
13
|
-
return sanitized
|
|
14
|
-
.toLowerCase()
|
|
15
|
-
.split('-')
|
|
16
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
17
|
-
.join('');
|
|
18
|
-
}
|
|
19
|
-
return sanitized;
|
|
20
|
-
};
|
|
21
|
-
const getPluginName = (plugin) => {
|
|
22
|
-
if (typeof plugin === 'string') {
|
|
23
|
-
return plugin;
|
|
24
|
-
}
|
|
25
|
-
return Object.keys(plugin)[0];
|
|
26
|
-
};
|
|
27
|
-
exports.getPluginName = getPluginName;
|
|
28
|
-
const getPluginCustomConfig = (plugin) => {
|
|
29
|
-
if (typeof plugin === 'string') {
|
|
30
|
-
return {};
|
|
31
|
-
}
|
|
32
|
-
return plugin[(0, exports.getPluginName)(plugin)];
|
|
33
|
-
};
|
|
34
|
-
const getPluginSrcPath = async (basePath, pluginName) => {
|
|
35
|
-
const { getPackagePath } = (0, directory_1.withBasePath)(basePath);
|
|
36
|
-
return getPackagePath(pluginName, 'src');
|
|
37
|
-
};
|
|
38
|
-
const getPluginsList = async (basePath) => {
|
|
39
|
-
const { tmpStoreConfigFile } = (0, directory_1.withBasePath)(basePath);
|
|
40
|
-
try {
|
|
41
|
-
const { plugins = [] } = await Promise.resolve(`${tmpStoreConfigFile}`).then(s => tslib_1.__importStar(require(s)));
|
|
42
|
-
return plugins;
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
logger_1.logger.error(`Could not load plugins from store config`);
|
|
46
|
-
}
|
|
47
|
-
return [];
|
|
48
|
-
};
|
|
49
|
-
exports.getPluginsList = getPluginsList;
|
|
50
|
-
const copyPluginsSrc = async (basePath, plugins) => {
|
|
51
|
-
const { tmpPluginsDir } = (0, directory_1.withBasePath)(basePath);
|
|
52
|
-
logger_1.logger.log('Copying plugins files');
|
|
53
|
-
plugins.forEach(async (plugin) => {
|
|
54
|
-
const pluginName = (0, exports.getPluginName)(plugin);
|
|
55
|
-
const pluginSrcPath = await getPluginSrcPath(basePath, (0, exports.getPluginName)(pluginName));
|
|
56
|
-
const pluginDestPath = path_1.default.join(tmpPluginsDir, sanitizePluginName(pluginName));
|
|
57
|
-
(0, fs_extra_1.copySync)(pluginSrcPath, pluginDestPath);
|
|
58
|
-
logger_1.logger.log(`Copied ${pluginName} files`);
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
const copyPluginPublicFiles = async (basePath, plugins) => {
|
|
62
|
-
const { tmpDir, getPackagePath } = (0, directory_1.withBasePath)(basePath);
|
|
63
|
-
logger_1.logger.log('Copying plugin public files');
|
|
64
|
-
plugins.forEach(async (plugin) => {
|
|
65
|
-
const pluginName = (0, exports.getPluginName)(plugin);
|
|
66
|
-
const pluginPath = getPackagePath((0, exports.getPluginName)(pluginName));
|
|
67
|
-
try {
|
|
68
|
-
if ((0, fs_extra_1.existsSync)(`${pluginPath}/public`)) {
|
|
69
|
-
(0, fs_extra_1.copySync)(`${pluginPath}/public`, `${tmpDir}/public`, {
|
|
70
|
-
dereference: true,
|
|
71
|
-
overwrite: true,
|
|
72
|
-
});
|
|
73
|
-
logger_1.logger.log(`Plugin public files copied`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
logger_1.logger.error(e);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
const getPluginPageFileContent = (pluginName, pageName, appLayout) => `
|
|
82
|
-
// GENERATED FILE
|
|
83
|
-
// @ts-nocheck
|
|
84
|
-
import * as page from 'src/plugins/${pluginName}/pages/${pageName}'
|
|
85
|
-
${appLayout ? `import { getGlobalSectionsData } from 'src/components/cms/GlobalSections'` : ``}
|
|
86
|
-
${appLayout ? `import RenderSections from 'src/components/cms/RenderSections'` : ``}
|
|
87
|
-
|
|
88
|
-
export async function getServerSideProps(${appLayout ? '{ previewData, ...otherProps }' : 'otherProps'}) {
|
|
89
|
-
const noop = async function() {}
|
|
90
|
-
const loaderData = await (page.loader || noop)(otherProps)
|
|
91
|
-
${appLayout ? `const { sections = [] } = await getGlobalSectionsData(previewData)` : ``}
|
|
92
|
-
|
|
93
|
-
return {
|
|
94
|
-
props: {
|
|
95
|
-
data: loaderData,
|
|
96
|
-
${appLayout ? 'globalSections: sections' : ``}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
export default function Page(props) {
|
|
101
|
-
${appLayout
|
|
102
|
-
? `return <RenderSections globalSections={props.globalSections}>
|
|
103
|
-
{page.default(props.data)}
|
|
104
|
-
</RenderSections>`
|
|
105
|
-
: `return page.default(props.data)`}
|
|
106
|
-
}
|
|
107
|
-
`;
|
|
108
|
-
const generatePluginPages = async (basePath, plugins) => {
|
|
109
|
-
const { tmpPagesDir, getPackagePath } = (0, directory_1.withBasePath)(basePath);
|
|
110
|
-
logger_1.logger.log('Generating plugin pages');
|
|
111
|
-
plugins.forEach(async (plugin) => {
|
|
112
|
-
const pluginName = (0, exports.getPluginName)(plugin);
|
|
113
|
-
const pluginConfigPath = getPackagePath(pluginName, PLUGIN_CONFIG_FILE);
|
|
114
|
-
const pluginConfig = await Promise.resolve(`${pluginConfigPath}`).then(s => tslib_1.__importStar(require(s)));
|
|
115
|
-
const { pages: pagesCustom } = getPluginCustomConfig(plugin);
|
|
116
|
-
const pagesConfig = {
|
|
117
|
-
...(pluginConfig.pages ?? {}),
|
|
118
|
-
...pagesCustom,
|
|
119
|
-
};
|
|
120
|
-
const pages = Object.keys(pagesConfig);
|
|
121
|
-
pages.forEach(async (pageName) => {
|
|
122
|
-
const paths = pagesConfig[pageName].path.split('/');
|
|
123
|
-
const pageFile = paths.pop();
|
|
124
|
-
const pagePaths = paths;
|
|
125
|
-
const pagePath = path_1.default.join(tmpPagesDir, ...pagePaths, pageFile + '.tsx');
|
|
126
|
-
const fileContent = getPluginPageFileContent(sanitizePluginName(pluginName), pageName, pagesConfig[pageName].appLayout);
|
|
127
|
-
(0, fs_extra_1.mkdirSync)(path_1.default.dirname(pagePath), { recursive: true });
|
|
128
|
-
(0, fs_extra_1.writeFileSync)(pagePath, fileContent);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
|
-
async function addPluginsSections(basePath, plugins) {
|
|
133
|
-
const { tmpPluginsDir, getPackagePath } = (0, directory_1.withBasePath)(basePath);
|
|
134
|
-
logger_1.logger.log('Adding plugin sections');
|
|
135
|
-
const indexPluginsOverrides = plugins
|
|
136
|
-
.filter((plugin) => (0, fs_extra_1.existsSync)(getPackagePath((0, exports.getPluginName)(plugin), 'src', 'components', 'index.ts')))
|
|
137
|
-
.map((plugin) => {
|
|
138
|
-
const pluginReference = sanitizePluginName((0, exports.getPluginName)(plugin), true) + 'Components';
|
|
139
|
-
return {
|
|
140
|
-
import: `import { default as ${pluginReference} } from 'src/plugins/${sanitizePluginName((0, exports.getPluginName)(plugin))}/components'`,
|
|
141
|
-
pluginReference,
|
|
142
|
-
};
|
|
143
|
-
});
|
|
144
|
-
const pluginsImportFileContent = `
|
|
145
|
-
${indexPluginsOverrides.map((plugin) => plugin.import).join('\n')}
|
|
146
|
-
|
|
147
|
-
export default {
|
|
148
|
-
${indexPluginsOverrides.map((plugin) => `...${plugin.pluginReference}`).join(',\n')}
|
|
149
|
-
}
|
|
150
|
-
`;
|
|
151
|
-
const sectionPath = path_1.default.join(tmpPluginsDir, 'index.ts');
|
|
152
|
-
(0, fs_extra_1.writeFileSync)(sectionPath, pluginsImportFileContent);
|
|
153
|
-
logger_1.logger.log('Writing plugins overrides');
|
|
154
|
-
logger_1.logger.log(sectionPath);
|
|
155
|
-
logger_1.logger.log(pluginsImportFileContent);
|
|
156
|
-
}
|
|
157
|
-
exports.addPluginsSections = addPluginsSections;
|
|
158
|
-
async function addPluginsOverrides(basePath, plugins) {
|
|
159
|
-
const { tmpPluginsDir, getPackagePath } = (0, directory_1.withBasePath)(basePath);
|
|
160
|
-
logger_1.logger.log('Adding plugin overrides');
|
|
161
|
-
plugins
|
|
162
|
-
.map((plugin) => ({
|
|
163
|
-
pluginName: (0, exports.getPluginName)(plugin),
|
|
164
|
-
pluginOverridesPath: getPackagePath((0, exports.getPluginName)(plugin), 'src', 'components', 'overrides'),
|
|
165
|
-
}))
|
|
166
|
-
.filter(({ pluginOverridesPath }) => (0, fs_extra_1.existsSync)(pluginOverridesPath))
|
|
167
|
-
.reverse()
|
|
168
|
-
.forEach(({ pluginName, pluginOverridesPath }) => {
|
|
169
|
-
const overrideFilesAlreadyCopied = [];
|
|
170
|
-
const sanitizedPluginName = sanitizePluginName(pluginName);
|
|
171
|
-
const overrideFiles = (0, fs_extra_1.readdirSync)(pluginOverridesPath);
|
|
172
|
-
overrideFiles
|
|
173
|
-
.filter((file) => !overrideFilesAlreadyCopied.includes(file))
|
|
174
|
-
.forEach((overrideFileName) => {
|
|
175
|
-
const overrideFileContent = `export { override } from 'src/plugins/${sanitizedPluginName}/components/overrides/${overrideFileName.split('.')[0]}'`;
|
|
176
|
-
(0, fs_extra_1.writeFileSync)(path_1.default.join(tmpPluginsDir, 'overrides', overrideFileName), overrideFileContent);
|
|
177
|
-
overrideFilesAlreadyCopied.push(overrideFileName);
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
exports.addPluginsOverrides = addPluginsOverrides;
|
|
182
|
-
const addPluginsTheme = async (basePath, plugins) => {
|
|
183
|
-
const { getPackagePath, tmpThemesPluginsFile } = (0, directory_1.withBasePath)(basePath);
|
|
184
|
-
const pluginImportsContent = plugins
|
|
185
|
-
.filter((plugin) => (0, fs_extra_1.existsSync)(getPackagePath((0, exports.getPluginName)(plugin), 'src', 'themes', 'index.scss')))
|
|
186
|
-
.map((plugin) => `@import "${(0, exports.getPluginName)(plugin)}/src/themes/index.scss"`)
|
|
187
|
-
.join('\n');
|
|
188
|
-
(0, fs_extra_1.writeFileSync)(tmpThemesPluginsFile, pluginImportsContent);
|
|
189
|
-
};
|
|
190
|
-
const getPluginAPIFileContent = (pluginName, apiName) => `
|
|
191
|
-
// GENERATED FILE
|
|
192
|
-
// @ts-nocheck
|
|
193
|
-
import apiHandle from 'src/plugins/${pluginName}/apis/${apiName}'
|
|
194
|
-
import { NextApiRequest, NextApiResponse } from "next/types"
|
|
195
|
-
|
|
196
|
-
export default function handle(req: NextApiRequest, res: NextApiResponse) {
|
|
197
|
-
return apiHandle(req, res)
|
|
198
|
-
}
|
|
199
|
-
`;
|
|
200
|
-
const generatePluginApis = async (basePath, plugins) => {
|
|
201
|
-
const { tmpApiDir, getPackagePath } = (0, directory_1.withBasePath)(basePath);
|
|
202
|
-
logger_1.logger.log('Generating plugin APIs');
|
|
203
|
-
plugins.forEach(async (plugin) => {
|
|
204
|
-
const pluginName = (0, exports.getPluginName)(plugin);
|
|
205
|
-
const pluginConfigPath = getPackagePath(pluginName, PLUGIN_CONFIG_FILE);
|
|
206
|
-
const pluginConfig = await Promise.resolve(`${pluginConfigPath}`).then(s => tslib_1.__importStar(require(s)));
|
|
207
|
-
const { apis: apisCustom } = getPluginCustomConfig(plugin);
|
|
208
|
-
const apisConfig = {
|
|
209
|
-
...(pluginConfig.apis ?? {}),
|
|
210
|
-
...apisCustom,
|
|
211
|
-
};
|
|
212
|
-
const apis = Object.keys(apisConfig);
|
|
213
|
-
apis.forEach(async (apiName) => {
|
|
214
|
-
const paths = apisConfig[apiName].path.split('/');
|
|
215
|
-
const apiFile = paths.pop();
|
|
216
|
-
const apiPaths = paths;
|
|
217
|
-
const apiPath = path_1.default.join(tmpApiDir, 'plugins', ...apiPaths, apiFile + '.ts');
|
|
218
|
-
const fileContent = getPluginAPIFileContent(sanitizePluginName(pluginName), apiName);
|
|
219
|
-
(0, fs_extra_1.mkdirSync)(path_1.default.dirname(apiPath), { recursive: true });
|
|
220
|
-
(0, fs_extra_1.writeFileSync)(apiPath, fileContent);
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
};
|
|
224
|
-
const installPlugins = async (basePath) => {
|
|
225
|
-
const plugins = await (0, exports.getPluginsList)(basePath);
|
|
226
|
-
copyPluginsSrc(basePath, plugins);
|
|
227
|
-
copyPluginPublicFiles(basePath, plugins);
|
|
228
|
-
generatePluginPages(basePath, plugins);
|
|
229
|
-
generatePluginApis(basePath, plugins);
|
|
230
|
-
addPluginsSections(basePath, plugins);
|
|
231
|
-
addPluginsOverrides(basePath, plugins);
|
|
232
|
-
addPluginsTheme(basePath, plugins);
|
|
233
|
-
};
|
|
234
|
-
exports.installPlugins = installPlugins;
|
|
235
|
-
//# sourceMappingURL=plugins.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/utils/plugins.ts"],"names":[],"mappings":"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"}
|