@speedkit/cli 3.31.2 → 3.32.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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [3.32.1](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v3.32.0...v3.32.1) (2026-03-23)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **customer-config:** prevent null pointer exception in soft2hard nav conversion ([9277a1c](https://gitlab.orestes.info/baqend/speed-kit-cli/commit/9277a1c0a188b5e0f8f143435712d84255d9ff8c))
7
+
8
+ # [3.32.0](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v3.31.2...v3.32.0) (2026-03-11)
9
+
10
+
11
+ ### Features
12
+
13
+ * **customer-config:** add disabled sites approach template snippet ([38da0c3](https://gitlab.orestes.info/baqend/speed-kit-cli/commit/38da0c3936b42b4ae003c6b3836aab66f6e73b4a))
14
+
1
15
  ## [3.31.2](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v3.31.1...v3.31.2) (2026-03-10)
2
16
 
3
17
 
package/README.md CHANGED
@@ -21,7 +21,7 @@ $ npm install -g @speedkit/cli
21
21
  $ sk COMMAND
22
22
  running command...
23
23
  $ sk (--version)
24
- @speedkit/cli/3.31.2 linux-x64 node-v20.20.1
24
+ @speedkit/cli/3.32.1 linux-x64 node-v20.20.1
25
25
  $ sk --help [COMMAND]
26
26
  USAGE
27
27
  $ sk COMMAND
@@ -39,6 +39,7 @@ export interface CustomerConfigSettings {
39
39
  hasSoftNavigations?: boolean;
40
40
  convertSoftToHardNavigations?: boolean;
41
41
  isPOV?: boolean;
42
+ useDisabledSitesApproach?: boolean;
42
43
  isShopify?: boolean;
43
44
  isShopware?: boolean;
44
45
  isSalesforce?: boolean;
@@ -136,7 +136,7 @@ class CustomerConfigService {
136
136
  return true;
137
137
  }
138
138
  async getConfigSettings() {
139
- let { production, staging, includeServiceWorker, activateImageOptimisation, removeLazyLoading, addSSR, addSSRInnerShadowDomSupport, addDeviceDetection, useGATracking, useScrapingBee, withGoogleOptimize, activateCfRocketLoaderPlugin, hasSoftNavigations, convertSoftToHardNavigations, isShopify, isShopware, isSalesforce, isOxid, isPlentymarkets, isPOV, } = {};
139
+ let { production, staging, includeServiceWorker, activateImageOptimisation, removeLazyLoading, addSSR, addSSRInnerShadowDomSupport, addDeviceDetection, useGATracking, useScrapingBee, withGoogleOptimize, activateCfRocketLoaderPlugin, hasSoftNavigations, convertSoftToHardNavigations, useDisabledSitesApproach, isShopify, isShopware, isSalesforce, isOxid, isPlentymarkets, isPOV, } = {};
140
140
  this.appName = await this.cli.prompt(`[App Name] Enter desired SK app name:`, {
141
141
  validator: (input) => /^[\da-z]+(?:-[\da-z]+)*$/.test(input) ? "" : "No valid kebab-case",
142
142
  defaultAnswer: this.appName,
@@ -176,6 +176,7 @@ class CustomerConfigService {
176
176
  if (await this.cli.confirm("[Service Worker] Is there a Service Worker which needs to be included?", false)) {
177
177
  includeServiceWorker = await this.cli.prompt("[Service Worker] Enter path of Service Worker to be included:", { defaultAnswer: "/sw.js" });
178
178
  }
179
+ useDisabledSitesApproach = await this.cli.confirm("[Disabled Sites] Use disabled sites approach as the given URL structure makes it hard to identify specific page types?", false);
179
180
  activateImageOptimisation = await this.cli.confirm("[IO] Should image optimisation be activated?", false);
180
181
  removeLazyLoading = await this.cli.confirm("[Lazy Loading] Does the shop require us to resolve lazy-loaded content?");
181
182
  if (await this.cli.confirm("[Lambda SSR] Add server-side-rendering? This requires a set-up Lambda function to work.", false)) {
@@ -215,6 +216,7 @@ class CustomerConfigService {
215
216
  activateCfRocketLoaderPlugin,
216
217
  hasSoftNavigations,
217
218
  convertSoftToHardNavigations,
219
+ useDisabledSitesApproach,
218
220
  isShopify,
219
221
  isShopware,
220
222
  isSalesforce,
@@ -1,3 +1,37 @@
1
+ {{#*inline "disabledSites"}}
2
+ // TODO: adjust/replace this exemplary list
3
+ {{#if isPlentymarkets}}
4
+
5
+ // Plentymarkets specific:
6
+ /kundenkonto/i,
7
+ /warenkorb/i,
8
+ {{/if}}
9
+
10
+ // Login & Account:
11
+ /account/i,
12
+ /profile/i,
13
+ /password/i,
14
+ /registration/i,
15
+ /register/i,
16
+ /login/i,
17
+ /authenticate/i,
18
+ /wish(-)?list/i,
19
+
20
+ // Checkout & Payment:
21
+ /cart/i,
22
+ /basket/i,
23
+ /checkout/i,
24
+ /order/i,
25
+ /success/i,
26
+ /confirmation/i,
27
+ /payment/i,
28
+ /success/i,
29
+
30
+ // Admin:
31
+ /\/admin/i,
32
+ /\/backend/i,
33
+ {{/inline}}
34
+
1
35
  (function() {
2
36
  var ENABLED_HOSTS_CONFIGS = [
3
37
  // Production:
@@ -24,6 +58,16 @@
24
58
  ];
25
59
  var ENABLED_HOSTS = getEnabledHosts(ENABLED_HOSTS_CONFIGS);
26
60
  var CURRENT_HOST_CONFIG = getCurrentHostConfig(ENABLED_HOSTS_CONFIGS);
61
+ {{#if useDisabledSitesApproach}}
62
+
63
+ var DISABLED_SITES = [
64
+ // Used as pathnames in...
65
+ // - disabled sites
66
+ // - blacklist
67
+
68
+ {{> disabledSites}}
69
+ ];
70
+ {{/if}}
27
71
 
28
72
  /**
29
73
  * @type {SpeedKitConfig}
@@ -143,56 +187,39 @@
143
187
  {{/if}}
144
188
  ],
145
189
  blacklist: [
190
+ {{#if useDisabledSitesApproach}}
191
+ {
192
+ pathname: DISABLED_SITES,
193
+ },
194
+ {{/if}}
146
195
  {
147
196
  pathname: [
148
- // TODO: adjust/replace this exemplary list
197
+ {{#if isPlentymarkets}}
149
198
 
150
- // Login & Account:
151
- /account/i,
152
- /profile/i,
153
- /password/i,
154
- /registration/i,
155
- /register/i,
156
- /login/i,
157
- /authenticate/i,
158
- /wish(-)?list/i,
159
-
160
- // Checkout & Payment:
161
- /cart/i,
162
- /basket/i,
163
- /checkout/i,
164
- /order/i,
165
- /success/i,
166
- /confirmation/i,
167
- /payment/i,
199
+ // Plentymarkets specific:
200
+ /\/rest/i, // REST API
201
+ {{/if}}
202
+ {{#if isSalesforce}}
203
+
204
+ // SFCC specific:
205
+ /\/demandware\.store/i, // high-level api blacklist
206
+ {{/if}}
207
+ {{#unless useDisabledSitesApproach}}
208
+ {{> disabledSites}}
209
+ {{/unless}}
210
+
211
+ // Payment Services:
168
212
  /paypal/i,
169
213
  /klarna/i,
170
214
  /amazon/i,
171
215
  /ratepay/i,
172
216
  /payone/i,
173
- /success/i,
174
-
175
- // Admin:
176
- /\/admin/i,
177
- /\/backend/i,
178
217
 
179
218
  // Misc:
180
219
  /\/akam\//i, // Akamai telemetry data
181
220
  /\.pdf/,
182
221
  /\/adyen/i,
183
222
  /\/cdn-cgi\//i, // dynamic scripts
184
- {{#if isPlentymarkets}}
185
-
186
- // Plentymarkets specific:
187
- /\/rest/i, // REST API
188
- /kundenkonto/i,
189
- /warenkorb/i,
190
- {{/if}}
191
- {{#if isSalesforce}}
192
-
193
- // SFCC specific:
194
- /\/demandware\.store/i, // high-level api blacklist
195
- {{/if}}
196
223
  ],
197
224
  },
198
225
  {
@@ -277,9 +277,9 @@ import { PredictivePreloading } from 'predictive-preloading/predictivePreloading
277
277
  track: () => {
278
278
  if (
279
279
  // check that dashboard is not disabled and user is in group A
280
- window?.SpeedKit.lastNavigate.disconnectCause.indexOf("DashboardDisabled") > -1 ||
280
+ window?.SpeedKit?.lastNavigate?.disconnectCause?.indexOf("DashboardDisabled") > -1 ||
281
281
  !window?.SpeedKit?.skSupported ||
282
- SpeedKit.group !== "A"
282
+ window?.SpeedKit?.group !== "A"
283
283
  ) {
284
284
  return;
285
285
  }
@@ -731,5 +731,5 @@
731
731
  ]
732
732
  }
733
733
  },
734
- "version": "3.31.2"
734
+ "version": "3.32.1"
735
735
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@speedkit/cli",
3
3
  "description": "Speed Kit CLI",
4
- "version": "3.31.2",
4
+ "version": "3.32.1",
5
5
  "author": {
6
6
  "name": "Baqend.com",
7
7
  "email": "info@baqend.com"