@speedkit/cli 3.6.0 → 3.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +1 -1
- package/dist/services/customer-config/customer-config-service-model.d.ts +1 -0
- package/dist/services/customer-config/customer-config-service.js +3 -1
- package/dist/services/customer-config/templates/config_loadHandler.js.hbs +29 -3
- package/dist/services/onboarding/browser/extension/extension-downloader.d.ts +1 -1
- package/dist/services/onboarding/browser/extension/extension-validator.js +4 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [3.6.2](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v3.6.1...v3.6.2) (2025-09-24)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **onboarding/devtools:** wrong validation of downloadpath ([59e403d](https://gitlab.orestes.info/baqend/speed-kit-cli/commit/59e403d5ea35b61caf942a88483e3f53a9e983ae))
|
|
7
|
+
|
|
8
|
+
## [3.6.1](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v3.6.0...v3.6.1) (2025-09-05)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **wizard:** pov promt ([0c8b71f](https://gitlab.orestes.info/baqend/speed-kit-cli/commit/0c8b71ffbddbe71d233cc1618fa72ca25cac5adb))
|
|
14
|
+
|
|
1
15
|
# [3.6.0](https://gitlab.orestes.info/baqend/speed-kit-cli/compare/v3.5.1...v3.6.0) (2025-09-02)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -136,7 +136,7 @@ class CustomerConfigService {
|
|
|
136
136
|
return true;
|
|
137
137
|
}
|
|
138
138
|
async getConfigSettings() {
|
|
139
|
-
let { production, staging, activateScopedDeployments, subRouteScope, includeServiceWorker, activateImageOptimisation, removeLazyLoading, addPreRendering, addUADetection, supportShadowDomInPreRendering, shadowDomCustomElementPrefix, activateRumTracking, useGATracking, useScrapingBee, withGoogleOptimize, activateCfRocketLoaderWorkaround, hasSoftNavigations, isShopify, isShopware, isSalesforce, isOxid, isPlentymarkets, } = {};
|
|
139
|
+
let { production, staging, activateScopedDeployments, subRouteScope, includeServiceWorker, activateImageOptimisation, removeLazyLoading, addPreRendering, addUADetection, supportShadowDomInPreRendering, shadowDomCustomElementPrefix, activateRumTracking, useGATracking, useScrapingBee, withGoogleOptimize, activateCfRocketLoaderWorkaround, hasSoftNavigations, 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,
|
|
@@ -204,6 +204,7 @@ class CustomerConfigService {
|
|
|
204
204
|
}
|
|
205
205
|
hasSoftNavigations = await this.cli.confirm("[Tracking] Add tracking for Soft Navigations?", false);
|
|
206
206
|
// }
|
|
207
|
+
isPOV = await this.cli.confirm("[Tracking] Is a POV (proof of value) anticipated, so that additional tracking is needed?", false);
|
|
207
208
|
withGoogleOptimize = await this.cli.confirm("[Services] Is Google Optimize used?", false);
|
|
208
209
|
activateCfRocketLoaderWorkaround = isShopify
|
|
209
210
|
? true
|
|
@@ -232,6 +233,7 @@ class CustomerConfigService {
|
|
|
232
233
|
isSalesforce,
|
|
233
234
|
isOxid,
|
|
234
235
|
isPlentymarkets,
|
|
236
|
+
isPOV,
|
|
235
237
|
};
|
|
236
238
|
}
|
|
237
239
|
async logWarnings(configSettings) {
|
|
@@ -5,7 +5,11 @@ import { HistoryApiPlugin } from 'rum/HistoryApiPlugin';
|
|
|
5
5
|
{{#if useGATracking}}
|
|
6
6
|
import { GAEcommerceTrackingPlugin } from 'rum/GAEcommerceTrackingPlugin';
|
|
7
7
|
{{/if}}
|
|
8
|
-
|
|
8
|
+
{{#if isPOV}}
|
|
9
|
+
import { HostTrackingPlugin } from "rum/HostTrackingPlugin";
|
|
10
|
+
import { UserFrictionPlugin } from "rum/UserFrictionPlugin";
|
|
11
|
+
import { ClickPlugin } from "rum/ClickPlugin";
|
|
12
|
+
{{/if}}
|
|
9
13
|
import { PredictivePreloading } from 'predictive-preloading/predictivePreloading';
|
|
10
14
|
|
|
11
15
|
!function() {
|
|
@@ -28,7 +32,25 @@ import { PredictivePreloading } from 'predictive-preloading/predictivePreloading
|
|
|
28
32
|
window.SpeedKit = window.SpeedKit || {};
|
|
29
33
|
SpeedKit.rumPlugins = SpeedKit.rumPlugins || [];
|
|
30
34
|
SpeedKit.rumPlugins.push(
|
|
31
|
-
new BaseBundle(
|
|
35
|
+
new BaseBundle({{#if isPOV}}
|
|
36
|
+
{
|
|
37
|
+
resourceTimingsOptions: {
|
|
38
|
+
rules: [
|
|
39
|
+
// TODO: check if this is the correct endpoint for the main API requests
|
|
40
|
+
{
|
|
41
|
+
// API Requests
|
|
42
|
+
url: ["https://{{production.host}}"],
|
|
43
|
+
initiatorTypes: ["fetch", "xmlhttprequest"],
|
|
44
|
+
},
|
|
45
|
+
// TODO: check if other 3rd party requests need to be added here
|
|
46
|
+
{
|
|
47
|
+
// Critical resources
|
|
48
|
+
onlyTrackRenderBlocking: true,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
}
|
|
53
|
+
{{/if}}),
|
|
32
54
|
{{#if hasSoftNavigations}}
|
|
33
55
|
new HistoryApiPlugin(), // Soft Navigation Tracking using History API
|
|
34
56
|
{{/if}}
|
|
@@ -40,7 +62,11 @@ import { PredictivePreloading } from 'predictive-preloading/predictivePreloading
|
|
|
40
62
|
{{/if}}
|
|
41
63
|
}),
|
|
42
64
|
{{/if}}
|
|
43
|
-
|
|
65
|
+
{{#if isPOV}}
|
|
66
|
+
new HostTrackingPlugin(),
|
|
67
|
+
new UserFrictionPlugin(),
|
|
68
|
+
new ClickPlugin(),
|
|
69
|
+
{{/if}}
|
|
44
70
|
{
|
|
45
71
|
key: 'language',
|
|
46
72
|
type: 'SessionDimension',
|
|
@@ -6,7 +6,7 @@ export declare class ExtensionDownloader {
|
|
|
6
6
|
constructor(userConfig: UserCliConfig, cli: CliServiceInterface);
|
|
7
7
|
downloadExtension(): Promise<string>;
|
|
8
8
|
private updateLocalDevtools;
|
|
9
|
-
isInstalled
|
|
9
|
+
private isInstalled;
|
|
10
10
|
private checkInstalledVersion;
|
|
11
11
|
private getRemoteVersion;
|
|
12
12
|
}
|
|
@@ -67,14 +67,17 @@ class ExtensionValidator {
|
|
|
67
67
|
// download or update extension
|
|
68
68
|
const result = await (0, safe_1.safe)(this.extensionDownloader.downloadExtension());
|
|
69
69
|
if (result.success !== true) {
|
|
70
|
+
this.cli.writeError(result?.error);
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
|
-
if (result.data?.length
|
|
73
|
+
if (result.data?.length < 1) {
|
|
74
|
+
this.cli.writeError(`found extensionPath seems broken.`);
|
|
73
75
|
return;
|
|
74
76
|
}
|
|
75
77
|
// get extensionDetails from manifestFile
|
|
76
78
|
const extensionConfigResult = await (0, safe_1.safe)(this.getManifestConfig(result.data));
|
|
77
79
|
if (extensionConfigResult.success !== true) {
|
|
80
|
+
this.cli.writeError(extensionConfigResult.error);
|
|
78
81
|
return;
|
|
79
82
|
}
|
|
80
83
|
validExtensions.push({
|
package/oclif.manifest.json
CHANGED