@faststore/cli 3.0.13 → 3.0.24

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 CHANGED
@@ -30,7 +30,7 @@ $ npm install -g @faststore/cli
30
30
  $ faststore COMMAND
31
31
  running command...
32
32
  $ faststore (--version)
33
- @faststore/cli/3.0.13 linux-x64 node-v18.19.1
33
+ @faststore/cli/3.0.24 linux-x64 node-v18.19.1
34
34
  $ faststore --help [COMMAND]
35
35
  USAGE
36
36
  $ faststore COMMAND
@@ -56,16 +56,19 @@ USAGE
56
56
  $ faststore build
57
57
  ```
58
58
 
59
- _See code: [dist/commands/build.ts](https://github.com/vtex/faststore/blob/v3.0.13/dist/commands/build.ts)_
59
+ _See code: [dist/commands/build.ts](https://github.com/vtex/faststore/blob/v3.0.24/dist/commands/build.ts)_
60
60
 
61
61
  ## `faststore cms-sync`
62
62
 
63
63
  ```
64
64
  USAGE
65
- $ faststore cms-sync
65
+ $ faststore cms-sync [-d]
66
+
67
+ FLAGS
68
+ -d, --dry-run
66
69
  ```
67
70
 
68
- _See code: [dist/commands/cms-sync.ts](https://github.com/vtex/faststore/blob/v3.0.13/dist/commands/cms-sync.ts)_
71
+ _See code: [dist/commands/cms-sync.ts](https://github.com/vtex/faststore/blob/v3.0.24/dist/commands/cms-sync.ts)_
69
72
 
70
73
  ## `faststore dev`
71
74
 
@@ -74,7 +77,7 @@ USAGE
74
77
  $ faststore dev
75
78
  ```
76
79
 
