@getuserfeedback/adapters 0.5.172 → 0.6.0
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 +16 -5
- package/dist/gtm/core.d.ts.map +1 -1
- package/dist/gtm/core.js +1 -3
- package/dist/gtm/runtime-model.d.ts +3 -3
- package/dist/gtm/runtime-model.d.ts.map +1 -1
- package/dist/gtm/runtime-model.js +1 -0
- package/dist/gtm/template-generation.d.ts +2 -1
- package/dist/gtm/template-generation.d.ts.map +1 -1
- package/dist/gtm/template-generation.js +25 -3
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -77,16 +77,16 @@ The generated template supports:
|
|
|
77
77
|
|
|
78
78
|
```ts
|
|
79
79
|
import {
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
buildGtmTemplateArtifact,
|
|
81
|
+
buildGtmTemplateFileSource,
|
|
82
82
|
} from "@getuserfeedback/adapters/gtm";
|
|
83
83
|
|
|
84
84
|
const artifact = buildGtmTemplateArtifact({
|
|
85
|
-
|
|
85
|
+
loaderScriptBaseUrl: "https://cdn.getuserfeedback.com/widget/loader/v5",
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
const templateFile = buildGtmTemplateFileSource({
|
|
89
|
-
|
|
89
|
+
loaderScriptBaseUrl: "https://cdn.getuserfeedback.com/widget/loader/v5",
|
|
90
90
|
});
|
|
91
91
|
```
|
|
92
92
|
|
|
@@ -106,6 +106,17 @@ bun run generate:gtm-template:sandbox-hybrid
|
|
|
106
106
|
|
|
107
107
|
### Verifying GTM template changes
|
|
108
108
|
|
|
109
|
+
Validate a release artifact with its actual production CDN loader and core:
|
|
110
|
+
|
|
111
|
+
```sh
|
|
112
|
+
GTM_TEMPLATE_FILE=/absolute/path/to/template.tpl bun run test:playwright:widget-sandbox -- src/tests/gtm-template.e2e.ts
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Run this from the repository root. The test executes the template with GTM API
|
|
116
|
+
shims, verifies initialization and identity, and displays an assigned flow. Only
|
|
117
|
+
backend requests are redirected to disposable sandbox data. It skips when
|
|
118
|
+
`GTM_TEMPLATE_FILE` is unset and does not require a configured GTM container.
|
|
119
|
+
|
|
109
120
|
When edits in this package change GTM template generation or runtime behavior, the usual verification path spans more than this package:
|
|
110
121
|
|
|
111
122
|
- Regenerate the hybrid upload artifact from `packages/adapters`.
|
|
@@ -142,7 +153,7 @@ Pass `loaderScriptBaseUrl` to:
|
|
|
142
153
|
|
|
143
154
|
The same base URL is used to derive the runtime loader URL and the `inject_script` permission pattern.
|
|
144
155
|
|
|
145
|
-
Pass `runtimeEndpoints` when you need the
|
|
156
|
+
Generated templates default to the production `api/v1` and `core/v7` endpoints. Pass `runtimeEndpoints` when you need the template to point loader bootstrap at custom `core` and `api` endpoints.
|
|
146
157
|
|
|
147
158
|
### Versioning expectations
|
|
148
159
|
|
package/dist/gtm/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/gtm/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,SAAS;IACxC,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,yBAAyB;IACzB,YAAY;IACZ,cAAc;IACd,oBAAoB;CASpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,CAAC;AAQF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,OAAO,GACZ,WAAW,CAAC,aAAa,CAAC,GAAG,SAAS,CA2CxC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,YAAY,CAAC,EAAE,eAAe,CAAC;CAC/B,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/gtm/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,SAAS;IACxC,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,yBAAyB;IACzB,YAAY;IACZ,cAAc;IACd,oBAAoB;CASpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,CAAC;AAQF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,OAAO,GACZ,WAAW,CAAC,aAAa,CAAC,GAAG,SAAS,CA2CxC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,YAAY,CAAC,EAAE,eAAe,CAAC;CAC/B,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAwB5C;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,gBAAgB,GACrB,WAAW,CA4Bb"}
|
package/dist/gtm/core.js
CHANGED
|
@@ -78,9 +78,7 @@ export function resolveDefaultConsentFromGtm(input) {
|
|
|
78
78
|
if (consentState.ad_personalization === "granted") {
|
|
79
79
|
grantedScopes.push("ads.personalization");
|
|
80
80
|
}
|
|
81
|
-
return grantedScopes
|
|
82
|
-
? consentConfigInputSchema.parse(grantedScopes)
|
|
83
|
-
: undefined;
|
|
81
|
+
return consentConfigInputSchema.parse(grantedScopes);
|
|
84
82
|
}
|
|
85
83
|
export function buildInitOptionsFromGtmTemplate(input) {
|
|
86
84
|
const colorScheme = normalizeGtmThemeInput(input.colorScheme);
|
|
@@ -21,8 +21,8 @@ export type GtmIdentifyCommandInput = {
|
|
|
21
21
|
};
|
|
22
22
|
export declare function resolveGtmThemeInputFromTemplateData(templateData: {
|
|
23
23
|
themeMode?: unknown;
|
|
24
|
-
themeModeVariable?:
|
|
25
|
-
themeAttr?:
|
|
26
|
-
}):
|
|
24
|
+
themeModeVariable?: string;
|
|
25
|
+
themeAttr?: string;
|
|
26
|
+
}): string | undefined;
|
|
27
27
|
export declare function buildGtmIdentifyCommand(input: GtmIdentifyCommandInput): GtmIdentifyCommand | undefined;
|
|
28
28
|
//# sourceMappingURL=runtime-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-model.d.ts","sourceRoot":"","sources":["../../src/gtm/runtime-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,qBAAqB;IACjC,MAAM;IACN,SAAS;CACT,CAAC;AAEF,eAAO,MAAM,iDAAiD,wbAY5D,CAAC;AAEH,eAAO,MAAM,iCAAiC,y+EAmG5C,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACvC,oBAAoB,EACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,YAAY,EAAE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"runtime-model.d.ts","sourceRoot":"","sources":["../../src/gtm/runtime-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,qBAAqB;IACjC,MAAM;IACN,SAAS;CACT,CAAC;AAEF,eAAO,MAAM,iDAAiD,wbAY5D,CAAC;AAEH,eAAO,MAAM,iCAAiC,y+EAmG5C,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACvC,oBAAoB,EACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,YAAY,EAAE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,GAAG,SAAS,CAYrB;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,uBAAuB,GAC5B,kBAAkB,GAAG,SAAS,CA2GhC"}
|
|
@@ -129,6 +129,7 @@ export function resolveGtmThemeInputFromTemplateData(templateData) {
|
|
|
129
129
|
: undefined;
|
|
130
130
|
}
|
|
131
131
|
export function buildGtmIdentifyCommand(input) {
|
|
132
|
+
// oxlint-disable-next-line anti-slop/no-unknown-returns -- Public identify traits intentionally preserve arbitrary GTM values allowed by the protocol's Record<string, unknown> schema.
|
|
132
133
|
function normalizeTraitValue(value) {
|
|
133
134
|
if (value === undefined || value === null) {
|
|
134
135
|
return undefined;
|
|
@@ -142,11 +142,12 @@ export type GtmTemplateGenerationOptions = {
|
|
|
142
142
|
runtimeEndpoints?: {
|
|
143
143
|
apiUrl: string;
|
|
144
144
|
coreUrl: string;
|
|
145
|
+
realtimeUrl?: string;
|
|
145
146
|
};
|
|
146
147
|
displayName?: string;
|
|
147
148
|
description?: string;
|
|
148
149
|
};
|
|
149
|
-
export declare const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/
|
|
150
|
+
export declare const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/v5";
|
|
150
151
|
export declare function buildGtmTemplateParameters(_options?: GtmTemplateGenerationOptions): TemplateParameter[];
|
|
151
152
|
export declare function buildGtmRuntimeSource(input?: GtmTemplateGenerationOptions): string;
|
|
152
153
|
export declare function buildGtmPermissions(input?: GtmTemplateGenerationOptions): GtmTemplatePermission[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-generation.d.ts","sourceRoot":"","sources":["../../src/gtm/template-generation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-generation.d.ts","sourceRoot":"","sources":["../../src/gtm/template-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DEFAULT_AUTO_DETECT_COLOR_SCHEME_ATTRS } from "@getuserfeedback/protocol";
|
|
2
|
+
import { PRODUCTION_WIDGET_RUNTIME_ENDPOINTS } from "@getuserfeedback/protocol/host";
|
|
2
3
|
import { GTM_CONSENT_TYPES } from "./core.js";
|
|
3
4
|
import { BUILD_GTM_IDENTIFY_COMMAND_SOURCE, GTM_QUEUE_CLIENT_META, RESOLVE_GTM_THEME_INPUT_FROM_TEMPLATE_DATA_SOURCE, } from "./runtime-model.js";
|
|
4
|
-
export const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/
|
|
5
|
+
export const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/v5";
|
|
5
6
|
const GTM_TEMPLATE_VERSION = 1;
|
|
6
7
|
const GTM_TEMPLATE_DEFAULT_DISPLAY_NAME = "getuserfeedback Widget";
|
|
7
8
|
const GTM_TEMPLATE_DEFAULT_DESCRIPTION = "Load the getuserfeedback widget with Google Tag Manager, including color scheme settings and user identity.";
|
|
@@ -343,10 +344,15 @@ export function buildGtmTemplateParameters(_options) {
|
|
|
343
344
|
export function buildGtmRuntimeSource(input) {
|
|
344
345
|
const loaderScriptBaseUrl = trimTrailingSlash(input?.loaderScriptBaseUrl ?? DEFAULT_GTM_LOADER_SCRIPT_BASE_URL);
|
|
345
346
|
const runtimeEndpoints = input?.runtimeEndpoints === undefined
|
|
346
|
-
?
|
|
347
|
+
? {
|
|
348
|
+
apiUrl: PRODUCTION_WIDGET_RUNTIME_ENDPOINTS.apiUrl,
|
|
349
|
+
coreUrl: PRODUCTION_WIDGET_RUNTIME_ENDPOINTS.coreUrl,
|
|
350
|
+
realtimeUrl: PRODUCTION_WIDGET_RUNTIME_ENDPOINTS.realtimeUrl,
|
|
351
|
+
}
|
|
347
352
|
: {
|
|
348
353
|
apiUrl: input.runtimeEndpoints.apiUrl.trim(),
|
|
349
354
|
coreUrl: input.runtimeEndpoints.coreUrl.trim(),
|
|
355
|
+
realtimeUrl: input.runtimeEndpoints.realtimeUrl?.trim(),
|
|
350
356
|
};
|
|
351
357
|
return `
|
|
352
358
|
const log = require("logToConsole");
|
|
@@ -354,6 +360,7 @@ const injectScript = require("injectScript");
|
|
|
354
360
|
const queryPermission = require("queryPermission");
|
|
355
361
|
const createQueue = require("createQueue");
|
|
356
362
|
const isConsentGranted = require("isConsentGranted");
|
|
363
|
+
const addConsentListener = require("addConsentListener");
|
|
357
364
|
const encodeUriComponent = require("encodeUriComponent");
|
|
358
365
|
const copyFromDataLayer = require("copyFromDataLayer");
|
|
359
366
|
|
|
@@ -557,7 +564,7 @@ const deriveDefaultConsentFromGtmConsentState = function() {
|
|
|
557
564
|
grantScope("ads.personalization");
|
|
558
565
|
}
|
|
559
566
|
|
|
560
|
-
return grantedScopes
|
|
567
|
+
return grantedScopes;
|
|
561
568
|
};
|
|
562
569
|
|
|
563
570
|
let requestSequence = 0;
|
|
@@ -614,6 +621,10 @@ if (generatedRuntimeEndpoints !== null) {
|
|
|
614
621
|
apiUrl: generatedRuntimeEndpoints.apiUrl,
|
|
615
622
|
coreUrl: generatedRuntimeEndpoints.coreUrl,
|
|
616
623
|
};
|
|
624
|
+
if (generatedRuntimeEndpoints.realtimeUrl !== undefined) {
|
|
625
|
+
initOptions.runtimeEndpoints.realtimeUrl =
|
|
626
|
+
generatedRuntimeEndpoints.realtimeUrl;
|
|
627
|
+
}
|
|
617
628
|
}
|
|
618
629
|
|
|
619
630
|
enqueuePublicCommand(queuePush, instanceId, {
|
|
@@ -626,6 +637,17 @@ if (identifyCommand !== undefined) {
|
|
|
626
637
|
enqueuePublicCommand(queuePush, instanceId, identifyCommand);
|
|
627
638
|
}
|
|
628
639
|
|
|
640
|
+
for (let index = 0; index < gtmConsentTypes.length; index += 1) {
|
|
641
|
+
const consentType = gtmConsentTypes[index];
|
|
642
|
+
addConsentListener(consentType, function() {
|
|
643
|
+
const consent = deriveDefaultConsentFromGtmConsentState();
|
|
644
|
+
enqueuePublicCommand(queuePush, instanceId, {
|
|
645
|
+
kind: "configure",
|
|
646
|
+
opts: { consent: consent },
|
|
647
|
+
});
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
|
|
629
651
|
log("Loading getuserfeedback loader:", widgetUrl);
|
|
630
652
|
|
|
631
653
|
if (queryPermission("inject_script", widgetUrl)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getuserfeedback/adapters",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "getuserfeedback integration adapters",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"getuserfeedback",
|
|
@@ -30,20 +30,20 @@
|
|
|
30
30
|
"scripts": {
|
|
31
31
|
"prepack": "node scripts/prepack.cjs",
|
|
32
32
|
"postpack": "node scripts/postpack.cjs",
|
|
33
|
-
"lint": "
|
|
33
|
+
"lint": "oxlint --threads=2 -c ../../oxlint.config.ts . && GOMAXPROCS=2 GOMEMLIMIT=1GiB oxlint --threads=2 -c ../../oxlint-types.config.ts .",
|
|
34
|
+
"lint:syntax": "oxlint --threads=2 -c ../../oxlint.config.ts .",
|
|
34
35
|
"build": "bun ../../scripts/clean-build-output.ts dist tsconfig.tsbuildinfo && tsc -p tsconfig.json",
|
|
35
36
|
"generate:gtm-template": "bun scripts/generate-gtm-template.ts",
|
|
36
|
-
"generate:gtm-template:sandbox-hybrid": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=https://cdn.getuserfeedback.com/widget/loader/
|
|
37
|
-
"generate:gtm-template:sandbox": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/loader/
|
|
37
|
+
"generate:gtm-template:sandbox-hybrid": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=https://cdn.getuserfeedback.com/widget/loader/v5 GTM_TEMPLATE_CORE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/core/v7/core.html GTM_TEMPLATE_API_URL=http://widget.getuserfeedback.lvh.me:3200/v1 bun scripts/generate-gtm-template.ts",
|
|
38
|
+
"generate:gtm-template:sandbox": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/loader/v5 GTM_TEMPLATE_CORE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/core/v7/core.html GTM_TEMPLATE_API_URL=http://widget.getuserfeedback.lvh.me:3200/v1 bun scripts/generate-gtm-template.ts",
|
|
38
39
|
"typecheck": "tsc -p tsconfig.json --noEmit --composite false --incremental false",
|
|
39
40
|
"test": "bun test --dots",
|
|
40
|
-
"test:changed": "bun test --changed=${TEST_CHANGED_BASE:-HEAD} --pass-with-no-tests --dots",
|
|
41
41
|
"pack:verify": "node ../../scripts/pack-and-verify.cjs --expect-dependency @getuserfeedback/protocol:../protocol/package.json",
|
|
42
42
|
"publish:dry-run": "node ../../scripts/publish-package.cjs . --expect-dependency @getuserfeedback/protocol:../protocol/package.json -- --dry-run",
|
|
43
43
|
"publish:npm": "node ../../scripts/publish-package.cjs . --expect-dependency @getuserfeedback/protocol:../protocol/package.json"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@getuserfeedback/protocol": "^
|
|
46
|
+
"@getuserfeedback/protocol": "^7.0.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"typescript": "^7.0.2"
|