@zuplo/cli 6.73.10 → 6.73.12

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.
Files changed (68) hide show
  1. package/dist/__tests__/integration/link.integration.test.js +12 -1
  2. package/dist/__tests__/integration/link.integration.test.js.map +1 -1
  3. package/dist/link/handler.d.ts.map +1 -1
  4. package/dist/link/handler.js +7 -0
  5. package/dist/link/handler.js.map +1 -1
  6. package/dist/link/project-type.d.ts +22 -0
  7. package/dist/link/project-type.d.ts.map +1 -0
  8. package/dist/link/project-type.js +140 -0
  9. package/dist/link/project-type.js.map +1 -0
  10. package/dist/link/project-type.test.d.ts +2 -0
  11. package/dist/link/project-type.test.d.ts.map +1 -0
  12. package/dist/link/project-type.test.js +225 -0
  13. package/dist/link/project-type.test.js.map +1 -0
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/README.md +1 -4
  16. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/types/jwks/remote.d.ts +3 -3
  17. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  18. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/key_to_jwk.js +4 -1
  19. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/package.json +1 -1
  20. package/node_modules/@posthog/core/dist/error-tracking/parsers/node.d.ts.map +1 -1
  21. package/node_modules/@posthog/core/dist/error-tracking/parsers/node.js +4 -0
  22. package/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs +4 -0
  23. package/node_modules/@posthog/core/dist/posthog-core.d.ts +5 -2
  24. package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
  25. package/node_modules/@posthog/core/dist/posthog-core.js +9 -3
  26. package/node_modules/@posthog/core/dist/posthog-core.mjs +9 -3
  27. package/node_modules/@posthog/core/dist/types.d.ts +4 -0
  28. package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
  29. package/node_modules/@posthog/core/package.json +2 -2
  30. package/node_modules/@posthog/core/src/error-tracking/parsers/node.spec.ts +19 -0
  31. package/node_modules/@posthog/core/src/error-tracking/parsers/node.ts +8 -0
  32. package/node_modules/@posthog/core/src/posthog-core.ts +10 -5
  33. package/node_modules/@posthog/core/src/types.ts +5 -0
  34. package/node_modules/@posthog/types/dist/feature-flags.d.ts +9 -0
  35. package/node_modules/@posthog/types/dist/feature-flags.d.ts.map +1 -1
  36. package/node_modules/@posthog/types/dist/index.d.ts +1 -1
  37. package/node_modules/@posthog/types/dist/index.d.ts.map +1 -1
  38. package/node_modules/@posthog/types/dist/posthog.d.ts +6 -2
  39. package/node_modules/@posthog/types/dist/posthog.d.ts.map +1 -1
  40. package/node_modules/@posthog/types/package.json +1 -1
  41. package/node_modules/@posthog/types/src/feature-flags.ts +10 -0
  42. package/node_modules/@posthog/types/src/index.ts +1 -0
  43. package/node_modules/@posthog/types/src/posthog.ts +4 -1
  44. package/node_modules/@zuplo/core/package.json +1 -1
  45. package/node_modules/@zuplo/graphql/package.json +1 -1
  46. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  47. package/node_modules/@zuplo/otel/package.json +1 -1
  48. package/node_modules/@zuplo/runtime/out/esm/{chunk-7POELG2I.js → chunk-7Z5GGYF5.js} +3 -3
  49. package/node_modules/@zuplo/runtime/out/esm/chunk-7Z5GGYF5.js.map +1 -0
  50. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  51. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  52. package/node_modules/@zuplo/runtime/package.json +1 -1
  53. package/node_modules/brace-expansion/README.md +12 -0
  54. package/node_modules/brace-expansion/dist/commonjs/index.d.ts +2 -0
  55. package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
  56. package/node_modules/brace-expansion/dist/commonjs/index.js +138 -86
  57. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  58. package/node_modules/brace-expansion/dist/esm/index.d.ts +2 -0
  59. package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
  60. package/node_modules/brace-expansion/dist/esm/index.js +137 -85
  61. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  62. package/node_modules/brace-expansion/package.json +2 -2
  63. package/node_modules/media-typer/README.md +15 -14
  64. package/node_modules/media-typer/index.js +0 -8
  65. package/node_modules/media-typer/package.json +16 -12
  66. package/package.json +6 -6
  67. package/node_modules/@zuplo/runtime/out/esm/chunk-7POELG2I.js.map +0 -1
  68. /package/node_modules/@zuplo/runtime/out/esm/{chunk-7POELG2I.js.LEGAL.txt → chunk-7Z5GGYF5.js.LEGAL.txt} +0 -0
