@growthbook/edge-utils 0.0.4 → 0.0.6
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/attributes.js +20 -1
- package/dist/attributes.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/inject.js +1 -3
- package/dist/inject.js.map +1 -1
- package/package.json +1 -1
- package/src/attributes.ts +24 -1
- package/src/config.ts +2 -5
- package/src/inject.ts +2 -5
- package/src/types.ts +0 -1
package/dist/attributes.js
CHANGED
|
@@ -46,7 +46,7 @@ exports.getUUID = getUUID;
|
|
|
46
46
|
function getAutoAttributes(ctx, req, url) {
|
|
47
47
|
const { config, helpers } = ctx;
|
|
48
48
|
const getHeader = helpers === null || helpers === void 0 ? void 0 : helpers.getRequestHeader;
|
|
49
|
-
|
|
49
|
+
let autoAttributes = {
|
|
50
50
|
[config.uuidKey]: getUUID(ctx, req),
|
|
51
51
|
};
|
|
52
52
|
const ua = (getHeader === null || getHeader === void 0 ? void 0 : getHeader(req, "user-agent")) || "";
|
|
@@ -66,6 +66,7 @@ function getAutoAttributes(ctx, req, url) {
|
|
|
66
66
|
autoAttributes.path = urlObj.pathname;
|
|
67
67
|
autoAttributes.host = urlObj.host;
|
|
68
68
|
autoAttributes.query = urlObj.search;
|
|
69
|
+
autoAttributes = Object.assign(Object.assign({}, autoAttributes), getUtmAttributes(urlObj));
|
|
69
70
|
}
|
|
70
71
|
catch (e) {
|
|
71
72
|
// ignore
|
|
@@ -73,4 +74,22 @@ function getAutoAttributes(ctx, req, url) {
|
|
|
73
74
|
return autoAttributes;
|
|
74
75
|
}
|
|
75
76
|
exports.getAutoAttributes = getAutoAttributes;
|
|
77
|
+
function getUtmAttributes(urlObj) {
|
|
78
|
+
// Store utm- params in sessionStorage for future page loads
|
|
79
|
+
let utms = {};
|
|
80
|
+
// Add utm params from querystring
|
|
81
|
+
if (location.search) {
|
|
82
|
+
const params = new URLSearchParams(urlObj.search);
|
|
83
|
+
["source", "medium", "campaign", "term", "content"].forEach((k) => {
|
|
84
|
+
// Querystring is in snake_case
|
|
85
|
+
const param = `utm_${k}`;
|
|
86
|
+
// Attribute keys are camelCase
|
|
87
|
+
const attr = `utm` + k[0].toUpperCase() + k.slice(1);
|
|
88
|
+
if (params.has(param)) {
|
|
89
|
+
utms[attr] = params.get(param) || "";
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return utms;
|
|
94
|
+
}
|
|
76
95
|
//# sourceMappingURL=attributes.js.map
|
package/dist/attributes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":";;;AAGA,gFAAgF;AAChF,SAAgB,iBAAiB,CAC/B,GAAsB,EACtB,GAAQ,EACR,GAAW,EACX,SAA+C;IAE/C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAEhC,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACnD,IAAI,MAAM,CAAC,kBAAkB,EAAE;QAC7B,OAAO,kBAAkB,CAAC;KAC3B;IACD,2CAA2C;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QAC/C,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QACD,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;KACxC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACxD,uCAAY,cAAc,GAAK,kBAAkB,EAAG;AACtD,CAAC;AAvBD,8CAuBC;AAED,qCAAqC;AACrC,wCAAwC;AACxC,gDAAgD;AAChD,SAAgB,OAAO,CAAW,GAAsB,EAAE,GAAQ;IAChE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAEhC,MAAM,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,CAAC;IAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACrE,CACG,CAAuB;YACxB,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC,EAAE,IAAI,CAAE,CAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1C,CAAC,QAAQ,CAAC,EAAE,CAAC,CACf,CAAC;IACJ,CAAC,CAAC;IAEF,iEAAiE;IACjE,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC;AACpE,CAAC;AAtBD,0BAsBC;AAED,oCAAoC;AACpC,mDAAmD;AACnD,2DAA2D;AAC3D,SAAgB,iBAAiB,CAC/B,GAAsB,EACtB,GAAQ,EACR,GAAW;IAEX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAEhC,MAAM,SAAS,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAC;IAE5C,
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -80,7 +80,7 @@ function getConfig(env) {
|
|
|
80
80
|
console.error("Error parsing GROWTHBOOK_PAYLOAD", e);
|
|
81
81
|
}
|
|
82
82
|
config.persistUuid = ["true", "1"].includes((_q = env.PERSIST_UUID) !== null && _q !== void 0 ? _q : "" + exports.defaultContext.config.persistUuid);
|
|
83
|
-
config.
|
|
83
|
+
config.noAutoCookies = ["true", "1"].includes((_r = env.NO_AUTO_COOKIES) !== null && _r !== void 0 ? _r : "" + exports.defaultContext.config.noAutoCookies);
|
|
84
84
|
config.uuidCookieName =
|
|
85
85
|
env.UUID_COOKIE_NAME || exports.defaultContext.config.uuidCookieName;
|
|
86
86
|
config.uuidKey = env.UUID_KEY || exports.defaultContext.config.uuidKey;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/inject.js
CHANGED
|
@@ -50,9 +50,7 @@ function injectScript({ context, body, nonce, growthbook, attributes, preRedirec
|
|
|
50
50
|
data-api-host="${context.config.apiHost}"
|
|
51
51
|
data-client-key="${context.config.clientKey}"${context.config.decryptionKey
|
|
52
52
|
? `\n data-decryption-key="${context.config.decryptionKey}"`
|
|
53
|
-
: ""}${nonce ? `\n nonce="${nonce}"` : ""}${context.config.noAutoCookies
|
|
54
|
-
? `\n data-no-auto-cookies="true"`
|
|
55
|
-
: ""}
|
|
53
|
+
: ""}${nonce ? `\n nonce="${nonce}"` : ""}${context.config.noAutoCookies ? `\n data-no-auto-cookies="true"` : ""}
|
|
56
54
|
>
|
|
57
55
|
window.growthbook_config = ${JSON.stringify(gbContext)};
|
|
58
56
|
${(deferredTrackingCalls === null || deferredTrackingCalls === void 0 ? void 0 : deferredTrackingCalls.length)
|
package/dist/inject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";;;AAAA,uDAQgC;AAChC,uDAAoD;AAGpD,SAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,GAAG,EACH,MAAM,GAUP;IACC,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAElD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAChD,MAAM,qBAAqB,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC;IACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;IAE9D,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACzD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;QAC7C,OAAO;QACP,WAAW;QACX,kBAAkB;QAClB,oBAAoB;KACrB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;IACvE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IACvD,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;IACnE,MAAM,iBAAiB,GAAG,UAAU,CAAC,6BAA6B,EAAE,CAAC;IAErE,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/attributes.ts
CHANGED
|
@@ -66,7 +66,7 @@ export function getAutoAttributes<Req, Res>(
|
|
|
66
66
|
|
|
67
67
|
const getHeader = helpers?.getRequestHeader;
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
let autoAttributes: Attributes = {
|
|
70
70
|
[config.uuidKey]: getUUID(ctx, req),
|
|
71
71
|
};
|
|
72
72
|
|
|
@@ -89,9 +89,32 @@ export function getAutoAttributes<Req, Res>(
|
|
|
89
89
|
autoAttributes.path = urlObj.pathname;
|
|
90
90
|
autoAttributes.host = urlObj.host;
|
|
91
91
|
autoAttributes.query = urlObj.search;
|
|
92
|
+
autoAttributes = {...autoAttributes, ...getUtmAttributes(urlObj)};
|
|
92
93
|
} catch (e) {
|
|
93
94
|
// ignore
|
|
94
95
|
}
|
|
95
96
|
|
|
96
97
|
return autoAttributes;
|
|
97
98
|
}
|
|
99
|
+
|
|
100
|
+
function getUtmAttributes(urlObj: URL) {
|
|
101
|
+
// Store utm- params in sessionStorage for future page loads
|
|
102
|
+
let utms: Record<string, string> = {};
|
|
103
|
+
|
|
104
|
+
// Add utm params from querystring
|
|
105
|
+
if (location.search) {
|
|
106
|
+
const params = new URLSearchParams(urlObj.search);
|
|
107
|
+
["source", "medium", "campaign", "term", "content"].forEach((k) => {
|
|
108
|
+
// Querystring is in snake_case
|
|
109
|
+
const param = `utm_${k}`;
|
|
110
|
+
// Attribute keys are camelCase
|
|
111
|
+
const attr = `utm` + k[0].toUpperCase() + k.slice(1);
|
|
112
|
+
|
|
113
|
+
if (params.has(param)) {
|
|
114
|
+
utms[attr] = params.get(param) || "";
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return utms;
|
|
120
|
+
}
|
package/src/config.ts
CHANGED
|
@@ -135,10 +135,7 @@ export function getConfig(env: ConfigEnv): Config {
|
|
|
135
135
|
config.crypto = crypto;
|
|
136
136
|
|
|
137
137
|
// growthbook
|
|
138
|
-
config.apiHost = (env.GROWTHBOOK_API_HOST ?? "").replace(
|
|
139
|
-
/\/*$/,
|
|
140
|
-
"",
|
|
141
|
-
);
|
|
138
|
+
config.apiHost = (env.GROWTHBOOK_API_HOST ?? "").replace(/\/*$/, "");
|
|
142
139
|
config.clientKey = env.GROWTHBOOK_CLIENT_KEY ?? "";
|
|
143
140
|
"GROWTHBOOK_DECRYPTION_KEY" in env &&
|
|
144
141
|
(config.decryptionKey = env.GROWTHBOOK_DECRYPTION_KEY);
|
|
@@ -154,7 +151,7 @@ export function getConfig(env: ConfigEnv): Config {
|
|
|
154
151
|
config.persistUuid = ["true", "1"].includes(
|
|
155
152
|
env.PERSIST_UUID ?? "" + defaultContext.config.persistUuid,
|
|
156
153
|
);
|
|
157
|
-
config.
|
|
154
|
+
config.noAutoCookies = ["true", "1"].includes(
|
|
158
155
|
env.NO_AUTO_COOKIES ?? "" + defaultContext.config.noAutoCookies,
|
|
159
156
|
);
|
|
160
157
|
config.uuidCookieName =
|
package/src/inject.ts
CHANGED
|
@@ -62,7 +62,6 @@ export function injectScript({
|
|
|
62
62
|
trackingCallback?: string; // replaced by macro
|
|
63
63
|
payload?: FeatureApiResponse;
|
|
64
64
|
noStreaming?: boolean;
|
|
65
|
-
// todo: support noAutoCookies
|
|
66
65
|
} = {
|
|
67
66
|
uuidCookieName,
|
|
68
67
|
uuidKey,
|
|
@@ -88,7 +87,7 @@ export function injectScript({
|
|
|
88
87
|
stickyBucketAssignmentDocs: stickyAssignments,
|
|
89
88
|
};
|
|
90
89
|
if (trackingCallback) {
|
|
91
|
-
gbContext.trackingCallback =
|
|
90
|
+
gbContext.trackingCallback = "__TRACKING_CALLBACK__";
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
let scriptTag = `
|
|
@@ -99,9 +98,7 @@ export function injectScript({
|
|
|
99
98
|
? `\n data-decryption-key="${context.config.decryptionKey}"`
|
|
100
99
|
: ""
|
|
101
100
|
}${nonce ? `\n nonce="${nonce}"` : ""}${
|
|
102
|
-
context.config.noAutoCookies
|
|
103
|
-
? `\n data-no-auto-cookies="true"`
|
|
104
|
-
: ""
|
|
101
|
+
context.config.noAutoCookies ? `\n data-no-auto-cookies="true"` : ""
|
|
105
102
|
}
|
|
106
103
|
>
|
|
107
104
|
window.growthbook_config = ${JSON.stringify(gbContext)};
|
package/src/types.ts
CHANGED
|
@@ -66,7 +66,6 @@ export type ExperimentRunEnvironment =
|
|
|
66
66
|
| "skip";
|
|
67
67
|
|
|
68
68
|
export interface Helpers<Req, Res> {
|
|
69
|
-
// routing
|
|
70
69
|
getRequestURL?: (req: Req) => string;
|
|
71
70
|
getRequestMethod?: (req: Req) => string;
|
|
72
71
|
getRequestHeader?: (req: Req, key: string) => string | undefined;
|