77
- _See code: [dist/commands/dev.ts](https://github.com/vtex/faststore/blob/v3.0.13/dist/commands/dev.ts)_
80
+ _See code: [dist/commands/dev.ts](https://github.com/vtex/faststore/blob/v3.0.24/dist/commands/dev.ts)_
78
81
 
79
82
  ## `faststore generate-graphql`
80
83
 
@@ -86,7 +89,7 @@ FLAGS
86
89
  -d, --debug
87
90
  ```
88
91
 
89
- _See code: [dist/commands/generate-graphql.ts](https://github.com/vtex/faststore/blob/v3.0.13/dist/commands/generate-graphql.ts)_
92
+ _See code: [dist/commands/generate-graphql.ts](https://github.com/vtex/faststore/blob/v3.0.24/dist/commands/generate-graphql.ts)_
90
93
 
91
94
  ## `faststore help [COMMAND]`
92
95
 
@@ -115,7 +118,7 @@ USAGE
115
118
  $ faststore start
116
119
  ```
117
120
 
118
- _See code: [dist/commands/start.ts](https://github.com/vtex/faststore/blob/v3.0.13/dist/commands/start.ts)_
121
+ _See code: [dist/commands/start.ts](https://github.com/vtex/faststore/blob/v3.0.24/dist/commands/start.ts)_
119
122
 
120
123
  ## `faststore test`
121
124
 
@@ -124,5 +127,5 @@ USAGE
124
127
  $ faststore test
125
128
  ```
126
129
 
127
- _See code: [dist/commands/test.ts](https://github.com/vtex/faststore/blob/v3.0.13/dist/commands/test.ts)_
130
+ _See code: [dist/commands/test.ts](https://github.com/vtex/faststore/blob/v3.0.24/dist/commands/test.ts)_
128
131
  <!-- commandsstop -->
@@ -0,0 +1,61 @@
1
+ export declare const coreSections: {
2
+ name: string;
3
+ schema: {
4
+ title: string;
5
+ description: string;
6
+ properties: {};
7
+ };
8
+ }[];
9
+ export declare const allNewCustomSections: {
10
+ name: string;
11
+ schema: {
12
+ title: string;
13
+ description: string;
14
+ properties: {};
15
+ };
16
+ }[];
17
+ export declare const sectionDuplicates: {
18
+ name: string;
19
+ schema: {
20
+ title: string;
21
+ description: string;
22
+ properties: {};
23
+ };
24
+ }[];
25
+ export declare const customSectionsWithDuplicates: {
26
+ name: string;
27
+ schema: {
28
+ title: string;
29
+ description: string;
30
+ properties: {};
31
+ };
32
+ }[];
33
+ export declare const coreContentTypes: ({
34
+ id: string;
35
+ name: string;
36
+ configurationSchemaSets: never[];
37
+ isSingleton: boolean;
38
+ } | {
39
+ id: string;
40
+ name: string;
41
+ configurationSchemaSets: never[];
42
+ isSingleton?: undefined;
43
+ })[];
44
+ export declare const allNewCustomContentTypes: {
45
+ id: string;
46
+ name: string;
47
+ isSingleton: boolean;
48
+ configurationSchemaSets: never[];
49
+ }[];
50
+ export declare const contentTypeDuplicates: {
51
+ id: string;
52
+ name: string;
53
+ configurationSchemaSets: never[];
54
+ isSingleton: boolean;
55
+ }[];
56
+ export declare const customContentTypesWithDuplicates: {
57
+ id: string;
58
+ name: string;
59
+ isSingleton: boolean;
60
+ configurationSchemaSets: never[];
61
+ }[];
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ // All mocks are simplified versions, with less fields than proper sections
3
+ // and content types. They contain just the necessary fields for our tests to
4
+ // be useful.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.customContentTypesWithDuplicates = exports.contentTypeDuplicates = exports.allNewCustomContentTypes = exports.coreContentTypes = exports.customSectionsWithDuplicates = exports.sectionDuplicates = exports.allNewCustomSections = exports.coreSections = void 0;
7
+ exports.coreSections = [
8
+ {
9
+ name: 'Alert',
10
+ schema: {
11
+ title: 'Alert',
12
+ description: 'Add an alert',
13
+ properties: {},
14
+ },
15
+ },
16
+ {
17
+ name: 'BannerNewsletter',
18
+ schema: {
19
+ title: 'Banner Newsletter',
20
+ description: 'Add newsletter with a banner',
21
+ properties: {},
22
+ },
23
+ },
24
+ {
25
+ name: 'Hero',
26
+ schema: {
27
+ title: 'Hero',
28
+ description: 'Add a quick promotion with an image/action pair',
29
+ properties: {},
30
+ },
31
+ },
32
+ {
33
+ name: 'Navbar',
34
+ schema: {
35
+ title: 'Navbar',
36
+ description: 'Navbar configuration',
37
+ properties: {},
38
+ },
39
+ },
40
+ {
41
+ name: 'ProductShelf',
42
+ schema: {
43
+ title: 'Product Shelf',
44
+ description: 'Add custom shelves to your store',
45
+ properties: {},
46
+ },
47
+ },
48
+ {
49
+ name: 'Search',
50
+ schema: {
51
+ title: 'Search Bar',
52
+ description: 'Search Bar Configuration',
53
+ properties: {},
54
+ },
55
+ },
56
+ ];
57
+ exports.allNewCustomSections = [
58
+ {
59
+ name: 'MembershipsAccordion',
60
+ schema: {
61
+ title: 'Memberships - Accordion',
62
+ description: 'Why should people give us money every month.',
63
+ properties: {},
64
+ },
65
+ },
66
+ {
67
+ name: 'ProductShelfCustom',
68
+ schema: {
69
+ title: 'Wayne Industries Shelf',
70
+ description: 'Some products we sell... nothing bat related.',
71
+ properties: {},
72
+ },
73
+ },
74
+ ];
75
+ exports.sectionDuplicates = [
76
+ {
77
+ name: 'BannerNewsletter',
78
+ schema: {
79
+ title: 'Newsletter + Cool Banner',
80
+ description: 'Totally not spam.',
81
+ properties: {},
82
+ },
83
+ },
84
+ {
85
+ name: 'Hero',
86
+ schema: {
87
+ title: 'Hero',
88
+ description: 'Very careful with the image you choose here... not that we have anything to hide ;)',
89
+ properties: {},
90
+ },
91
+ },
92
+ ];
93
+ exports.customSectionsWithDuplicates = [
94
+ ...exports.allNewCustomSections,
95
+ ...exports.sectionDuplicates,
96
+ ];
97
+ exports.coreContentTypes = [
98
+ {
99
+ id: '404',
100
+ name: 'Error 404',
101
+ configurationSchemaSets: [],
102
+ isSingleton: true,
103
+ },
104
+ {
105
+ id: '500',
106
+ name: 'Error 500',
107
+ configurationSchemaSets: [],
108
+ isSingleton: true,
109
+ },
110
+ {
111
+ id: 'globalSections',
112
+ name: 'Global Sections',
113
+ configurationSchemaSets: [],
114
+ isSingleton: true,
115
+ },
116
+ {
117
+ id: 'home',
118
+ name: 'Home',
119
+ isSingleton: true,
120
+ configurationSchemaSets: [],
121
+ },
122
+ {
123
+ id: 'landingPage',
124
+ name: 'Landing Page',
125
+ configurationSchemaSets: [],
126
+ },
127
+ {
128
+ id: 'login',
129
+ name: 'Login',
130
+ configurationSchemaSets: [],
131
+ isSingleton: true,
132
+ },
133
+ {
134
+ id: 'pdp',
135
+ name: 'Product Page',
136
+ isSingleton: true,
137
+ configurationSchemaSets: [],
138
+ },
139
+ {
140
+ id: 'plp',
141
+ name: 'Product List Page',
142
+ isSingleton: true,
143
+ configurationSchemaSets: [],
144
+ },
145
+ {
146
+ id: 'search',
147
+ name: 'Search Page',
148
+ isSingleton: true,
149
+ configurationSchemaSets: [],
150
+ },
151
+ ];
152
+ exports.allNewCustomContentTypes = [
153
+ {
154
+ id: 'customPage',
155
+ name: 'Custom Page',
156
+ isSingleton: true,
157
+ configurationSchemaSets: [],
158
+ },
159
+ {
160
+ id: 'errorPage',
161
+ name: 'Custom Error Page',
162
+ isSingleton: true,
163
+ configurationSchemaSets: [],
164
+ },
165
+ ];
166
+ exports.contentTypeDuplicates = [
167
+ {
168
+ id: 'login',
169
+ name: 'Custom Login. Why not...',
170
+ configurationSchemaSets: [],
171
+ isSingleton: true,
172
+ },
173
+ {
174
+ id: 'search',
175
+ name: 'Custom Search Page',
176
+ isSingleton: true,
177
+ configurationSchemaSets: [],
178
+ },
179
+ ];
180
+ exports.customContentTypesWithDuplicates = [
181
+ ...exports.allNewCustomContentTypes,
182
+ ...exports.contentTypeDuplicates,
183
+ ];
184
+ //# sourceMappingURL=hcms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hcms.js","sourceRoot":"","sources":["../../src/__mocks__/hcms.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import { Command } from '@oclif/core';
3
3
  export default class CmsSync extends Command {
4
- run(): Promise<import("child_process").ChildProcess>;
4
+ static flags: {
5
+ "dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ };
7
+ run(): Promise<import("child_process").ChildProcess | undefined>;
5
8
  }
@@ -5,8 +5,16 @@ const child_process_1 = require("child_process");
5
5
  const directory_1 = require("../utils/directory");
6
6
  const generate_1 = require("../utils/generate");
7
7
  class CmsSync extends core_1.Command {
8
+ static flags = {
9
+ ['dry-run']: core_1.Flags.boolean({ char: 'd' }),
10
+ };
8
11
  async run() {
12
+ const { flags } = await this.parse(CmsSync);
9
13
  await (0, generate_1.generate)({ setup: true });
14
+ await (0, generate_1.generateCMSFiles)();
15
+ if (flags['dry-run']) {
16
+ return;
17
+ }
10
18
  return (0, child_process_1.spawn)(`vtex cms sync faststore`, {
11
19
  shell: true,
12
20
  cwd: directory_1.tmpDir,
@@ -1 +1 @@
1
- {"version":3,"file":"cms-sync.js","sourceRoot":"","sources":["../../src/commands/cms-sync.ts"],"names":[],"mappings":";;AAAA,sCAAqC;AACrC,iDAAqC;AACrC,kDAA2C;AAC3C,gDAA4C;AAC5C,MAAqB,OAAQ,SAAQ,cAAO;IAC1C,KAAK,CAAC,GAAG;QACP,MAAM,IAAA,mBAAQ,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/B,OAAO,IAAA,qBAAK,EAAC,yBAAyB,EAAE;YACtC,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,kBAAM;YACX,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;CACF;AAVD,0BAUC"}
1
+ {"version":3,"file":"cms-sync.js","sourceRoot":"","sources":["../../src/commands/cms-sync.ts"],"names":[],"mappings":";;AAAA,sCAA4C;AAC5C,iDAAqC;AACrC,kDAA2C;AAC3C,gDAA8D;AAE9D,MAAqB,OAAQ,SAAQ,cAAO;IAC1C,MAAM,CAAC,KAAK,GAAG;QACb,CAAC,SAAS,CAAC,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;KAC1C,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAE3C,MAAM,IAAA,mBAAQ,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/B,MAAM,IAAA,2BAAgB,GAAE,CAAA;QAExB,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,OAAM;SACP;QAED,OAAO,IAAA,qBAAK,EAAC,yBAAyB,EAAE;YACtC,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,kBAAM;YACX,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;;AApBH,0BAqBC"}
@@ -2,4 +2,5 @@ interface GenerateOptions {
2
2
  setup?: boolean;
3
3
  }
4
4
  export declare function generate(options?: GenerateOptions): Promise<void>;
5
+ export declare function generateCMSFiles(): Promise<void>;
5
6
  export {};
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generate = void 0;
3
+ exports.generateCMSFiles = exports.generate = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs_extra_1 = require("fs-extra");
6
6
  const path_1 = tslib_1.__importDefault(require("path"));
7
- const directory_1 = require("./directory");
8
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const directory_1 = require("./directory");
9
+ const hcms_1 = require("./hcms");
9
10
  // package.json is copied manually after filtering its content
10
11
  const ignorePaths = ['package.json', 'node_modules', 'cypress.config.ts'];
11
12
  function createTmpFolder() {
@@ -154,38 +155,6 @@ async function copyTheme() {
154
155
  console.info(`${chalk_1.default.blue('info')} - The theme needs to be added to the config file to be applied. Read more: https://www.faststore.dev/docs/themes/overview`);
155
156
  }
156
157
  }
157
- function mergeCMSFile(fileName) {
158
- const customFilePath = path_1.default.join(directory_1.userCMSDir, fileName);
159
- const coreFilePath = path_1.default.join(directory_1.coreCMSDir, fileName);
160
- const coreFile = (0, fs_extra_1.readFileSync)(coreFilePath, 'utf8');
161
- const output = [...JSON.parse(coreFile)];
162
- // TODO: create a validation when has the cms files but doesn't have a component for then
163
- if ((0, fs_extra_1.existsSync)(customFilePath)) {
164
- const customFile = (0, fs_extra_1.readFileSync)(customFilePath, 'utf8');
165
- try {
166
- output.push(...JSON.parse(customFile));
167
- }
168
- catch (err) {
169
- if (err instanceof SyntaxError) {
170
- console.info(`${chalk_1.default.red('error')} - ${fileName} is a malformed JSON file, ignoring its contents.`);
171
- }
172
- else {
173
- throw err;
174
- }
175
- }
176
- }
177
- try {
178
- (0, fs_extra_1.writeFileSync)(path_1.default.join(directory_1.tmpCMSDir, fileName), JSON.stringify(output));
179
- console.log(`${chalk_1.default.green('success')} - CMS file ${chalk_1.default.dim(fileName)} created`);
180
- }
181
- catch (err) {
182
- console.error(`${chalk_1.default.red('error')} - ${err}`);
183
- }
184
- }
185
- function mergeCMSFiles() {
186
- mergeCMSFile('content-types.json');
187
- mergeCMSFile('sections.json');
188
- }
189
158
  async function generate(options) {
190
159
  const { setup = false } = options ?? {};
191
160
  let setupPromise = null;
@@ -201,9 +170,12 @@ async function generate(options) {
201
170
  setupPromise,
202
171
  copyUserStarterToCustomizations(),
203
172
  copyTheme(),
204
- createCmsWebhookUrlsJsonFile(),
205
- mergeCMSFiles(),
206
173
  ]);
207
174
  }
208
175
  exports.generate = generate;
176
+ async function generateCMSFiles() {
177
+ await createCmsWebhookUrlsJsonFile();
178
+ await (0, hcms_1.mergeCMSFiles)();
179
+ }
180
+ exports.generateCMSFiles = generateCMSFiles;
209
181
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/utils/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/utils/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface ContentTypeOrSectionDefinition {
2
+ id?: string;
3
+ name?: string;
4
+ scopes?: string[];
5
+ isSingleton?: boolean;
6
+ onlySettings?: boolean;
7
+ requiredScopes?: string[];
8
+ schema?: Record<string, unknown>;
9
+ configurationSchemaSets?: ConfigurationSchemaSet[];
10
+ }
11
+ export interface ConfigurationSchemaSet {
12
+ name?: string;
13
+ configurations?: Array<{
14
+ name?: string;
15
+ schema?: Record<string, unknown>;
16
+ }>;
17
+ }
18
+ export declare function splitCustomDefinitions(coreDefinitions: ContentTypeOrSectionDefinition[], customDefinitions: ContentTypeOrSectionDefinition[], primaryIdentifier: 'id' | 'name'): {
19
+ duplicates: ContentTypeOrSectionDefinition[];
20
+ newDefinitions: ContentTypeOrSectionDefinition[];
21
+ };
22
+ export declare function dedupeAndMergeDefinitions(coreDefinitions: ContentTypeOrSectionDefinition[], duplicates: ContentTypeOrSectionDefinition[], primaryIdentifier: 'id' | 'name'): ContentTypeOrSectionDefinition[];
23
+ export declare function mergeCMSFiles(): Promise<void>;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeCMSFiles = 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
+ function splitCustomDefinitions(coreDefinitions, customDefinitions, primaryIdentifier) {
11
+ const coreDefinitionIdentifiers = new Set(coreDefinitions.map((definition) => definition[primaryIdentifier] ?? ''));
12
+ const duplicates = [];
13
+ const newDefinitions = [];
14
+ customDefinitions.forEach((definition) => {
15
+ if (!definition[primaryIdentifier]) {
16
+ console.error('Ignoring invalid definition:', definition);
17
+ return;
18
+ }
19
+ if (coreDefinitionIdentifiers.has(definition[primaryIdentifier])) {
20
+ duplicates.push(definition);
21
+ return;
22
+ }
23
+ newDefinitions.push(definition);
24
+ });
25
+ return { duplicates, newDefinitions };
26
+ }
27
+ exports.splitCustomDefinitions = splitCustomDefinitions;
28
+ function dedupeAndMergeDefinitions(coreDefinitions, duplicates, primaryIdentifier) {
29
+ const sortedCoreDefs = coreDefinitions.filter((definition) => Boolean(definition[primaryIdentifier]));
30
+ sortedCoreDefs.sort((a, b) => a[primaryIdentifier] < b[primaryIdentifier] ? -1 : 1);
31
+ const sortedDuplicates = duplicates.filter((definition) => Boolean(definition[primaryIdentifier]));
32
+ sortedDuplicates.sort((a, b) => a[primaryIdentifier] < b[primaryIdentifier] ? -1 : 1);
33
+ let duplicateIdx = 0;
34
+ const result = sortedCoreDefs.map((currentDefinition) => {
35
+ const isDuplicateMatch = currentDefinition[primaryIdentifier] ===
36
+ sortedDuplicates[duplicateIdx]?.[primaryIdentifier];
37
+ if (duplicateIdx < sortedDuplicates.length && isDuplicateMatch) {
38
+ return sortedDuplicates[duplicateIdx++];
39
+ }
40
+ return currentDefinition;
41
+ });
42
+ return result;
43
+ }
44
+ exports.dedupeAndMergeDefinitions = dedupeAndMergeDefinitions;
45
+ async function confirmUserChoice(duplicates, fileName) {
46
+ const goAhead = await core_1.CliUx.ux.confirm(`You are about to override default ${fileName.split('.')[0]}:\n\n${duplicates
47
+ .map((definition) => definition.id || definition.name)
48
+ .join('\n')}\n\nAre you sure? [yes/no]`);
49
+ if (!goAhead) {
50
+ throw new Error('cms-sync cancelled by user.');
51
+ }
52
+ return;
53
+ }
54
+ async function mergeCMSFile(fileName) {
55
+ const coreFilePath = path_1.default.join(directory_1.coreCMSDir, fileName);
56
+ const customFilePath = path_1.default.join(directory_1.userCMSDir, fileName);
57
+ const coreFile = (0, fs_extra_1.readFileSync)(coreFilePath, 'utf8');
58
+ const coreDefinitions = JSON.parse(coreFile);
59
+ const primaryIdentifierForDefinitions = fileName === 'content-types.json' ? 'id' : 'name';
60
+ let output = [];
61
+ // TODO: create a validation when the CMS files exist but don't have a component for them
62
+ if ((0, fs_extra_1.existsSync)(customFilePath)) {
63
+ const customFile = (0, fs_extra_1.readFileSync)(customFilePath, 'utf8');
64
+ try {
65
+ const customDefinitions = JSON.parse(customFile);
66
+ const { duplicates, newDefinitions } = splitCustomDefinitions(coreDefinitions, customDefinitions, primaryIdentifierForDefinitions);
67
+ if (duplicates.length) {
68
+ await confirmUserChoice(duplicates, fileName);
69
+ output = [
70
+ ...dedupeAndMergeDefinitions(coreDefinitions, duplicates, primaryIdentifierForDefinitions),
71
+ ...newDefinitions,
72
+ ];
73
+ }
74
+ else {
75
+ output = [...coreDefinitions, ...newDefinitions];
76
+ }
77
+ }
78
+ catch (err) {
79
+ if (err instanceof SyntaxError) {
80
+ console.info(`${chalk_1.default.red('error')} - ${fileName} is a malformed JSON file, ignoring its contents.`);
81
+ }
82
+ else {
83
+ throw err;
84
+ }
85
+ }
86
+ }
87
+ try {
88
+ (0, fs_extra_1.writeFileSync)(path_1.default.join(directory_1.tmpCMSDir, fileName), JSON.stringify(output));
89
+ console.log(`${chalk_1.default.green('success')} - CMS file ${chalk_1.default.dim(fileName)} created`);
90
+ }
91
+ catch (err) {
92
+ console.error(`${chalk_1.default.red('error')} - ${err}`);
93
+ }
94
+ }
95
+ async function mergeCMSFiles() {
96
+ try {
97
+ await mergeCMSFile('content-types.json');
98
+ await mergeCMSFile('sections.json');
99
+ }
100
+ catch (err) {
101
+ console.error(`${chalk_1.default.red('error')} - ${err}`);
102
+ }
103
+ }
104
+ exports.mergeCMSFiles = mergeCMSFiles;
105
+ //# sourceMappingURL=hcms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hcms.js","sourceRoot":"","sources":["../../src/utils/hcms.ts"],"names":[],"mappings":";;;;AAAA,wDAAuB;AACvB,0DAAyB;AACzB,sCAAmC;AACnC,uCAAkE;AAElE,2CAA+D;AAqB/D,SAAgB,sBAAsB,CACpC,eAAiD,EACjD,iBAAmD,EACnD,iBAAgC;IAEhC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CACvC,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CACzE,CAAA;IAED,MAAM,UAAU,GAAqC,EAAE,CAAA;IACvD,MAAM,cAAc,GAAqC,EAAE,CAAA;IAE3D,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACvC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAA;YACzD,OAAM;SACP;QAED,IACE,yBAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAW,CAAC,EACtE;YACA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC3B,OAAM;SACP;QAED,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AACvC,CAAC;AA7BD,wDA6BC;AAED,SAAgB,yBAAyB,CACvC,eAAiD,EACjD,UAA4C,EAC5C,iBAAgC;IAEhC,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAC3D,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CACvC,CAAA;IACD,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,iBAAiB,CAAY,GAAI,CAAC,CAAC,iBAAiB,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7E,CAAA;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACxD,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CACvC,CAAA;IACD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC,iBAAiB,CAAY,GAAI,CAAC,CAAC,iBAAiB,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7E,CAAA;IAED,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;QACtD,MAAM,gBAAgB,GACpB,iBAAiB,CAAC,iBAAiB,CAAC;YACpC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAA;QAErD,IAAI,YAAY,GAAG,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,EAAE;YAC9D,OAAO,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAA;SACxC;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAlCD,8DAkCC;AAED,KAAK,UAAU,iBAAiB,CAC9B,UAA4C,EAC5C,QAAgB;IAEhB,MAAM,OAAO,GAAG,MAAM,YAAK,CAAC,EAAE,CAAC,OAAO,CACpC,qCACE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACvB,QAAQ,UAAU;SACf,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC;SACrD,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAC1C,CAAA;IAED,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAM;AACR,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,sBAAU,EAAE,QAAQ,CAAC,CAAA;IACpD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,sBAAU,EAAE,QAAQ,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,IAAA,uBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACnD,MAAM,eAAe,GAAqC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAE9E,MAAM,+BAA+B,GACnC,QAAQ,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAEnD,IAAI,MAAM,GAAqC,EAAE,CAAA;IAEjD,yFAAyF;IACzF,IAAI,IAAA,qBAAU,EAAC,cAAc,CAAC,EAAE;QAC9B,MAAM,UAAU,GAAG,IAAA,uBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAEvD,IAAI;YACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAEhD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAC3D,eAAe,EACf,iBAAiB,EACjB,+BAA+B,CAChC,CAAA;YAED,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,MAAM,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;gBAE7C,MAAM,GAAG;oBACP,GAAG,yBAAyB,CAC1B,eAAe,EACf,UAAU,EACV,+BAA+B,CAChC;oBACD,GAAG,cAAc;iBAClB,CAAA;aACF;iBAAM;gBACL,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,CAAA;aACjD;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,WAAW,EAAE;gBAC9B,OAAO,CAAC,IAAI,CACV,GAAG,eAAK,CAAC,GAAG,CACV,OAAO,CACR,MAAM,QAAQ,mDAAmD,CACnE,CAAA;aACF;iBAAM;gBACL,MAAM,GAAG,CAAA;aACV;SACF;KACF;IAED,IAAI;QACF,IAAA,wBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,qBAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CACT,GAAG,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CACtE,CAAA;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;KAChD;AACH,CAAC;AAEM,KAAK,UAAU,aAAa;IACjC,IAAI;QACF,MAAM,YAAY,CAAC,oBAAoB,CAAC,CAAA;QACxC,MAAM,YAAY,CAAC,eAAe,CAAC,CAAA;KACpC;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;KAChD;AACH,CAAC;AAPD,sCAOC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const hcms_1 = require("../__mocks__/hcms");
4
+ const hcms_2 = require("./hcms");
5
+ describe('splitCustomDefinitions', () => {
6
+ it('should return empty arrays if there are no custom definitions', () => {
7
+ // content-types
8
+ expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreContentTypes, [], 'id')).toEqual({
9
+ duplicates: [],
10
+ newDefinitions: [],
11
+ });
12
+ // sections
13
+ expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreSections, [], 'name')).toEqual({
14
+ duplicates: [],
15
+ newDefinitions: [],
16
+ });
17
+ });
18
+ it('should return empty duplicates array if all custom definitions are new', () => {
19
+ // content-types
20
+ expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreContentTypes, hcms_1.allNewCustomContentTypes, 'id')).toEqual({
21
+ duplicates: [],
22
+ newDefinitions: hcms_1.allNewCustomContentTypes,
23
+ });
24
+ // sections
25
+ expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreSections, hcms_1.allNewCustomSections, 'name')).toEqual({
26
+ duplicates: [],
27
+ newDefinitions: hcms_1.allNewCustomSections,
28
+ });
29
+ });
30
+ it('should return expected split definitions', () => {
31
+ // content-types
32
+ expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreContentTypes, hcms_1.customContentTypesWithDuplicates, 'id')).toEqual({
33
+ duplicates: hcms_1.contentTypeDuplicates,
34
+ newDefinitions: hcms_1.allNewCustomContentTypes,
35
+ });
36
+ // sections
37
+ expect((0, hcms_2.splitCustomDefinitions)(hcms_1.coreSections, hcms_1.customSectionsWithDuplicates, 'name')).toEqual({
38
+ duplicates: hcms_1.sectionDuplicates,
39
+ newDefinitions: hcms_1.allNewCustomSections,
40
+ });
41
+ });
42
+ });
43
+ describe('dedupeAndMergeDefinitions', () => {
44
+ it('should return the exact same core definitions if there are no duplicates', () => {
45
+ expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreContentTypes, [], 'id')).toEqual(hcms_1.coreContentTypes);
46
+ expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreSections, [], 'name')).toEqual(hcms_1.coreSections);
47
+ });
48
+ it('should return expected merged definitions, applying overrides based on duplicates', () => {
49
+ expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreContentTypes, hcms_1.contentTypeDuplicates, 'id')).toEqual([
50
+ {
51
+ id: '404',
52
+ name: 'Error 404',
53
+ configurationSchemaSets: [],
54
+ isSingleton: true,
55
+ },
56
+ {
57
+ id: '500',
58
+ name: 'Error 500',
59
+ configurationSchemaSets: [],
60
+ isSingleton: true,
61
+ },
62
+ {
63
+ id: 'globalSections',
64
+ name: 'Global Sections',
65
+ configurationSchemaSets: [],
66
+ isSingleton: true,
67
+ },
68
+ {
69
+ id: 'home',
70
+ name: 'Home',
71
+ isSingleton: true,
72
+ configurationSchemaSets: [],
73
+ },
74
+ {
75
+ id: 'landingPage',
76
+ name: 'Landing Page',
77
+ configurationSchemaSets: [],
78
+ },
79
+ {
80
+ id: 'login',
81
+ name: 'Custom Login. Why not...',
82
+ configurationSchemaSets: [],
83
+ isSingleton: true,
84
+ },
85
+ {
86
+ id: 'pdp',
87
+ name: 'Product Page',
88
+ isSingleton: true,
89
+ configurationSchemaSets: [],
90
+ },
91
+ {
92
+ id: 'plp',
93
+ name: 'Product List Page',
94
+ isSingleton: true,
95
+ configurationSchemaSets: [],
96
+ },
97
+ {
98
+ id: 'search',
99
+ name: 'Custom Search Page',
100
+ isSingleton: true,
101
+ configurationSchemaSets: [],
102
+ },
103
+ ]);
104
+ expect((0, hcms_2.dedupeAndMergeDefinitions)(hcms_1.coreSections, hcms_1.sectionDuplicates, 'name')).toEqual([
105
+ {
106
+ name: 'Alert',
107
+ schema: {
108
+ title: 'Alert',
109
+ description: 'Add an alert',
110
+ properties: {},
111
+ },
112
+ },
113
+ {
114
+ name: 'BannerNewsletter',
115
+ schema: {
116
+ title: 'Newsletter + Cool Banner',
117
+ description: 'Totally not spam.',
118
+ properties: {},
119
+ },
120
+ },
121
+ {
122
+ name: 'Hero',
123
+ schema: {
124
+ title: 'Hero',
125
+ description: 'Very careful with the image you choose here... not that we have anything to hide ;)',
126
+ properties: {},
127
+ },
128
+ },
129
+ {
130
+ name: 'Navbar',
131
+ schema: {
132
+ title: 'Navbar',
133
+ description: 'Navbar configuration',
134
+ properties: {},
135
+ },
136
+ },
137
+ {
138
+ name: 'ProductShelf',
139
+ schema: {
140
+ title: 'Product Shelf',
141
+ description: 'Add custom shelves to your store',
142
+ properties: {},
143
+ },
144
+ },
145
+ {
146
+ name: 'Search',
147
+ schema: {
148
+ title: 'Search Bar',
149
+ description: 'Search Bar Configuration',
150
+ properties: {},
151
+ },
152
+ },
153
+ ]);
154
+ });
155
+ });
156
+ //# sourceMappingURL=hcms.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hcms.test.js","sourceRoot":"","sources":["../../src/utils/hcms.test.ts"],"names":[],"mappings":";;AAAA,4CAS0B;AAC1B,iCAA0E;AAE1E,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,gBAAgB;QAChB,MAAM,CAAC,IAAA,6BAAsB,EAAC,uBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACjE,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,EAAE;SACnB,CAAC,CAAA;QAEF,WAAW;QACX,MAAM,CAAC,IAAA,6BAAsB,EAAC,mBAAY,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/D,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,EAAE;SACnB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,gBAAgB;QAChB,MAAM,CACJ,IAAA,6BAAsB,EAAC,uBAAgB,EAAE,+BAAwB,EAAE,IAAI,CAAC,CACzE,CAAC,OAAO,CAAC;YACR,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,+BAAwB;SACzC,CAAC,CAAA;QAEF,WAAW;QACX,MAAM,CACJ,IAAA,6BAAsB,EAAC,mBAAY,EAAE,2BAAoB,EAAE,MAAM,CAAC,CACnE,CAAC,OAAO,CAAC;YACR,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,2BAAoB;SACrC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,gBAAgB;QAChB,MAAM,CACJ,IAAA,6BAAsB,EACpB,uBAAgB,EAChB,uCAAgC,EAChC,IAAI,CACL,CACF,CAAC,OAAO,CAAC;YACR,UAAU,EAAE,4BAAqB;YACjC,cAAc,EAAE,+BAAwB;SACzC,CAAC,CAAA;QAEF,WAAW;QACX,MAAM,CACJ,IAAA,6BAAsB,EAAC,mBAAY,EAAE,mCAA4B,EAAE,MAAM,CAAC,CAC3E,CAAC,OAAO,CAAC;YACR,UAAU,EAAE,wBAAiB;YAC7B,cAAc,EAAE,2BAAoB;SACrC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,CAAC,IAAA,gCAAyB,EAAC,uBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CACnE,uBAAgB,CACjB,CAAA;QAED,MAAM,CAAC,IAAA,gCAAyB,EAAC,mBAAY,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CACjE,mBAAY,CACb,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,CACJ,IAAA,gCAAyB,EAAC,uBAAgB,EAAE,4BAAqB,EAAE,IAAI,CAAC,CACzE,CAAC,OAAO,CAAC;YACR;gBACE,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW;gBACjB,uBAAuB,EAAE,EAAE;gBAC3B,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW;gBACjB,uBAAuB,EAAE,EAAE;gBAC3B,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,uBAAuB,EAAE,EAAE;gBAC3B,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,IAAI;gBACjB,uBAAuB,EAAE,EAAE;aAC5B;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,cAAc;gBACpB,uBAAuB,EAAE,EAAE;aAC5B;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,0BAA0B;gBAChC,uBAAuB,EAAE,EAAE;gBAC3B,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,IAAI;gBACjB,uBAAuB,EAAE,EAAE;aAC5B;YACD;gBACE,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,IAAI;gBACjB,uBAAuB,EAAE,EAAE;aAC5B;YACD;gBACE,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,IAAI;gBACjB,uBAAuB,EAAE,EAAE;aAC5B;SACF,CAAC,CAAA;QAEF,MAAM,CACJ,IAAA,gCAAyB,EAAC,mBAAY,EAAE,wBAAiB,EAAE,MAAM,CAAC,CACnE,CAAC,OAAO,CAAC;YACR;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,cAAc;oBAC3B,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE;oBACN,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EAAE,mBAAmB;oBAChC,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,KAAK,EAAE,MAAM;oBACb,WAAW,EACT,qFAAqF;oBACvF,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN,KAAK,EAAE,QAAQ;oBACf,WAAW,EAAE,sBAAsB;oBACnC,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE;oBACN,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,kCAAkC;oBAC/C,UAAU,EAAE,EAAE;iBACf;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,0BAA0B;oBACvC,UAAU,EAAE,EAAE;iBACf;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":"3.0.13","commands":{"build":{"id":"build","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"cms-sync":{"id":"cms-sync","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"dev":{"id":"dev","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"generate-graphql":{"id":"generate-graphql","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","char":"d","allowNo":false},"core":{"name":"core","type":"boolean","char":"c","hidden":true,"allowNo":false}},"args":[]},"start":{"id":"start","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"test":{"id":"test","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]}}}
1
+ {"version":"3.0.24","commands":{"build":{"id":"build","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"cms-sync":{"id":"cms-sync","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{"dry-run":{"name":"dry-run","type":"boolean","char":"d","allowNo":false}},"args":[]},"dev":{"id":"dev","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"generate-graphql":{"id":"generate-graphql","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","char":"d","allowNo":false},"core":{"name":"core","type":"boolean","char":"c","hidden":true,"allowNo":false}},"args":[]},"start":{"id":"start","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"test":{"id":"test","strict":true,"pluginName":"@faststore/cli","pluginAlias":"@faststore/cli","pluginType":"core","aliases":[],"flags":{},"args":[]}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/cli",
3
- "version": "3.0.13",
3
+ "version": "3.0.24",
4
4
  "description": "FastStore CLI",
5
5
  "author": "Emerson Laurentino @emersonlaurentino",
6
6
  "bin": {
@@ -26,15 +26,17 @@
26
26
  "path": "^0.12.7"
27
27
  },
28
28
  "devDependencies": {
29
- "@faststore/eslint-config": "^3.0.7",
30
- "@faststore/shared": "^3.0.7",
29
+ "@faststore/eslint-config": "^3.0.24",
30
+ "@faststore/shared": "^3.0.24",
31
31
  "@types/chai": "^4",
32
32
  "@types/fs-extra": "^9.0.13",
33
33
  "@types/node": "^16.11.63",
34
34
  "chai": "^4",
35
35
  "eslint": "7.32.0",
36
+ "jest": "^29.7.0",
36
37
  "oclif": "^3",
37
38
  "shx": "^0.3.3",
39
+ "ts-jest": "^29.1.2",
38
40
  "ts-node": "^10.9.1",
39
41
  "tslib": "^2.3.1",
40
42
  "typescript": "^4.8.4"
@@ -55,6 +57,7 @@
55
57
  "scripts": {
56
58
  "build": "shx rm -rf dist && tsc -b",
57
59
  "lint": "eslint src/**/*.ts",
60
+ "test": "jest src/**/*.test.ts",
58
61
  "postpack": "shx rm -f oclif.manifest.json",
59
62
  "posttest": "yarn lint",
60
63
  "prepack": "yarn build && oclif manifest && oclif readme",
@@ -65,5 +68,5 @@
65
68
  "oclif"
66
69
  ],
67
70
  "types": "dist/index.d.ts",
68
- "gitHead": "9ccaaa8c2e9e6b2c9f3c82ac3d52405e51ddd6a0"
71
+ "gitHead": "1cbf5056e2fd6d1b3e85268f585709c59ec9f63f"
69
72
  }