@@ -0,0 +1,225 @@
1
+ import assert from "node:assert";
2
+ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { afterEach, beforeEach, describe, it, mock } from "node:test";
6
+ import { detectProjectType, syncProjectTypeForLink, updateProjectType, } from "./project-type.js";
7
+ describe("link project type detection", () => {
8
+ let testDir;
9
+ beforeEach(async () => {
10
+ testDir = await mkdtemp(join(tmpdir(), "zuplo-dev-project-type-test-"));
11
+ });
12
+ afterEach(async () => {
13
+ mock.restoreAll();
14
+ await rm(testDir, { recursive: true, force: true });
15
+ });
16
+ it("detects a managed-dedicated project", async () => {
17
+ mock.method(globalThis, "fetch", async () => {
18
+ return Response.json({
19
+ data: [
20
+ { name: "other-project", type: "managed-edge" },
21
+ { name: "my-project", type: "managed-dedicated" },
22
+ ],
23
+ });
24
+ });
25
+ const result = await detectProjectType({
26
+ accountName: "my-account",
27
+ authToken: "token",
28
+ projectName: "my-project",
29
+ });
30
+ assert.strictEqual(result, "managed-dedicated");
31
+ });
32
+ it("uses the explicitly designated project when multiple projects exist", async () => {
33
+ mock.method(globalThis, "fetch", async () => {
34
+ return Response.json({
35
+ data: [
36
+ { name: "linked-project", type: "managed-dedicated" },
37
+ { name: "explicit-project", type: "managed-edge" },
38
+ ],
39
+ });
40
+ });
41
+ const result = await detectProjectType({
42
+ accountName: "my-account",
43
+ authToken: "token",
44
+ projectName: "explicit-project",
45
+ });
46
+ assert.strictEqual(result, "managed-edge");
47
+ });
48
+ it("defaults self-hosted and unknown project types to managed-edge", async () => {
49
+ mock.method(globalThis, "fetch", async () => {
50
+ return Response.json({
51
+ data: [{ name: "my-project", type: "self-hosted" }],
52
+ });
53
+ });
54
+ const result = await detectProjectType({
55
+ accountName: "my-account",
56
+ authToken: "token",
57
+ projectName: "my-project",
58
+ });
59
+ assert.strictEqual(result, "managed-edge");
60
+ });
61
+ it("defaults to managed-edge when running offline", async () => {
62
+ mock.method(globalThis, "fetch", async () => {
63
+ throw new Error("offline");
64
+ });
65
+ const result = await detectProjectType({
66
+ accountName: "my-account",
67
+ authToken: "token",
68
+ projectName: "my-project",
69
+ });
70
+ assert.strictEqual(result, "managed-edge");
71
+ });
72
+ it("resolves the account from who-am-i when it is not supplied", async () => {
73
+ const requests = [];
74
+ mock.method(globalThis, "fetch", async (input) => {
75
+ requests.push(String(input));
76
+ if (String(input).endsWith("/v1/who-am-i")) {
77
+ return Response.json({ account: "resolved-account" });
78
+ }
79
+ return Response.json({
80
+ data: [{ name: "my-project", type: "managed-dedicated" }],
81
+ });
82
+ });
83
+ const result = await detectProjectType({
84
+ authToken: "token",
85
+ projectName: "my-project",
86
+ });
87
+ assert.strictEqual(result, "managed-dedicated");
88
+ assert.strictEqual(requests.length, 2);
89
+ assert.match(requests[1], /accountName=resolved-account/);
90
+ });
91
+ it("does not overwrite an existing projectType", async () => {
92
+ const configPath = join(testDir, "zuplo.jsonc");
93
+ await writeFile(configPath, `{
94
+ // Keep this comment.
95
+ "version": 1,
96
+ "projectType": "managed-edge"
97
+ }
98
+ `, "utf-8");
99
+ await updateProjectType(testDir, "managed-dedicated");
100
+ const contents = await readFile(configPath, "utf-8");
101
+ assert.match(contents, /Keep this comment/);
102
+ assert.match(contents, /"projectType": "managed-edge"/);
103
+ });
104
+ it("adds projectType when it is missing", async () => {
105
+ const configPath = join(testDir, "zuplo.jsonc");
106
+ await writeFile(configPath, `{
107
+ // Keep this comment.
108
+ "version": 1
109
+ }
110
+ `, "utf-8");
111
+ await updateProjectType(testDir, "managed-dedicated");
112
+ const contents = await readFile(configPath, "utf-8");
113
+ assert.match(contents, /Keep this comment/);
114
+ assert.match(contents, /"version": 1,/);
115
+ assert.match(contents, /"projectType": "managed-dedicated"/);
116
+ });
117
+ it("skips detection when projectType is already configured", async () => {
118
+ const configPath = join(testDir, "zuplo.jsonc");
119
+ await writeFile(configPath, `{
120
+ "version": 1,
121
+ "projectType": "managed-dedicated"
122
+ }
123
+ `, "utf-8");
124
+ const fetchMock = mock.method(globalThis, "fetch", async () => {
125
+ throw new Error("Project type detection should not run");
126
+ });
127
+ await syncProjectTypeForLink({
128
+ sourceDirectory: testDir,
129
+ accountName: "my-account",
130
+ authToken: "token",
131
+ projectName: "my-project",
132
+ });
133
+ const contents = await readFile(configPath, "utf-8");
134
+ assert.match(contents, /"projectType": "managed-dedicated"/);
135
+ assert.strictEqual(fetchMock.mock.callCount(), 0);
136
+ });
137
+ it("recognizes projectType in JSONC with a trailing comma", async () => {
138
+ const configPath = join(testDir, "zuplo.jsonc");
139
+ const originalContents = `{
140
+ "version": 1,
141
+ "projectType": "managed-dedicated",
142
+ }
143
+ `;
144
+ await writeFile(configPath, originalContents, "utf-8");
145
+ const fetchMock = mock.method(globalThis, "fetch", async () => {
146
+ throw new Error("Project type detection should not run");
147
+ });
148
+ await syncProjectTypeForLink({
149
+ sourceDirectory: testDir,
150
+ accountName: "my-account",
151
+ authToken: "token",
152
+ projectName: "my-project",
153
+ });
154
+ assert.strictEqual(await readFile(configPath, "utf-8"), originalContents);
155
+ assert.strictEqual(fetchMock.mock.callCount(), 0);
156
+ });
157
+ it("persists a project type confirmed by the API", async () => {
158
+ const configPath = join(testDir, "zuplo.jsonc");
159
+ await writeFile(configPath, '{\n "version": 1\n}\n', "utf-8");
160
+ mock.method(globalThis, "fetch", async () => {
161
+ return Response.json({
162
+ data: [{ name: "my-project", type: "managed-edge" }],
163
+ });
164
+ });
165
+ await syncProjectTypeForLink({
166
+ sourceDirectory: testDir,
167
+ accountName: "my-account",
168
+ authToken: "token",
169
+ projectName: "my-project",
170
+ });
171
+ const contents = await readFile(configPath, "utf-8");
172
+ assert.match(contents, /"projectType": "managed-edge"/);
173
+ });
174
+ it("does not persist the managed-edge fallback when detection fails", async () => {
175
+ const configPath = join(testDir, "zuplo.jsonc");
176
+ const originalContents = '{\n "version": 1\n}\n';
177
+ await writeFile(configPath, originalContents, "utf-8");
178
+ mock.method(globalThis, "fetch", async () => {
179
+ throw new Error("offline");
180
+ });
181
+ await syncProjectTypeForLink({
182
+ sourceDirectory: testDir,
183
+ accountName: "my-account",
184
+ authToken: "token",
185
+ projectName: "my-project",
186
+ });
187
+ assert.strictEqual(await readFile(configPath, "utf-8"), originalContents);
188
+ });
189
+ it("does not persist a fallback for an unrecognized API project type", async () => {
190
+ const configPath = join(testDir, "zuplo.jsonc");
191
+ const originalContents = '{\n "version": 1\n}\n';
192
+ await writeFile(configPath, originalContents, "utf-8");
193
+ mock.method(globalThis, "fetch", async () => {
194
+ return Response.json({
195
+ data: [{ name: "my-project", type: "self-hosted" }],
196
+ });
197
+ });
198
+ await syncProjectTypeForLink({
199
+ sourceDirectory: testDir,
200
+ accountName: "my-account",
201
+ authToken: "token",
202
+ projectName: "my-project",
203
+ });
204
+ assert.strictEqual(await readFile(configPath, "utf-8"), originalContents);
205
+ });
206
+ it("does not modify malformed JSONC", async () => {
207
+ const configPath = join(testDir, "zuplo.jsonc");
208
+ const originalContents = `{
209
+ "version": 1,
210
+ `;
211
+ await writeFile(configPath, originalContents, "utf-8");
212
+ const fetchMock = mock.method(globalThis, "fetch", async () => {
213
+ throw new Error("Project type detection should not run");
214
+ });
215
+ await syncProjectTypeForLink({
216
+ sourceDirectory: testDir,
217
+ accountName: "my-account",
218
+ authToken: "token",
219
+ projectName: "my-project",
220
+ });
221
+ assert.strictEqual(await readFile(configPath, "utf-8"), originalContents);
222
+ assert.strictEqual(fetchMock.mock.callCount(), 0);
223
+ });
224
+ });
225
+ //# sourceMappingURL=project-type.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-type.test.js","sourceRoot":"","sources":["../../src/link/project-type.test.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from \"node:assert\";\nimport { mkdtemp, readFile, rm, writeFile } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { afterEach, beforeEach, describe, it, mock } from \"node:test\";\nimport {\n detectProjectType,\n syncProjectTypeForLink,\n updateProjectType,\n} from \"./project-type.js\";\n\ndescribe(\"link project type detection\", () => {\n let testDir: string;\n\n beforeEach(async () => {\n testDir = await mkdtemp(join(tmpdir(), \"zuplo-dev-project-type-test-\"));\n });\n\n afterEach(async () => {\n mock.restoreAll();\n await rm(testDir, { recursive: true, force: true });\n });\n\n it(\"detects a managed-dedicated project\", async () => {\n mock.method(globalThis, \"fetch\", async () => {\n return Response.json({\n data: [\n { name: \"other-project\", type: \"managed-edge\" },\n { name: \"my-project\", type: \"managed-dedicated\" },\n ],\n });\n });\n\n const result = await detectProjectType({\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(result, \"managed-dedicated\");\n });\n\n it(\"uses the explicitly designated project when multiple projects exist\", async () => {\n mock.method(globalThis, \"fetch\", async () => {\n return Response.json({\n data: [\n { name: \"linked-project\", type: \"managed-dedicated\" },\n { name: \"explicit-project\", type: \"managed-edge\" },\n ],\n });\n });\n\n const result = await detectProjectType({\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"explicit-project\",\n });\n\n assert.strictEqual(result, \"managed-edge\");\n });\n\n it(\"defaults self-hosted and unknown project types to managed-edge\", async () => {\n mock.method(globalThis, \"fetch\", async () => {\n return Response.json({\n data: [{ name: \"my-project\", type: \"self-hosted\" }],\n });\n });\n\n const result = await detectProjectType({\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(result, \"managed-edge\");\n });\n\n it(\"defaults to managed-edge when running offline\", async () => {\n mock.method(globalThis, \"fetch\", async () => {\n throw new Error(\"offline\");\n });\n\n const result = await detectProjectType({\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(result, \"managed-edge\");\n });\n\n it(\"resolves the account from who-am-i when it is not supplied\", async () => {\n const requests: string[] = [];\n mock.method(globalThis, \"fetch\", async (input: string | URL | Request) => {\n requests.push(String(input));\n if (String(input).endsWith(\"/v1/who-am-i\")) {\n return Response.json({ account: \"resolved-account\" });\n }\n return Response.json({\n data: [{ name: \"my-project\", type: \"managed-dedicated\" }],\n });\n });\n\n const result = await detectProjectType({\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(result, \"managed-dedicated\");\n assert.strictEqual(requests.length, 2);\n assert.match(requests[1], /accountName=resolved-account/);\n });\n\n it(\"does not overwrite an existing projectType\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n await writeFile(\n configPath,\n `{\n // Keep this comment.\n \"version\": 1,\n \"projectType\": \"managed-edge\"\n}\n`,\n \"utf-8\"\n );\n\n await updateProjectType(testDir, \"managed-dedicated\");\n\n const contents = await readFile(configPath, \"utf-8\");\n assert.match(contents, /Keep this comment/);\n assert.match(contents, /\"projectType\": \"managed-edge\"/);\n });\n\n it(\"adds projectType when it is missing\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n await writeFile(\n configPath,\n `{\n // Keep this comment.\n \"version\": 1\n}\n`,\n \"utf-8\"\n );\n\n await updateProjectType(testDir, \"managed-dedicated\");\n\n const contents = await readFile(configPath, \"utf-8\");\n assert.match(contents, /Keep this comment/);\n assert.match(contents, /\"version\": 1,/);\n assert.match(contents, /\"projectType\": \"managed-dedicated\"/);\n });\n\n it(\"skips detection when projectType is already configured\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n await writeFile(\n configPath,\n `{\n \"version\": 1,\n \"projectType\": \"managed-dedicated\"\n}\n`,\n \"utf-8\"\n );\n const fetchMock = mock.method(globalThis, \"fetch\", async () => {\n throw new Error(\"Project type detection should not run\");\n });\n\n await syncProjectTypeForLink({\n sourceDirectory: testDir,\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n const contents = await readFile(configPath, \"utf-8\");\n assert.match(contents, /\"projectType\": \"managed-dedicated\"/);\n assert.strictEqual(fetchMock.mock.callCount(), 0);\n });\n\n it(\"recognizes projectType in JSONC with a trailing comma\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n const originalContents = `{\n \"version\": 1,\n \"projectType\": \"managed-dedicated\",\n}\n`;\n await writeFile(configPath, originalContents, \"utf-8\");\n const fetchMock = mock.method(globalThis, \"fetch\", async () => {\n throw new Error(\"Project type detection should not run\");\n });\n\n await syncProjectTypeForLink({\n sourceDirectory: testDir,\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(await readFile(configPath, \"utf-8\"), originalContents);\n assert.strictEqual(fetchMock.mock.callCount(), 0);\n });\n\n it(\"persists a project type confirmed by the API\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n await writeFile(configPath, '{\\n \"version\": 1\\n}\\n', \"utf-8\");\n mock.method(globalThis, \"fetch\", async () => {\n return Response.json({\n data: [{ name: \"my-project\", type: \"managed-edge\" }],\n });\n });\n\n await syncProjectTypeForLink({\n sourceDirectory: testDir,\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n const contents = await readFile(configPath, \"utf-8\");\n assert.match(contents, /\"projectType\": \"managed-edge\"/);\n });\n\n it(\"does not persist the managed-edge fallback when detection fails\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n const originalContents = '{\\n \"version\": 1\\n}\\n';\n await writeFile(configPath, originalContents, \"utf-8\");\n mock.method(globalThis, \"fetch\", async () => {\n throw new Error(\"offline\");\n });\n\n await syncProjectTypeForLink({\n sourceDirectory: testDir,\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(await readFile(configPath, \"utf-8\"), originalContents);\n });\n\n it(\"does not persist a fallback for an unrecognized API project type\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n const originalContents = '{\\n \"version\": 1\\n}\\n';\n await writeFile(configPath, originalContents, \"utf-8\");\n mock.method(globalThis, \"fetch\", async () => {\n return Response.json({\n data: [{ name: \"my-project\", type: \"self-hosted\" }],\n });\n });\n\n await syncProjectTypeForLink({\n sourceDirectory: testDir,\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(await readFile(configPath, \"utf-8\"), originalContents);\n });\n\n it(\"does not modify malformed JSONC\", async () => {\n const configPath = join(testDir, \"zuplo.jsonc\");\n const originalContents = `{\n \"version\": 1,\n`;\n await writeFile(configPath, originalContents, \"utf-8\");\n const fetchMock = mock.method(globalThis, \"fetch\", async () => {\n throw new Error(\"Project type detection should not run\");\n });\n\n await syncProjectTypeForLink({\n sourceDirectory: testDir,\n accountName: \"my-account\",\n authToken: \"token\",\n projectName: \"my-project\",\n });\n\n assert.strictEqual(await readFile(configPath, \"utf-8\"), originalContents);\n assert.strictEqual(fetchMock.mock.callCount(), 0);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/confirm-linked-config.integration.test.ts","../src/__tests__/integration/confirm-production-deploy.integration.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/info.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/bucket/models.ts","../src/bucket/list/handler.ts","../src/build/handler.ts","../src/ca-certificate/models.ts","../src/ca-certificate/validation.test.ts","../src/ca-certificate/validation.ts","../src/ca-certificate/create/handler.ts","../src/ca-certificate/delete/handler.ts","../src/ca-certificate/describe/handler.ts","../src/ca-certificate/list/handler.ts","../src/ca-certificate/update/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/info.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/logout.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/bucket/index.ts","../src/cmds/bucket/list.ts","../src/cmds/ca-certificate/create.ts","../src/cmds/ca-certificate/delete.ts","../src/cmds/ca-certificate/describe.ts","../src/cmds/ca-certificate/index.ts","../src/cmds/ca-certificate/list.ts","../src/cmds/ca-certificate/update.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/project/info.ts","../src/cmds/project/list.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/cli-dispatcher.test.ts","../src/common/cli-dispatcher.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/cli-invocation.test.ts","../src/common/analytics/cli-invocation.ts","../src/common/analytics/lib.ts","../src/common/analytics/package-manager.test.ts","../src/common/analytics/package-manager.ts","../src/common/api/client.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/check-pnpm-lifecycle.test.ts","../src/common/middleware/check-pnpm-lifecycle.ts","../src/common/middleware/confirm-linked-config.ts","../src/common/middleware/confirm-production-deploy.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.test.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/build-environment-prompt-choices.test.ts","../src/common/utils/build-environment-prompt-choices.ts","../src/common/utils/format-environment-type.test.ts","../src/common/utils/format-environment-type.ts","../src/common/utils/pnpm-lifecycle.test.ts","../src/common/utils/pnpm-lifecycle.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/sort-environments-for-prompt.test.ts","../src/common/utils/sort-environments-for-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/logout.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/project/info/handler.ts","../src/project/list/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
1
+ {"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/confirm-linked-config.integration.test.ts","../src/__tests__/integration/confirm-production-deploy.integration.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/info.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/bucket/models.ts","../src/bucket/list/handler.ts","../src/build/handler.ts","../src/ca-certificate/models.ts","../src/ca-certificate/validation.test.ts","../src/ca-certificate/validation.ts","../src/ca-certificate/create/handler.ts","../src/ca-certificate/delete/handler.ts","../src/ca-certificate/describe/handler.ts","../src/ca-certificate/list/handler.ts","../src/ca-certificate/update/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/info.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/logout.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/bucket/index.ts","../src/cmds/bucket/list.ts","../src/cmds/ca-certificate/create.ts","../src/cmds/ca-certificate/delete.ts","../src/cmds/ca-certificate/describe.ts","../src/cmds/ca-certificate/index.ts","../src/cmds/ca-certificate/list.ts","../src/cmds/ca-certificate/update.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/project/info.ts","../src/cmds/project/list.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/cli-dispatcher.test.ts","../src/common/cli-dispatcher.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/cli-invocation.test.ts","../src/common/analytics/cli-invocation.ts","../src/common/analytics/lib.ts","../src/common/analytics/package-manager.test.ts","../src/common/analytics/package-manager.ts","../src/common/api/client.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/check-pnpm-lifecycle.test.ts","../src/common/middleware/check-pnpm-lifecycle.ts","../src/common/middleware/confirm-linked-config.ts","../src/common/middleware/confirm-production-deploy.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.test.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/build-environment-prompt-choices.test.ts","../src/common/utils/build-environment-prompt-choices.ts","../src/common/utils/format-environment-type.test.ts","../src/common/utils/format-environment-type.ts","../src/common/utils/pnpm-lifecycle.test.ts","../src/common/utils/pnpm-lifecycle.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/sort-environments-for-prompt.test.ts","../src/common/utils/sort-environments-for-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/link/project-type.test.ts","../src/link/project-type.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/logout.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/project/info/handler.ts","../src/project/list/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
@@ -118,9 +118,6 @@ Please note that certain algorithms may not be available depending on the runtim
118
118
  | Version | Security Fixes 🔑 | Other Bug Fixes 🐞 | New Features ⭐ | Runtime and Module type |
119
119
  | ----------------------------------------------- | ----------------- | ------------------ | --------------- | ------------------------------- |
120
120
  | [v6.x](https://github.com/panva/jose/tree/v6.x) | [Security Policy] | ✅ | ✅ | Universal[^universal] ESM[^cjs] |
121
- | [v5.x](https://github.com/panva/jose/tree/v5.x) | [Security Policy] | ❌ | ❌ | Universal[^universal] CJS + ESM |
122
- | [v4.x](https://github.com/panva/jose/tree/v4.x) | [Security Policy] | ❌ | ❌ | Universal[^universal] CJS + ESM |
123
- | [v2.x](https://github.com/panva/jose/tree/v2.x) | [Security Policy] | ❌ | ❌ | Node.js CJS |
124
121
 
125
122
  ## Specifications
126
123
 
@@ -137,7 +134,7 @@ Please note that certain algorithms may not be available depending on the runtim
137
134
  - JWS Unencoded Payload Option - [RFC7797](https://www.rfc-editor.org/rfc/rfc7797)
138
135
  - CFRG Elliptic Curve ECDH and Signatures - [RFC8037](https://www.rfc-editor.org/rfc/rfc8037)
139
136
  - Fully-Specified Algorithms for JOSE - [RFC9864](https://www.rfc-editor.org/rfc/rfc9864.html)
140
- - ML-DSA for JOSE - [draft-ietf-cose-dilithium-10](https://www.ietf.org/archive/id/draft-ietf-cose-dilithium-10.html)
137
+ - ML-DSA for JOSE - [RFC9964](https://www.rfc-editor.org/rfc/rfc9964.html)
141
138
 
142
139
  The algorithm implementations in `jose` have been tested using test vectors from their respective specifications as well as [RFC7520](https://www.rfc-editor.org/rfc/rfc7520).
143
140
 
@@ -45,7 +45,7 @@ import type * as types from '../types.d.ts';
45
45
  *
46
46
  * import * as undici from 'undici'
47
47
  *
48
- * // see https://undici.nodejs.org/#/docs/api/EnvHttpProxyAgent
48
+ * // see https://undici.nodejs.org/api/EnvHttpProxyAgent
49
49
  * let envHttpProxyAgent = new undici.EnvHttpProxyAgent()
50
50
  *
51
51
  * // @ts-ignore
@@ -59,7 +59,7 @@ import type * as types from '../types.d.ts';
59
59
  *
60
60
  * import * as undici from 'undici'
61
61
  *
62
- * // see https://undici.nodejs.org/#/docs/api/RetryAgent
62
+ * // see https://undici.nodejs.org/api/RetryAgent
63
63
  * let retryAgent = new undici.RetryAgent(new undici.Agent(), {
64
64
  * statusCodes: [],
65
65
  * errorCodes: [
@@ -84,7 +84,7 @@ import type * as types from '../types.d.ts';
84
84
  *
85
85
  * import * as undici from 'undici'
86
86
  *
87
- * // see https://undici.nodejs.org/#/docs/api/MockAgent
87
+ * // see https://undici.nodejs.org/api/MockAgent
88
88
  * let mockAgent = new undici.MockAgent()
89
89
  * mockAgent.disableNetConnect()
90
90
  *
@@ -9,7 +9,7 @@ function isCloudflareWorkers() {
9
9
  let USER_AGENT;
10
10
  if (typeof navigator === 'undefined' || !navigator.userAgent?.startsWith?.('Mozilla/5.0 ')) {
11
11
  const NAME = 'jose';
12
- const VERSION = 'v6.2.3';
12
+ const VERSION = 'v6.2.4';
13
13
  USER_AGENT = `${NAME}/${VERSION}`;
14
14
  }
15
15
  export const customFetch = Symbol();
@@ -1,6 +1,9 @@
1
1
  import { invalidKeyInput } from './invalid_key_input.js';
2
2
  import { encode as b64u } from '../util/base64url.js';
3
3
  import { isCryptoKey, isKeyObject } from './is_key_like.js';
4
+ function omitUndefinedProperties(jwk) {
5
+ return Object.fromEntries(Object.entries(jwk).filter(([, value]) => value !== undefined));
6
+ }
4
7
  export async function keyToJWK(key) {
5
8
  if (isKeyObject(key)) {
6
9
  if (key.type === 'secret') {
@@ -22,7 +25,7 @@ export async function keyToJWK(key) {
22
25
  if (!key.extractable) {
23
26
  throw new TypeError('non-extractable CryptoKey cannot be exported as a JWK');
24
27
  }
25
- const { ext, key_ops, alg, use, ...jwk } = await crypto.subtle.exportKey('jwk', key);
28
+ const { ext, key_ops, alg, use, ...jwk } = omitUndefinedProperties(await crypto.subtle.exportKey('jwk', key));
26
29
  if (jwk.kty === 'AKP') {
27
30
  ;
28
31
  jwk.alg = alg;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jose",
3
- "version": "6.2.3",
3
+ "version": "6.2.4",
4
4
  "description": "JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes",
5
5
  "keywords": [
6
6
  "akp",
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/parsers/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAA;AAOpD,eAAO,MAAM,mBAAmB,EAAE,eA4EjC,CAAA"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/error-tracking/parsers/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAA;AAUpD,eAAO,MAAM,mBAAmB,EAAE,eAiFjC,CAAA"}
@@ -29,6 +29,9 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  const external_base_js_namespaceObject = require("./base.js");
30
30
  const FILENAME_MATCH = /^\s*[-]{4,}$/;
31
31
  const FULL_MATCH = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
32
+ const PROMISE_COMBINATOR = /^Promise\.(?:all|any)$/;
33
+ const PROMISE_INDEX = /^index \d+$/;
34
+ const PROMISE_FRAME_FILENAME = 'node:internal/promise';
32
35
  const nodeStackLineParser = (line, platform)=>{
33
36
  const lineMatch = line.match(FULL_MATCH);
34
37
  if (lineMatch) {
@@ -68,6 +71,7 @@ const nodeStackLineParser = (line, platform)=>{
68
71
  const isNative = 'native' === lineMatch[5];
69
72
  if (filename?.match(/\/[A-Z]:/)) filename = filename.slice(1);
70
73
  if (!filename && lineMatch[5] && !isNative) filename = lineMatch[5];
74
+ if (PROMISE_COMBINATOR.test(functionName) && PROMISE_INDEX.test(filename || '')) filename = PROMISE_FRAME_FILENAME;
71
75
  return {
72
76
  filename: filename ? decodeURI(filename) : void 0,
73
77
  module: void 0,
@@ -1,6 +1,9 @@
1
1
  import { UNKNOWN_FUNCTION } from "./base.mjs";
2
2
  const FILENAME_MATCH = /^\s*[-]{4,}$/;
3
3
  const FULL_MATCH = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
4
+ const PROMISE_COMBINATOR = /^Promise\.(?:all|any)$/;
5
+ const PROMISE_INDEX = /^index \d+$/;
6
+ const PROMISE_FRAME_FILENAME = 'node:internal/promise';
4
7
  const nodeStackLineParser = (line, platform)=>{
5
8
  const lineMatch = line.match(FULL_MATCH);
6
9
  if (lineMatch) {
@@ -40,6 +43,7 @@ const nodeStackLineParser = (line, platform)=>{
40
43
  const isNative = 'native' === lineMatch[5];
41
44
  if (filename?.match(/\/[A-Z]:/)) filename = filename.slice(1);
42
45
  if (!filename && lineMatch[5] && !isNative) filename = lineMatch[5];
46
+ if (PROMISE_COMBINATOR.test(functionName) && PROMISE_INDEX.test(filename || '')) filename = PROMISE_FRAME_FILENAME;
43
47
  return {
44
48
  filename: filename ? decodeURI(filename) : void 0,
45
49
  module: void 0,
@@ -1,4 +1,4 @@
1
- import type { PostHogAutocaptureElement, PostHogFlagsResponse, PostHogFeatureFlagsResponse, PostHogCoreOptions, PostHogEventProperties, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, FeatureFlagResult, FeatureFlagResultOptions, PostHogFeatureFlagDetails, PostHogGroupProperties } from './types';
1
+ import type { PostHogAutocaptureElement, PostHogFlagsResponse, PostHogFeatureFlagsResponse, PostHogCoreOptions, PostHogEventProperties, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, FeatureFlagResult, FeatureFlagResultOptions, IsFeatureEnabledOptions, PostHogFeatureFlagDetails, PostHogGroupProperties } from './types';
2
2
  import { PostHogPersistedProperty } from './types';
3
3
  import { PostHogCoreStateless } from './posthog-core-stateless';
4
4
  import { EventHint } from './error-tracking';
@@ -168,7 +168,10 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
168
168
  flags: PostHogFlagsResponse['featureFlags'] | undefined;
169
169
  payloads: PostHogFlagsResponse['featureFlagPayloads'] | undefined;
170
170
  };
171
- isFeatureEnabled(key: string, options?: FeatureFlagResultOptions): boolean | undefined;
171
+ isFeatureEnabled(key: string, options: IsFeatureEnabledOptions & {
172
+ defaultValue: boolean;
173
+ }): boolean;
174
+ isFeatureEnabled(key: string, options?: IsFeatureEnabledOptions): boolean | undefined;
172
175
  reloadFeatureFlags(options?: {
173
176
  cb?: (err?: Error, flags?: PostHogFlagsResponse['featureFlags']) => void;
174
177
  }): void;
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
@@ -666,9 +666,15 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
666
666
  };
667
667
  }
668
668
  isFeatureEnabled(key, options) {
669
- const response = this.getFeatureFlag(key, options);
670
- if (void 0 === response) return;
671
- return !!response;
669
+ if (options?.defaultValue === void 0) {
670
+ const response = this.getFeatureFlag(key, options);
671
+ return void 0 === response ? void 0 : !!response;
672
+ }
673
+ const result = this._getFeatureFlagResult(key, {
674
+ sendEvent: options.sendEvent
675
+ });
676
+ const value = result?.variant ?? result?.enabled;
677
+ return void 0 === value ? options.defaultValue : !!value;
672
678
  }
673
679
  reloadFeatureFlags(options) {
674
680
  if (this.disableRemoteFeatureFlags && !this.disabled) return void this._initPromise.then(()=>options?.cb?.(void 0, this.getFeatureFlags()));
@@ -638,9 +638,15 @@ class PostHogCore extends PostHogCoreStateless {
638
638
  };
639
639
  }
640
640
  isFeatureEnabled(key, options) {
641
- const response = this.getFeatureFlag(key, options);
642
- if (void 0 === response) return;
643
- return !!response;
641
+ if (options?.defaultValue === void 0) {
642
+ const response = this.getFeatureFlag(key, options);
643
+ return void 0 === response ? void 0 : !!response;
644
+ }
645
+ const result = this._getFeatureFlagResult(key, {
646
+ sendEvent: options.sendEvent
647
+ });
648
+ const value = result?.variant ?? result?.enabled;
649
+ return void 0 === value ? options.defaultValue : !!value;
644
650
  }
645
651
  reloadFeatureFlags(options) {
646
652
  if (this.disableRemoteFeatureFlags && !this.disabled) return void this._initPromise.then(()=>options?.cb?.(void 0, this.getFeatureFlags()));
@@ -392,6 +392,10 @@ export type FeatureFlagResultOptions = {
392
392
  /** Whether to send a $feature_flag_called event. Defaults to true. */
393
393
  sendEvent?: boolean;
394
394
  };
395
+ export type IsFeatureEnabledOptions = FeatureFlagResultOptions & {
396
+ /** Value to return when the flag has no value, e.g. flags have not loaded yet or no flag with that key exists. */
397
+ defaultValue?: boolean;
398
+ };
395
399
  export type PostHogFlagsResponse = Omit<PostHogRemoteConfig, 'hasFeatureFlags'> & {
396
400
  featureFlags: {
397
401
  [key: string]: FeatureFlagValue;