@cedarjs/internal 5.0.0-rc.261 → 5.0.0-rc.280

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.
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/build/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAe,MAAM,SAAS,CAAA;AAetE,eAAO,MAAM,QAAQ,4DAIpB,CAAA;AAED,eAAO,MAAM,UAAU,4DAStB,CAAA;AAED,eAAO,MAAM,aAAa,qBAGzB,CAAA;AA0ED,eAAO,MAAM,gBAAgB,iHAqD5B,CAAA;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAoDf"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/build/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAe,MAAM,SAAS,CAAA;AAiBtE,eAAO,MAAM,QAAQ,4DAIpB,CAAA;AAED,eAAO,MAAM,UAAU,4DAStB,CAAA;AAED,eAAO,MAAM,aAAa,qBAGzB,CAAA;AA8FD,eAAO,MAAM,gBAAgB,iHAqD5B,CAAA;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAoDf"}
package/dist/build/api.js CHANGED
@@ -8,6 +8,7 @@ import {
8
8
  } from "@cedarjs/babel-config";
9
9
  import { getConfig, getPaths, projectSideIsEsm } from "@cedarjs/project-config";
10
10
  import { findApiFiles } from "../files.js";
11
+ import { applyContextWrapping } from "./esbuild-plugin-cedar-context-wrapping.js";
11
12
  let BUILD_CTX = null;
12
13
  const buildApi = async () => {
13
14
  BUILD_CTX?.dispose();
@@ -43,8 +44,14 @@ const runCedarBabelTransformsPlugin = {
43
44
  })
44
45
  );
45
46
  if (transformedCode?.code) {
47
+ const functionsDir = normalizePath(
48
+ path.join(getPaths().api.src, "functions")
49
+ );
50
+ const code = normalizePath(args.path).startsWith(functionsDir + "/") ? applyContextWrapping(transformedCode.code, {
51
+ projectIsEsm: projectSideIsEsm("api")
52
+ }) ?? transformedCode.code : transformedCode.code;
46
53
  return {
47
- contents: transformedCode.code,
54
+ contents: code,
48
55
  loader: "js"
49
56
  };
50
57
  }
@@ -79,8 +86,14 @@ function createCedarViteApiPlugin() {
79
86
  true
80
87
  );
81
88
  if (transformedCode?.code) {
89
+ const functionsDir = normalizePath(
90
+ path.join(cedarPaths.api.src, "functions")
91
+ );
92
+ const code2 = normalizePath(id).startsWith(functionsDir + "/") ? applyContextWrapping(transformedCode.code, {
93
+ projectIsEsm: isEsm
94
+ }) ?? transformedCode.code : transformedCode.code;
82
95
  return {
83
- code: transformedCode.code,
96
+ code: code2,
84
97
  map: transformedCode.map ?? null
85
98
  };
86
99
  }
