create-sitecore-jss 22.2.0-canary.6 → 22.2.0-canary.8

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/dist/bin.js CHANGED
@@ -43,7 +43,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
43
43
  const init_runner_1 = require("./init-runner");
44
44
  const minimist_1 = __importDefault(require("minimist"));
45
45
  const common_1 = require("./common");
46
- const proxyAppMatcher = /node-.+-proxy/g;
46
+ const helpers_1 = require("./common/utils/helpers");
47
47
  const parseArgs = () => {
48
48
  // parse any command line arguments passed into `init sitecore-jss`
49
49
  // to pass to the generator prompts and skip them.
@@ -84,16 +84,17 @@ const getDestinations = (args, templates) => __awaiter(void 0, void 0, void 0, f
84
84
  : yield (0, exports.promptDestination)('Where would you like your new app created?', defaultBaseDestination);
85
85
  }
86
86
  // work with node-proxy destination if needed
87
- const proxyApp = templates.find((template) => template.match(proxyAppMatcher));
87
+ const proxyApp = templates.find((template) => template.match(helpers_1.proxyAppMatcher));
88
88
  if (proxyApp) {
89
- const defaultProxyDestination = proxyApp && `${process.cwd()}${path_1.sep}${proxyApp}`;
89
+ // put the proxy alongside main app by default
90
+ const defaultProxyDestination = (0, helpers_1.getDefaultProxyDestination)(destination, proxyApp);
90
91
  let proxyAppDestination = args.proxyAppDestination;
91
92
  if (!proxyAppDestination) {
92
93
  proxyAppDestination = args.yes
93
94
  ? defaultProxyDestination
94
95
  : yield (0, exports.promptDestination)('Where would you like your proxy app created?', defaultProxyDestination);
95
96
  }
96
- while (proxyAppDestination === destination) {
97
+ while (path_1.default.resolve(proxyAppDestination) === path_1.default.resolve(destination)) {
97
98
  proxyAppDestination = yield (0, exports.promptDestination)('Proxy app and base app cannot be located in the same folder. Please input another path for proxy', defaultProxyDestination);
98
99
  }
99
100
  return {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.installPrePushHook = exports.lintFix = exports.installPackages = exports.nextSteps = exports.transform = exports.removeFile = exports.saveConfiguration = exports.getBaseTemplates = exports.getAllTemplates = exports.writeJsonFile = exports.openJsonFile = exports.isDevEnvironment = exports.styleguidePrompts = exports.missingAddonMsg = exports.incompatibleAddonsMsg = exports.DEFAULT_APPNAME = exports.clientAppPrompts = void 0;
3
+ exports.installPrePushHook = exports.lintFix = exports.installPackages = exports.nextSteps = exports.transform = exports.removeFile = exports.saveConfiguration = exports.getBaseTemplates = exports.getAllTemplates = exports.writeJsonFile = exports.openJsonFile = exports.isDevEnvironment = exports.sxpPrompts = exports.styleguidePrompts = exports.missingAddonMsg = exports.incompatibleAddonsMsg = exports.DEFAULT_APPNAME = exports.clientAppPrompts = void 0;
4
4
  var base_1 = require("./prompts/base");
5
5
  Object.defineProperty(exports, "clientAppPrompts", { enumerable: true, get: function () { return base_1.clientAppPrompts; } });
6
6
  Object.defineProperty(exports, "DEFAULT_APPNAME", { enumerable: true, get: function () { return base_1.DEFAULT_APPNAME; } });
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "incompatibleAddonsMsg", { enumerable: true, get:
8
8
  Object.defineProperty(exports, "missingAddonMsg", { enumerable: true, get: function () { return base_1.missingAddonMsg; } });
9
9
  var styleguide_1 = require("./prompts/styleguide");
10
10
  Object.defineProperty(exports, "styleguidePrompts", { enumerable: true, get: function () { return styleguide_1.styleguidePrompts; } });
11
+ var sxp_1 = require("./prompts/sxp");
12
+ Object.defineProperty(exports, "sxpPrompts", { enumerable: true, get: function () { return sxp_1.sxpPrompts; } });
11
13
  var helpers_1 = require("./utils/helpers");
12
14
  Object.defineProperty(exports, "isDevEnvironment", { enumerable: true, get: function () { return helpers_1.isDevEnvironment; } });
13
15
  Object.defineProperty(exports, "openJsonFile", { enumerable: true, get: function () { return helpers_1.openJsonFile; } });
@@ -16,10 +16,10 @@ exports.nextSteps = void 0;
16
16
  const chalk_1 = __importDefault(require("chalk"));
17
17
  /**
18
18
  * Logs app creation completion message and next steps
19
- * @param {string} appName application name for the new app
19
+ * @param {string[]} appNames application name(s) for the new app
20
20
  * @param {string[]} nextStepsArr next steps to be performed after app is created
21
21
  */
22
- const nextSteps = (appName, nextStepsArr) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const nextSteps = (appNames, nextStepsArr) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  console.log(chalk_1.default.red(' -/oyhdmNNNNmdhyo/- '));
24
24
  console.log(chalk_1.default.red(' :sdMMMMMMMMMMMMMMMMMMMMds: '));
25
25
  console.log(chalk_1.default.red(' :yNMMMMMMMMMMMMMMMMMMMMMMMMMMNy: '));
@@ -51,7 +51,7 @@ const nextSteps = (appName, nextStepsArr) => __awaiter(void 0, void 0, void 0, f
51
51
  console.log(chalk_1.default.white(' / // /\\ \\_\\ \\ '));
52
52
  console.log(chalk_1.default.white(' \\___/___/___/'));
53
53
  console.log();
54
- console.log(`JSS application ${chalk_1.default.green(appName)} is ready!`);
54
+ console.log(`JSS application(s) ${chalk_1.default.green(appNames.join(', '))} is ready!`);
55
55
  console.log();
56
56
  console.log(chalk_1.default.yellow('Next steps:'));
57
57
  nextStepsArr.forEach((step) => {
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.transform = exports.diffAndWriteFiles = exports.diffFiles = exports.mergeEnv = exports.merge = exports.transformFilename = void 0;
38
+ exports.transform = exports.populateEjsData = exports.diffAndWriteFiles = exports.diffFiles = exports.mergeEnv = exports.merge = exports.transformFilename = void 0;
39
39
  const chalk_1 = __importDefault(require("chalk"));
40
40
  const fs_extra_1 = __importDefault(require("fs-extra"));
41
41
  const glob_1 = __importDefault(require("glob"));
@@ -180,6 +180,21 @@ const diffAndWriteFiles = ({ rendered, pathToNewFile, answers, }) => __awaiter(v
180
180
  }
181
181
  });
182
182
  exports.diffAndWriteFiles = diffAndWriteFiles;
183
+ const populateEjsData = (answers, destination) => {
184
+ // pass in helper to answers object
185
+ const ejsData = Object.assign(Object.assign({}, answers), { helper: {
186
+ isDev: (0, helpers_1.isDevEnvironment)(destination || answers.destination),
187
+ getPascalCaseName: helpers_1.getPascalCaseName,
188
+ getAppPrefix: helpers_1.getAppPrefix,
189
+ } });
190
+ // When SPA application and XM Cloud proxy is used we need to calculate relative path between SPA app and proxy to apply that in EJS template
191
+ // Absolute path can't be used across all the machines
192
+ if (answers.proxyAppDestination) {
193
+ ejsData.helper.relativeProxyAppDestination = `${path_1.default.relative(path_1.default.resolve(answers.destination), path_1.default.resolve(answers.proxyAppDestination))}${path_1.sep}`;
194
+ }
195
+ return ejsData;
196
+ };
197
+ exports.populateEjsData = populateEjsData;
183
198
  /**
184
199
  * Handles each template file and applies ejs renderer, also:
185
200
  * * determines files for copy
@@ -196,19 +211,14 @@ const transform = (templatePath, answers, options = {}) => __awaiter(void 0, voi
196
211
  const { isFileForCopy, isFileForSkip, fileForCopyRegExp = FILE_FOR_COPY_REGEXP } = options;
197
212
  let destination = undefined;
198
213
  // allow proxy app to be installed separately alongside base app
199
- if (templatePath.match(/.*node-.+-proxy$/g)) {
214
+ if (templatePath.match(/.*node-.+-proxy$/g) && answers.proxyAppDestination) {
200
215
  destination = answers.proxyAppDestination;
201
216
  }
202
217
  const destinationPath = path_1.default.resolve(destination || answers.destination);
203
218
  if (!answers.appPrefix) {
204
219
  answers.appPrefix = false;
205
220
  }
206
- // pass in helper to answers object
207
- const ejsData = Object.assign(Object.assign({}, answers), { helper: {
208
- isDev: (0, helpers_1.isDevEnvironment)(destination || answers.destination),
209
- getPascalCaseName: helpers_1.getPascalCaseName,
210
- getAppPrefix: helpers_1.getAppPrefix,
211
- } });
221
+ const ejsData = (0, exports.populateEjsData)(answers, destination);
212
222
  // the templates to be run through ejs render or copied directly
213
223
  const files = glob_1.default.sync('**/*', { cwd: templatePath, dot: true, nodir: true });
214
224
  for (const file of files) {
@@ -38,18 +38,6 @@ exports.clientAppPrompts = [
38
38
  return !answers.appName;
39
39
  },
40
40
  },
41
- {
42
- type: 'input',
43
- name: 'hostName',
44
- message: 'What is your Sitecore hostname (used if deployed to Sitecore)?',
45
- default: (answers) => `${answers.appName}.dev.local`,
46
- when: (answers) => {
47
- if (answers.yes && !answers.hostName) {
48
- answers.hostName = `${answers.appName}.dev.local`;
49
- }
50
- return !answers.hostName;
51
- },
52
- },
53
41
  {
54
42
  type: 'list',
55
43
  name: 'fetchWith',
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sxpPrompts = void 0;
4
+ /**
5
+ * Set of CLI prompts for an SXP app
6
+ */
7
+ exports.sxpPrompts = [
8
+ {
9
+ type: 'input',
10
+ name: 'hostName',
11
+ message: 'What is your Sitecore hostname (used if deployed to Sitecore)?',
12
+ default: (answers) => `${answers.appName}.dev.local`,
13
+ when: (answers) => {
14
+ if (answers.yes && !answers.hostName) {
15
+ answers.hostName = `${answers.appName}.dev.local`;
16
+ }
17
+ return !answers.hostName;
18
+ },
19
+ },
20
+ ];
@@ -12,11 +12,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.removeFile = exports.writeFileToPath = exports.getAppPrefix = exports.getBaseTemplates = exports.getAllTemplates = exports.sortKeys = exports.saveConfiguration = exports.writeJsonFile = exports.openJsonFile = exports.getPascalCaseName = exports.isDevEnvironment = void 0;
15
+ exports.removeFile = exports.writeFileToPath = exports.getAppPrefix = exports.getBaseTemplates = exports.getAllTemplates = exports.sortKeys = exports.saveConfiguration = exports.writeJsonFile = exports.openJsonFile = exports.getPascalCaseName = exports.isDevEnvironment = exports.getDefaultProxyDestination = exports.proxyAppMatcher = void 0;
16
16
  const chalk_1 = __importDefault(require("chalk"));
17
17
  const fs_1 = __importDefault(require("fs"));
18
18
  const path_1 = __importDefault(require("path"));
19
19
  const InitializerFactory_1 = require("../../InitializerFactory");
20
+ // matched for proxy templates
21
+ exports.proxyAppMatcher = /node-headless.+|node-xmcloud.+/g;
22
+ /**
23
+ * Returns the default path for proxy app initialized alongside main JSS tempalates.
24
+ * @param {string} mainAppDestination target destination for main app
25
+ * @param {string} proxyName name of for the proxy app folder
26
+ * @returns {string} target path for proxy app
27
+ */
28
+ const getDefaultProxyDestination = (mainAppDestination, proxyName) => path_1.default.join(mainAppDestination, '..', proxyName);
29
+ exports.getDefaultProxyDestination = getDefaultProxyDestination;
20
30
  /**
21
31
  * Determines whether you are in a dev environment.
22
32
  * It's `true` if you are inside the monorepo
@@ -42,7 +42,7 @@ const common_1 = require("./common");
42
42
  const InitializerFactory_1 = require("./InitializerFactory");
43
43
  const initRunner = (initializers, args) => __awaiter(void 0, void 0, void 0, function* () {
44
44
  let nextStepsArr = [];
45
- let appName;
45
+ const appNames = new Set([]);
46
46
  const initFactory = new InitializerFactory_1.InitializerFactory();
47
47
  const runner = (inits) => __awaiter(void 0, void 0, void 0, function* () {
48
48
  var _a;
@@ -53,7 +53,8 @@ const initRunner = (initializers, args) => __awaiter(void 0, void 0, void 0, fun
53
53
  }
54
54
  args.silent || console.log(chalk_1.default.cyan(`Initializing '${init}'...`));
55
55
  const response = yield initializer.init(args);
56
- appName = response.appName;
56
+ // App names can be multiple if the base template requires to setup additional standalone app (e.g. XM Cloud proxy)
57
+ appNames.add(response.appName);
57
58
  nextStepsArr = [...nextStepsArr, ...((_a = response.nextSteps) !== null && _a !== void 0 ? _a : [])];
58
59
  // process any returned initializers
59
60
  if (response.initializers && response.initializers.length > 0) {
@@ -81,7 +82,7 @@ const initRunner = (initializers, args) => __awaiter(void 0, void 0, void 0, fun
81
82
  }
82
83
  }
83
84
  if (!args.silent) {
84
- (0, common_1.nextSteps)(appName || '', nextStepsArr);
85
+ (0, common_1.nextSteps)([...appNames], nextStepsArr);
85
86
  }
86
87
  });
87
88
  exports.initRunner = initRunner;
@@ -32,9 +32,6 @@ class AngularInitializer {
32
32
  if (!args.templates.includes('angular-xmcloud')) {
33
33
  addInitializers.push('angular-xmcloud');
34
34
  }
35
- if (!args.templates.includes('node-xmcloud-proxy')) {
36
- addInitializers.push('node-xmcloud-proxy');
37
- }
38
35
  }
39
36
  else {
40
37
  // invoke default non-XMC init
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prompts = void 0;
4
4
  const common_1 = require("../../common");
5
5
  exports.prompts = [
6
- ...common_1.clientAppPrompts,
6
+ // XMCloud answer defines init behavior. Prompt must go first
7
7
  {
8
8
  type: 'confirm',
9
9
  name: 'xmcloud',
@@ -22,5 +22,5 @@ exports.prompts = [
22
22
  return true;
23
23
  },
24
24
  },
25
- ...common_1.styleguidePrompts,
25
+ ...common_1.clientAppPrompts,
26
26
  ];
@@ -31,9 +31,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
32
  });
33
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
34
37
  Object.defineProperty(exports, "__esModule", { value: true });
35
38
  const path_1 = __importStar(require("path"));
36
39
  const common_1 = require("../../common");
40
+ const inquirer_1 = __importDefault(require("inquirer"));
37
41
  class AngularSxpInitializer {
38
42
  get isBase() {
39
43
  return false;
@@ -42,7 +46,9 @@ class AngularSxpInitializer {
42
46
  var _a, _b;
43
47
  return __awaiter(this, void 0, void 0, function* () {
44
48
  const pkg = (0, common_1.openJsonFile)(`${args.destination}${path_1.sep}package.json`);
45
- const mergedArgs = Object.assign(Object.assign({}, args), { appName: args.appName || ((_a = pkg === null || pkg === void 0 ? void 0 : pkg.config) === null || _a === void 0 ? void 0 : _a.appName) || common_1.DEFAULT_APPNAME, appPrefix: args.appPrefix || ((_b = pkg === null || pkg === void 0 ? void 0 : pkg.config) === null || _b === void 0 ? void 0 : _b.prefix) || false });
49
+ const answers = yield inquirer_1.default.prompt(common_1.sxpPrompts, args);
50
+ const styleguideAnswers = yield inquirer_1.default.prompt(common_1.styleguidePrompts, args);
51
+ const mergedArgs = Object.assign(Object.assign(Object.assign(Object.assign({}, args), { appName: args.appName || ((_a = pkg === null || pkg === void 0 ? void 0 : pkg.config) === null || _a === void 0 ? void 0 : _a.appName) || common_1.DEFAULT_APPNAME, appPrefix: args.appPrefix || ((_b = pkg === null || pkg === void 0 ? void 0 : pkg.config) === null || _b === void 0 ? void 0 : _b.prefix) || false }), answers), styleguideAnswers);
46
52
  const templatePath = path_1.default.resolve(__dirname, '../../templates/angular-sxp');
47
53
  yield (0, common_1.transform)(templatePath, mergedArgs);
48
54
  const response = {
@@ -34,6 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const path_1 = __importStar(require("path"));
36
36
  const common_1 = require("../../common");
37
+ const helpers_1 = require("../../common/utils/helpers");
37
38
  class AngularXmCloudInitializer {
38
39
  get isBase() {
39
40
  return false;
@@ -42,12 +43,21 @@ class AngularXmCloudInitializer {
42
43
  var _a, _b;
43
44
  return __awaiter(this, void 0, void 0, function* () {
44
45
  const pkg = (0, common_1.openJsonFile)(`${args.destination}${path_1.sep}package.json`);
46
+ const addInitializers = [];
47
+ // when installing proxy alongside main app, have a separate path ready
48
+ if (!args.proxyAppDestination) {
49
+ args.proxyAppDestination = (0, helpers_1.getDefaultProxyDestination)(args.destination, 'node-xmcloud-proxy');
50
+ }
51
+ if (!args.templates.includes('node-xmcloud-proxy')) {
52
+ addInitializers.push('node-xmcloud-proxy');
53
+ }
45
54
  const mergedArgs = Object.assign(Object.assign({}, args), { appName: args.appName || ((_a = pkg === null || pkg === void 0 ? void 0 : pkg.config) === null || _a === void 0 ? void 0 : _a.appName) || common_1.DEFAULT_APPNAME, appPrefix: args.appPrefix || ((_b = pkg === null || pkg === void 0 ? void 0 : pkg.config) === null || _b === void 0 ? void 0 : _b.prefix) || false });
46
55
  const templatePath = path_1.default.resolve(__dirname, '../../templates/angular-xmcloud');
47
56
  yield (0, common_1.transform)(templatePath, mergedArgs);
48
57
  const response = {
49
58
  nextSteps: [],
50
59
  appName: args.appName || common_1.DEFAULT_APPNAME,
60
+ initializers: addInitializers,
51
61
  };
52
62
  return response;
53
63
  });
@@ -12,8 +12,10 @@ var Prerender;
12
12
  Prerender["SSR"] = "SSR";
13
13
  })(Prerender = exports.Prerender || (exports.Prerender = {}));
14
14
  const DEFAULT_PRERENDER = Prerender.SSG;
15
+ // still need sxp prompts here until sitecore/config is no longer added to xmc app
15
16
  exports.prompts = [
16
17
  ...common_1.clientAppPrompts,
18
+ ...common_1.sxpPrompts,
17
19
  {
18
20
  type: 'list',
19
21
  name: 'prerender',
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prompts = void 0;
4
4
  const common_1 = require("../../common");
5
- exports.prompts = [...common_1.clientAppPrompts, ...common_1.styleguidePrompts];
5
+ exports.prompts = [...common_1.clientAppPrompts, ...common_1.sxpPrompts, ...common_1.styleguidePrompts];
@@ -4,5 +4,6 @@ exports.prompts = void 0;
4
4
  const common_1 = require("../../common");
5
5
  exports.prompts = [
6
6
  ...common_1.clientAppPrompts.filter((p) => p.name !== 'fetchWith'),
7
+ ...common_1.sxpPrompts,
7
8
  ...common_1.styleguidePrompts,
8
9
  ];
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prompts = void 0;
4
4
  const common_1 = require("../../common");
5
- exports.prompts = [...common_1.clientAppPrompts, ...common_1.styleguidePrompts];
5
+ exports.prompts = [...common_1.clientAppPrompts, ...common_1.sxpPrompts, ...common_1.styleguidePrompts];
@@ -5,4 +5,4 @@
5
5
  PROXY_HOST=http://localhost:3001
6
6
 
7
7
  # Your XM Cloud Proxy server path is needed to build the app. The build output will be copied to the proxy server path.
8
- PROXY_BUILD_PATH=<%- proxyAppDestination %>/dist
8
+ PROXY_BUILD_PATH=<%- helper.relativeProxyAppDestination %>dist
@@ -0,0 +1,15 @@
1
+ <div class="container-wrapper" *ngIf="wrapped; else default">
2
+ <ng-container *ngTemplateOutlet="default"></ng-container>
3
+ </div>
4
+ <ng-template #default>
5
+ <div class="component container-default {{ styles }}" [attr.id]="id">
6
+ <div class="component-content" [ngStyle]="backgroundStyle">
7
+ <div class="row">
8
+ <sc-placeholder
9
+ [name]="placeholderName"
10
+ [rendering]="rendering">
11
+ </sc-placeholder>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ </ng-template>
@@ -0,0 +1,30 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { SxaComponent } from '../sxa.component';
3
+
4
+ @Component({
5
+ selector: 'app-container',
6
+ templateUrl: './container.component.html',
7
+ })
8
+ export class ContainerComponent extends SxaComponent implements OnInit {
9
+ placeholderName: string;
10
+ wrapped: boolean;
11
+
12
+ override ngOnInit() {
13
+ super.ngOnInit();
14
+
15
+ this.placeholderName = `container-${this.rendering.params?.DynamicPlaceholderId}`;
16
+ this.wrapped = this.rendering.params?.Styles?.split(' ').includes('container');
17
+ }
18
+
19
+ get backgroundStyle() {
20
+ const backgroundImage = this.rendering.params?.BackgroundImage;
21
+ const mediaUrlPattern = new RegExp(/mediaurl=\"([^"]*)\"/, 'i');
22
+ if (!backgroundImage || !backgroundImage.match(mediaUrlPattern)) {
23
+ return {};
24
+ }
25
+ const mediaUrl = backgroundImage.match(mediaUrlPattern)[1];
26
+ return {
27
+ backgroundImage: `url('${mediaUrl}')`,
28
+ };
29
+ }
30
+ }
@@ -1,4 +1,4 @@
1
- import { OnInit, Input, Directive } from '@angular/core';
1
+ import { OnInit, Input, Directive } from '@angular/core';
2
2
  import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
3
3
 
4
4
  @Directive()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-sitecore-jss",
3
- "version": "22.2.0-canary.6",
3
+ "version": "22.2.0-canary.8",
4
4
  "description": "Sitecore JSS initializer",
5
5
  "bin": "./dist/index.js",
6
6
  "scripts": {
@@ -63,5 +63,5 @@
63
63
  "ts-node": "^10.9.1",
64
64
  "typescript": "~4.9.5"
65
65
  },
66
- "gitHead": "081499ff4ca4c753b0762c4b700529c7514ac774"
66
+ "gitHead": "755525262fcb998452876d2f28a57d130e29731c"
67
67
  }