@@ -0,0 +1,4 @@
1
+ export declare function applyContextWrapping(code: string, { projectIsEsm }?: {
2
+ projectIsEsm?: boolean;
3
+ }): string | null;
4
+ //# sourceMappingURL=esbuild-plugin-cedar-context-wrapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-plugin-cedar-context-wrapping.d.ts","sourceRoot":"","sources":["../../src/build/esbuild-plugin-cedar-context-wrapping.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,YAAoB,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACxD,MAAM,GAAG,IAAI,CA0Cf"}
@@ -0,0 +1,35 @@
1
+ function applyContextWrapping(code, { projectIsEsm = false } = {}) {
2
+ const handlerRe = /^export\s+(?:const|let|var)\s+handler(?:[^=]|=>)*?=(?![>=])/m;
3
+ const handlerMatch = handlerRe.exec(code);
4
+ if (!handlerMatch) {
5
+ return null;
6
+ }
7
+ const afterEquals = code.slice(handlerMatch.index + handlerMatch[0].length).trimStart();
8
+ const isAsync = /^async(?:\s*[\(\*]|\s+function)/.test(afterEquals);
9
+ const storePath = projectIsEsm ? "@cedarjs/context/dist/store.js" : "@cedarjs/context/dist/store";
10
+ const importStatement = `import { getAsyncStoreInstance as __rw_getAsyncStoreInstance } from '${storePath}'
11
+ `;
12
+ const handlerStart = handlerMatch.index;
13
+ const before = code.slice(0, handlerStart);
14
+ const after = code.slice(handlerStart);
15
+ const renamed = after.replace(handlerRe, "const __rw_handler =");
16
+ const wrappedHandler = `
17
+ export const handler = ${isAsync ? "async " : ""}(__rw_event, __rw__context) => {
18
+ // The store will be undefined if no context isolation has been performed yet
19
+ const __rw_contextStore = __rw_getAsyncStoreInstance().getStore()
20
+ if (__rw_contextStore === undefined) {
21
+ return __rw_getAsyncStoreInstance().run(
22
+ new Map(),
23
+ __rw_handler,
24
+ __rw_event,
25
+ __rw__context
26
+ )
27
+ }
28
+ return __rw_handler(__rw_event, __rw__context)
29
+ }
30
+ `;
31
+ return before + importStatement + renamed + wrappedHandler;
32
+ }
33
+ export {
34
+ applyContextWrapping
35
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/build/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAe,MAAM,SAAS,CAAA;AAetE,eAAO,MAAM,QAAQ,4DAIpB,CAAA;AAED,eAAO,MAAM,UAAU,4DAStB,CAAA;AAED,eAAO,MAAM,aAAa,qBAGzB,CAAA;AA0ED,eAAO,MAAM,gBAAgB,iHAqD5B,CAAA;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAoDf"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/build/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAe,MAAM,SAAS,CAAA;AAiBtE,eAAO,MAAM,QAAQ,4DAIpB,CAAA;AAED,eAAO,MAAM,UAAU,4DAStB,CAAA;AAED,eAAO,MAAM,aAAa,qBAGzB,CAAA;AA8FD,eAAO,MAAM,gBAAgB,iHAqD5B,CAAA;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -42,6 +42,7 @@ var import_vite = require("vite");
42
42
  var import_babel_config = require("@cedarjs/babel-config");
43
43
  var import_project_config = require("@cedarjs/project-config");
44
44
  var import_files = require("../files.js");
45
+ var import_esbuild_plugin_cedar_context_wrapping = require("./esbuild-plugin-cedar-context-wrapping.js");
45
46
  let BUILD_CTX = null;
46
47
  const buildApi = async () => {
47
48
  BUILD_CTX?.dispose();
@@ -77,8 +78,14 @@ const runCedarBabelTransformsPlugin = {
77
78
  })
78
79
  );
79
80
  if (transformedCode?.code) {
81
+ const functionsDir = (0, import_vite.normalizePath)(
82
+ import_node_path.default.join((0, import_project_config.getPaths)().api.src, "functions")
83
+ );
84
+ const code = (0, import_vite.normalizePath)(args.path).startsWith(functionsDir + "/") ? (0, import_esbuild_plugin_cedar_context_wrapping.applyContextWrapping)(transformedCode.code, {
85
+ projectIsEsm: (0, import_project_config.projectSideIsEsm)("api")
86
+ }) ?? transformedCode.code : transformedCode.code;
80
87
  return {
81
- contents: transformedCode.code,
88
+ contents: code,
82
89
  loader: "js"
83
90
  };
84
91
  }
@@ -113,8 +120,14 @@ function createCedarViteApiPlugin() {
113
120
  true
114
121
  );
115
122
  if (transformedCode?.code) {
123
+ const functionsDir = (0, import_vite.normalizePath)(
124
+ import_node_path.default.join(cedarPaths.api.src, "functions")
125
+ );
126
+ const code2 = (0, import_vite.normalizePath)(id).startsWith(functionsDir + "/") ? (0, import_esbuild_plugin_cedar_context_wrapping.applyContextWrapping)(transformedCode.code, {
127
+ projectIsEsm: isEsm
128
+ }) ?? transformedCode.code : transformedCode.code;
116
129
  return {
117
- code: transformedCode.code,
130
+ code: code2,
118
131
  map: transformedCode.map ?? null
119
132
  };
120
133
  }
@@ -0,0 +1,4 @@
1
+ export declare function applyContextWrapping(code: string, { projectIsEsm }?: {
2
+ projectIsEsm?: boolean;
3
+ }): string | null;
4
+ //# sourceMappingURL=esbuild-plugin-cedar-context-wrapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-plugin-cedar-context-wrapping.d.ts","sourceRoot":"","sources":["../../../src/build/esbuild-plugin-cedar-context-wrapping.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,YAAoB,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACxD,MAAM,GAAG,IAAI,CA0Cf"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var esbuild_plugin_cedar_context_wrapping_exports = {};
20
+ __export(esbuild_plugin_cedar_context_wrapping_exports, {
21
+ applyContextWrapping: () => applyContextWrapping
22
+ });
23
+ module.exports = __toCommonJS(esbuild_plugin_cedar_context_wrapping_exports);
24
+ function applyContextWrapping(code, { projectIsEsm = false } = {}) {
25
+ const handlerRe = /^export\s+(?:const|let|var)\s+handler(?:[^=]|=>)*?=(?![>=])/m;
26
+ const handlerMatch = handlerRe.exec(code);
27
+ if (!handlerMatch) {
28
+ return null;
29
+ }
30
+ const afterEquals = code.slice(handlerMatch.index + handlerMatch[0].length).trimStart();
31
+ const isAsync = /^async(?:\s*[\(\*]|\s+function)/.test(afterEquals);
32
+ const storePath = projectIsEsm ? "@cedarjs/context/dist/store.js" : "@cedarjs/context/dist/store";
33
+ const importStatement = `import { getAsyncStoreInstance as __rw_getAsyncStoreInstance } from '${storePath}'
34
+ `;
35
+ const handlerStart = handlerMatch.index;
36
+ const before = code.slice(0, handlerStart);
37
+ const after = code.slice(handlerStart);
38
+ const renamed = after.replace(handlerRe, "const __rw_handler =");
39
+ const wrappedHandler = `
40
+ export const handler = ${isAsync ? "async " : ""}(__rw_event, __rw__context) => {
41
+ // The store will be undefined if no context isolation has been performed yet
42
+ const __rw_contextStore = __rw_getAsyncStoreInstance().getStore()
43
+ if (__rw_contextStore === undefined) {
44
+ return __rw_getAsyncStoreInstance().run(
45
+ new Map(),
46
+ __rw_handler,
47
+ __rw_event,
48
+ __rw__context
49
+ )
50
+ }
51
+ return __rw_handler(__rw_event, __rw__context)
52
+ }
53
+ `;
54
+ return before + importStatement + renamed + wrappedHandler;
55
+ }
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ applyContextWrapping
59
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedarjs/internal",
3
- "version": "5.0.0-rc.261",
3
+ "version": "5.0.0-rc.280",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -140,7 +140,7 @@
140
140
  "dist"
141
141
  ],
142
142
  "scripts": {
143
- "build": "tsx ./build.mts",
143
+ "build": "node ./build.mts",
144
144
  "build:clean-dist": "rimraf 'dist/**/*/__tests__' --glob",
145
145
  "build:pack": "yarn pack -o cedarjs-internal.tgz",
146
146
  "build:types": "tsc --build --verbose ./tsconfig.build.json",
@@ -159,13 +159,13 @@
159
159
  "@babel/plugin-transform-react-jsx": "7.29.7",
160
160
  "@babel/plugin-transform-typescript": "^7.26.8",
161
161
  "@babel/traverse": "7.29.7",
162
- "@cedarjs/babel-config": "5.0.0-rc.261",
163
- "@cedarjs/cli-helpers": "5.0.0-rc.261",
164
- "@cedarjs/graphql-server": "5.0.0-rc.261",
165
- "@cedarjs/project-config": "5.0.0-rc.261",
166
- "@cedarjs/router": "5.0.0-rc.261",
167
- "@cedarjs/structure": "5.0.0-rc.261",
168
- "@cedarjs/utils": "5.0.0-rc.261",
162
+ "@cedarjs/babel-config": "5.0.0-rc.280",
163
+ "@cedarjs/cli-helpers": "5.0.0-rc.280",
164
+ "@cedarjs/graphql-server": "5.0.0-rc.280",
165
+ "@cedarjs/project-config": "5.0.0-rc.280",
166
+ "@cedarjs/router": "5.0.0-rc.280",
167
+ "@cedarjs/structure": "5.0.0-rc.280",
168
+ "@cedarjs/utils": "5.0.0-rc.280",
169
169
  "@graphql-codegen/add": "6.0.1",
170
170
  "@graphql-codegen/cli": "6.3.1",
171
171
  "@graphql-codegen/client-preset": "5.3.0",
@@ -192,7 +192,7 @@
192
192
  "esbuild": "0.27.7",
193
193
  "execa": "5.1.1",
194
194
  "fast-glob": "3.3.3",
195
- "graphql": "16.13.2",
195
+ "graphql": "16.14.2",
196
196
  "kill-port": "1.6.1",
197
197
  "prettier": "3.8.4",
198
198
  "rimraf": "6.1.3",
@@ -206,11 +206,10 @@
206
206
  },
207
207
  "devDependencies": {
208
208
  "@arethetypeswrong/cli": "0.18.4",
209
- "@cedarjs/framework-tools": "5.0.0-rc.261",
209
+ "@cedarjs/framework-tools": "5.0.0-rc.280",
210
210
  "concurrently": "9.2.1",
211
211
  "graphql-tag": "2.12.6",
212
212
  "publint": "0.3.21",
213
- "tsx": "4.22.4",
214
213
  "vitest": "3.2.6"
215
214
  },
216
215
  "engines": {