@base44/functions-compiler 0.1.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 +137 -0
- package/lib/dist/activation-shim.mjs +237 -0
- package/lib/dist/actor.mjs +1129 -0
- package/lib/dist/deno-shim.mjs +2347 -0
- package/lib/src/actor-compat.d.ts +24 -0
- package/lib/src/actor-compat.js +302 -0
- package/lib/src/actor-compat.js.map +1 -0
- package/lib/src/bundler.d.ts +51 -0
- package/lib/src/bundler.js +321 -0
- package/lib/src/bundler.js.map +1 -0
- package/lib/src/contracts.d.ts +108 -0
- package/lib/src/contracts.js +39 -0
- package/lib/src/contracts.js.map +1 -0
- package/lib/src/deno-bundle.d.ts +30 -0
- package/lib/src/deno-bundle.js +146 -0
- package/lib/src/deno-bundle.js.map +1 -0
- package/lib/src/errors.d.ts +16 -0
- package/lib/src/errors.js +11 -0
- package/lib/src/errors.js.map +1 -0
- package/lib/src/esbuild/deno-resolver.d.ts +26 -0
- package/lib/src/esbuild/deno-resolver.js +436 -0
- package/lib/src/esbuild/deno-resolver.js.map +1 -0
- package/lib/src/esbuild/node-builtin-require.d.ts +2 -0
- package/lib/src/esbuild/node-builtin-require.js +33 -0
- package/lib/src/esbuild/node-builtin-require.js.map +1 -0
- package/lib/src/esbuild/private-data-sources-virtual.d.ts +3 -0
- package/lib/src/esbuild/private-data-sources-virtual.js +127 -0
- package/lib/src/esbuild/private-data-sources-virtual.js.map +1 -0
- package/lib/src/esbuild/runtime-context-virtual.d.ts +3 -0
- package/lib/src/esbuild/runtime-context-virtual.js +42 -0
- package/lib/src/esbuild/runtime-context-virtual.js.map +1 -0
- package/lib/src/esbuild/runtime-virtual.d.ts +2 -0
- package/lib/src/esbuild/runtime-virtual.js +52 -0
- package/lib/src/esbuild/runtime-virtual.js.map +1 -0
- package/lib/src/esbuild/user-files.d.ts +15 -0
- package/lib/src/esbuild/user-files.js +73 -0
- package/lib/src/esbuild/user-files.js.map +1 -0
- package/lib/src/fetch-guard.d.ts +26 -0
- package/lib/src/fetch-guard.js +67 -0
- package/lib/src/fetch-guard.js.map +1 -0
- package/lib/src/index.d.ts +12 -0
- package/lib/src/index.js +11 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/log.d.ts +7 -0
- package/lib/src/log.js +39 -0
- package/lib/src/log.js.map +1 -0
- package/lib/src/private-data-sources/build-http.ts +51 -0
- package/lib/src/private-data-sources/elasticsearch.ts +8 -0
- package/lib/src/private-data-sources/http-url.ts +23 -0
- package/lib/src/private-data-sources/http.ts +6 -0
- package/lib/src/private-data-sources/hyperdrive.ts +48 -0
- package/lib/src/private-data-sources/ioredis-adapter.ts +229 -0
- package/lib/src/private-data-sources/manifest.ts +150 -0
- package/lib/src/private-data-sources/mariadb.ts +8 -0
- package/lib/src/private-data-sources/mongodb.ts +70 -0
- package/lib/src/private-data-sources/mysql.ts +8 -0
- package/lib/src/private-data-sources/node-net-adapter.ts +244 -0
- package/lib/src/private-data-sources/postgres.ts +8 -0
- package/lib/src/private-data-sources/redis-auth.ts +83 -0
- package/lib/src/private-data-sources/redis.ts +47 -0
- package/lib/src/private-data-sources/runtime-environment.ts +4 -0
- package/lib/src/private-data-sources/runtime-manifest-store.ts +32 -0
- package/lib/src/private-data-sources/sqlserver.ts +22 -0
- package/lib/src/private-data-sources/tcp.ts +86 -0
- package/lib/src/private-data-sources/tedious-adapter.ts +67 -0
- package/lib/src/private-data-sources/types.ts +29 -0
- package/lib/src/runtime/index.ts +30 -0
- package/lib/src/runtime-context.ts +29 -0
- package/lib/src/static-egress-marker.d.ts +1 -0
- package/lib/src/static-egress-marker.js +7 -0
- package/lib/src/static-egress-marker.js.map +1 -0
- package/lib/src/telemetry.d.ts +32 -0
- package/lib/src/telemetry.js +84 -0
- package/lib/src/telemetry.js.map +1 -0
- package/lib/src/tracing.d.ts +9 -0
- package/lib/src/tracing.js +21 -0
- package/lib/src/tracing.js.map +1 -0
- package/lib/src/worker-entry.d.ts +36 -0
- package/lib/src/worker-entry.js +320 -0
- package/lib/src/worker-entry.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deno-resolver.js","sourceRoot":"","sources":["../../../src/esbuild/deno-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { isBuiltin } from "node:module";
|
|
2
|
+
import { USER_NAMESPACE } from "./user-files.js";
|
|
3
|
+
const REEXPORT_NAMESPACE = "node-builtin-reexport";
|
|
4
|
+
// Default export so `require("stream")` is the Stream class, not the namespace.
|
|
5
|
+
function reexportStub(specifier) {
|
|
6
|
+
return `import * as builtin from "${specifier}";\nmodule.exports = builtin.default ?? builtin;\n`;
|
|
7
|
+
}
|
|
8
|
+
// esbuild lowers a CJS `require()` of an external builtin to a `__require()` that
|
|
9
|
+
// throws on workerd, so rewrite those to a static import. `isBuiltin` on the full
|
|
10
|
+
// specifier rejects `require("string_decoder/")` (the npm package, not the builtin).
|
|
11
|
+
export function nodeBuiltinRequirePlugin() {
|
|
12
|
+
const onResolve = (args) => {
|
|
13
|
+
if (args.kind !== "require-call" || !isBuiltin(args.path)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return { path: args.path, namespace: REEXPORT_NAMESPACE };
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
name: "node-builtin-require",
|
|
20
|
+
setup(build) {
|
|
21
|
+
const filter = /^(node:)?[a-z][a-z0-9._/-]*$/;
|
|
22
|
+
// Default (file) namespace covers deps; user namespace covers the shim and
|
|
23
|
+
// user files now served from memory.
|
|
24
|
+
build.onResolve({ filter }, onResolve);
|
|
25
|
+
build.onResolve({ filter, namespace: USER_NAMESPACE }, onResolve);
|
|
26
|
+
build.onLoad({ filter: /.*/, namespace: REEXPORT_NAMESPACE }, (args) => ({
|
|
27
|
+
contents: reexportStub(args.path),
|
|
28
|
+
loader: "js",
|
|
29
|
+
}));
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=node-builtin-require.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-builtin-require.js","sourceRoot":"","sources":["../../../src/esbuild/node-builtin-require.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,gFAAgF;AAChF,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,6BAA6B,SAAS,oDAAoD,CAAC;AACpG,CAAC;AAED,kFAAkF;AAClF,kFAAkF;AAClF,qFAAqF;AACrF,MAAM,UAAU,wBAAwB;IACtC,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAE,EAAE;QACxC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,KAAK,CAAC,KAAK;YACT,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC9C,2EAA2E;YAC3E,qCAAqC;YACrC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;YACvC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC;YAElE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { ACTIVATION_FILENAME } from "../worker-entry.js";
|
|
4
|
+
import { USER_NAMESPACE } from "./user-files.js";
|
|
5
|
+
const PREFIX = "base44:private-data-sources";
|
|
6
|
+
export const PRIVATE_DATA_SOURCES_NAMESPACE = "base44-private-data-sources";
|
|
7
|
+
const MODULE_DIR = new URL("../private-data-sources/", import.meta.url);
|
|
8
|
+
const PUBLIC_MODULES = new Set([
|
|
9
|
+
"elasticsearch",
|
|
10
|
+
"http",
|
|
11
|
+
"mariadb",
|
|
12
|
+
"mongodb",
|
|
13
|
+
"mysql",
|
|
14
|
+
"postgres",
|
|
15
|
+
"redis",
|
|
16
|
+
"sqlserver",
|
|
17
|
+
]);
|
|
18
|
+
function publicModulePath(specifier) {
|
|
19
|
+
if (specifier === PREFIX)
|
|
20
|
+
return null;
|
|
21
|
+
if (!specifier.startsWith(`${PREFIX}/`))
|
|
22
|
+
return null;
|
|
23
|
+
const moduleName = specifier.slice(PREFIX.length + 1);
|
|
24
|
+
if (!PUBLIC_MODULES.has(moduleName))
|
|
25
|
+
return null;
|
|
26
|
+
return `${moduleName}.ts`;
|
|
27
|
+
}
|
|
28
|
+
// Internal, NOT user-importable: the activation shim writes the handshake
|
|
29
|
+
// manifest into this store and manifest.ts reads it. Resolving it for user code
|
|
30
|
+
// would let it read/forge the manifest (plaintext VPC/DB credentials). Gated by
|
|
31
|
+
// an ALLOW-list — the ONLY legitimate importer is the injected activation shim.
|
|
32
|
+
//
|
|
33
|
+
// The shim is always injected at the bundle-ROOT key ACTIVATION_FILENAME (see
|
|
34
|
+
// prepareFunction/prepareApp), so its esbuild importer is EXACTLY that string in
|
|
35
|
+
// the user namespace — the same trusted-platform-basename shape main uses for
|
|
36
|
+
// base44:internal/runtime-context (see runtime-context-virtual). Match the
|
|
37
|
+
// namespace AND the exact key: a suffix/segment match (`.../x/__base44_activation.mjs`,
|
|
38
|
+
// `fn_3/.../__base44_activation.mjs`) would let a NESTED user file with that
|
|
39
|
+
// basename pose as the shim and read the manifest. `assertNoReservedFilenames`
|
|
40
|
+
// rejects that basename at any depth in every mode (as it does for the sibling
|
|
41
|
+
// __base44_* platform files), so no user file can ever hold it. The store shares
|
|
42
|
+
// PRIVATE_DATA_SOURCES_NAMESPACE with manifest.ts so both dedupe to one module
|
|
43
|
+
// instance in the final bundle.
|
|
44
|
+
const INTERNAL_STORE_SPECIFIER = `${PREFIX}/runtime-manifest-store`;
|
|
45
|
+
function isActivationShimImporter(namespace, importer) {
|
|
46
|
+
return namespace === USER_NAMESPACE && importer === ACTIVATION_FILENAME;
|
|
47
|
+
}
|
|
48
|
+
function relativeModulePath(importer, specifier) {
|
|
49
|
+
if (!specifier.startsWith("./") && !specifier.startsWith("../"))
|
|
50
|
+
return null;
|
|
51
|
+
const importerDir = importer.includes("/")
|
|
52
|
+
? importer.slice(0, importer.lastIndexOf("/"))
|
|
53
|
+
: "";
|
|
54
|
+
const resolved = path.posix.normalize(path.posix.join(importerDir, specifier));
|
|
55
|
+
if (resolved.startsWith("../") ||
|
|
56
|
+
resolved === ".." ||
|
|
57
|
+
path.posix.isAbsolute(resolved))
|
|
58
|
+
return null;
|
|
59
|
+
return resolved.endsWith(".ts") ? resolved : `${resolved}.ts`;
|
|
60
|
+
}
|
|
61
|
+
function loadModule(modulePath) {
|
|
62
|
+
return readFileSync(new URL(modulePath, MODULE_DIR), "utf8");
|
|
63
|
+
}
|
|
64
|
+
export function privateDataSourcesVirtualPlugin() {
|
|
65
|
+
return {
|
|
66
|
+
name: "base44-private-data-sources-virtual",
|
|
67
|
+
setup(build) {
|
|
68
|
+
build.onResolve({ filter: /^base44:private-data-sources(?:\/.*)?$/ }, (args) => {
|
|
69
|
+
if (args.path === INTERNAL_STORE_SPECIFIER) {
|
|
70
|
+
if (!isActivationShimImporter(args.namespace, args.importer)) {
|
|
71
|
+
return {
|
|
72
|
+
errors: [
|
|
73
|
+
{
|
|
74
|
+
text: `"${args.path}" is internal to the Base44 runtime and cannot be imported ` +
|
|
75
|
+
"by backend function code.",
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
path: "runtime-manifest-store.ts",
|
|
82
|
+
namespace: PRIVATE_DATA_SOURCES_NAMESPACE,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const modulePath = publicModulePath(args.path);
|
|
86
|
+
if (!modulePath) {
|
|
87
|
+
return {
|
|
88
|
+
errors: [
|
|
89
|
+
{
|
|
90
|
+
text: `Unsupported import "${args.path}". Use a type-specific private data source import, ` +
|
|
91
|
+
'for example "base44:private-data-sources/postgres".',
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
path: modulePath,
|
|
98
|
+
namespace: PRIVATE_DATA_SOURCES_NAMESPACE,
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
build.onResolve({
|
|
102
|
+
filter: /^\.\.?\//,
|
|
103
|
+
namespace: PRIVATE_DATA_SOURCES_NAMESPACE,
|
|
104
|
+
}, (args) => {
|
|
105
|
+
const modulePath = relativeModulePath(args.importer, args.path);
|
|
106
|
+
if (!modulePath) {
|
|
107
|
+
return {
|
|
108
|
+
errors: [
|
|
109
|
+
{
|
|
110
|
+
text: `Invalid private data source module import "${args.path}"`,
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
path: modulePath,
|
|
117
|
+
namespace: PRIVATE_DATA_SOURCES_NAMESPACE,
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
build.onLoad({ filter: /.*/, namespace: PRIVATE_DATA_SOURCES_NAMESPACE }, (args) => ({
|
|
121
|
+
contents: loadModule(args.path),
|
|
122
|
+
loader: "ts",
|
|
123
|
+
}));
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=private-data-sources-virtual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private-data-sources-virtual.js","sourceRoot":"","sources":["../../../src/esbuild/private-data-sources-virtual.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { PRIVATE_DATA_SOURCES_NAMESPACE } from "./private-data-sources-virtual.js";
|
|
3
|
+
import { USER_NAMESPACE } from "./user-files.js";
|
|
4
|
+
export const RUNTIME_CONTEXT_SPECIFIER = "base44:internal/runtime-context";
|
|
5
|
+
const NAMESPACE = "base44-runtime-context";
|
|
6
|
+
const MODULE_URL = new URL("../runtime-context.ts", import.meta.url);
|
|
7
|
+
const TRUSTED_USER_IMPORTERS = new Set([
|
|
8
|
+
"__base44_actor_entry.mjs",
|
|
9
|
+
"__base44_actor_prelude.mjs",
|
|
10
|
+
"__base44_deno_shim.mjs",
|
|
11
|
+
"__base44_entry.mjs",
|
|
12
|
+
]);
|
|
13
|
+
export function runtimeContextVirtualPlugin() {
|
|
14
|
+
return {
|
|
15
|
+
name: "base44-runtime-context-virtual",
|
|
16
|
+
setup(build) {
|
|
17
|
+
build.onResolve({ filter: /^base44:internal\/runtime-context$/ }, (args) => {
|
|
18
|
+
const trusted = args.namespace === PRIVATE_DATA_SOURCES_NAMESPACE ||
|
|
19
|
+
(args.namespace === USER_NAMESPACE &&
|
|
20
|
+
TRUSTED_USER_IMPORTERS.has(args.importer));
|
|
21
|
+
if (!trusted) {
|
|
22
|
+
return {
|
|
23
|
+
errors: [
|
|
24
|
+
{
|
|
25
|
+
text: `Unsupported internal runtime import "${args.path}".`,
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
path: RUNTIME_CONTEXT_SPECIFIER,
|
|
32
|
+
namespace: NAMESPACE,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
build.onLoad({ filter: /.*/, namespace: NAMESPACE }, () => ({
|
|
36
|
+
contents: readFileSync(MODULE_URL, "utf8"),
|
|
37
|
+
loader: "ts",
|
|
38
|
+
}));
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=runtime-context-virtual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-context-virtual.js","sourceRoot":"","sources":["../../../src/esbuild/runtime-context-virtual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AAE3E,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrE,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,0BAA0B;IAC1B,4BAA4B;IAC5B,wBAAwB;IACxB,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,gCAAgC;QACtC,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CACb,EAAE,MAAM,EAAE,oCAAoC,EAAE,EAChD,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,OAAO,GACX,IAAI,CAAC,SAAS,KAAK,8BAA8B;oBACjD,CAAC,IAAI,CAAC,SAAS,KAAK,cAAc;wBAChC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,MAAM,EAAE;4BACN;gCACE,IAAI,EAAE,wCAAwC,IAAI,CAAC,IAAI,IAAI;6BAC5D;yBACF;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,yBAAyB;oBAC/B,SAAS,EAAE,SAAS;iBACrB,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1D,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC1C,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
// Keep this allowlist in sync with
|
|
3
|
+
// backend/app/cloudflare_functions/code_scan.py (_BASE44_RUNTIME_IMPORT /
|
|
4
|
+
// _BASE44_RUNTIME_ACTORS_IMPORT).
|
|
5
|
+
const SPECIFIER = "base44:runtime";
|
|
6
|
+
// The Actor base class, served for `import { Actor } from "base44:runtime/actors"`.
|
|
7
|
+
const ACTORS_SPECIFIER = "base44:runtime/actors";
|
|
8
|
+
const NAMESPACE = "base44-runtime";
|
|
9
|
+
const MODULE_URL = new URL("../runtime/index.ts", import.meta.url);
|
|
10
|
+
// Prebuilt partyserver-backed shim (built by `npm run build:shim`). This file
|
|
11
|
+
// lives in src/esbuild/, so dist/ is two levels up (../../), unlike runtime/.
|
|
12
|
+
const ACTOR_SHIM_URL = new URL("../../dist/actor.mjs", import.meta.url);
|
|
13
|
+
export function runtimeVirtualPlugin() {
|
|
14
|
+
return {
|
|
15
|
+
name: "base44-runtime-virtual",
|
|
16
|
+
setup(build) {
|
|
17
|
+
build.onResolve({ filter: /^base44:runtime(?:\/.*)?$/ }, (args) => {
|
|
18
|
+
if (args.path === SPECIFIER || args.path === ACTORS_SPECIFIER) {
|
|
19
|
+
return { path: args.path, namespace: NAMESPACE };
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
errors: [
|
|
23
|
+
{
|
|
24
|
+
text: `Unsupported import "${args.path}". Supported: "${SPECIFIER}" and "${ACTORS_SPECIFIER}".`,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
build.onLoad({ filter: /.*/, namespace: NAMESPACE }, (args) => {
|
|
30
|
+
if (args.path === ACTORS_SPECIFIER) {
|
|
31
|
+
// A missing shim would silently bundle a bindingless plain function — fail loud.
|
|
32
|
+
if (!existsSync(ACTOR_SHIM_URL)) {
|
|
33
|
+
return {
|
|
34
|
+
errors: [
|
|
35
|
+
{
|
|
36
|
+
text: 'Import "base44:runtime/actors" requires dist/actor.mjs — ' +
|
|
37
|
+
"run `npm run build:shim` (with partyserver installed) before bundling.",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
contents: readFileSync(ACTOR_SHIM_URL, "utf8"),
|
|
44
|
+
loader: "js",
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return { contents: readFileSync(MODULE_URL, "utf8"), loader: "ts" };
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=runtime-virtual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-virtual.js","sourceRoot":"","sources":["../../../src/esbuild/runtime-virtual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGnD,mCAAmC;AACnC,0EAA0E;AAC1E,kCAAkC;AAClC,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACnC,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnE,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAC9D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;gBACnD,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,uBAAuB,IAAI,CAAC,IAAI,kBAAkB,SAAS,UAAU,gBAAgB,IAAI;yBAChG;qBACF;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACnC,iFAAiF;oBACjF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;wBAChC,OAAO;4BACL,MAAM,EAAE;gCACN;oCACE,IAAI,EACF,2DAA2D;wCAC3D,wEAAwE;iCAC3E;6BACF;yBACF,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,QAAQ,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;wBAC9C,MAAM,EAAE,IAAI;qBACb,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serves the prepared worker tree (user sources + injected shim + generated
|
|
3
|
+
* entry) from memory instead of disk. User code is never written to the shared
|
|
4
|
+
* temp filesystem, so a malicious import can't traverse to another build's
|
|
5
|
+
* source — and this plugin is the one place that decides what user code may
|
|
6
|
+
* import: relative paths must stay inside the in-memory keyspace; `npm:`/`jsr:`/
|
|
7
|
+
* `http(s):`/bare specifiers are handed to the Deno resolver; absolute and
|
|
8
|
+
* `file:` imports are refused (the FS-read vector the on-disk layout allowed).
|
|
9
|
+
*
|
|
10
|
+
* Registered BEFORE the Deno resolver so it claims user files first and defers
|
|
11
|
+
* everything else by returning null.
|
|
12
|
+
*/
|
|
13
|
+
import type { Plugin } from "esbuild";
|
|
14
|
+
export declare const USER_NAMESPACE = "user";
|
|
15
|
+
export declare function userFilesPlugin(files: Record<string, string>, entryPath: string): Plugin;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serves the prepared worker tree (user sources + injected shim + generated
|
|
3
|
+
* entry) from memory instead of disk. User code is never written to the shared
|
|
4
|
+
* temp filesystem, so a malicious import can't traverse to another build's
|
|
5
|
+
* source — and this plugin is the one place that decides what user code may
|
|
6
|
+
* import: relative paths must stay inside the in-memory keyspace; `npm:`/`jsr:`/
|
|
7
|
+
* `http(s):`/bare specifiers are handed to the Deno resolver; absolute and
|
|
8
|
+
* `file:` imports are refused (the FS-read vector the on-disk layout allowed).
|
|
9
|
+
*
|
|
10
|
+
* Registered BEFORE the Deno resolver so it claims user files first and defers
|
|
11
|
+
* everything else by returning null.
|
|
12
|
+
*/
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
export const USER_NAMESPACE = "user";
|
|
15
|
+
/** Resolve a relative specifier to the user file it names (posix, exact match —
|
|
16
|
+
* Deno already requires explicit extensions). Returns the file path, or null
|
|
17
|
+
* when it isn't in the submission (an escape or a typo). */
|
|
18
|
+
function resolveUserFile(importerPath, spec, files) {
|
|
19
|
+
const dir = importerPath.includes("/")
|
|
20
|
+
? importerPath.slice(0, importerPath.lastIndexOf("/"))
|
|
21
|
+
: "";
|
|
22
|
+
const filePath = path.posix.normalize(path.posix.join(dir, spec));
|
|
23
|
+
return filePath in files ? filePath : null;
|
|
24
|
+
}
|
|
25
|
+
function loaderForFile(filePath) {
|
|
26
|
+
if (/\.(ts|mts|cts)$/.test(filePath))
|
|
27
|
+
return "ts";
|
|
28
|
+
if (filePath.endsWith(".tsx"))
|
|
29
|
+
return "tsx";
|
|
30
|
+
if (filePath.endsWith(".jsx"))
|
|
31
|
+
return "jsx";
|
|
32
|
+
if (filePath.endsWith(".json"))
|
|
33
|
+
return "json";
|
|
34
|
+
return "js";
|
|
35
|
+
}
|
|
36
|
+
export function userFilesPlugin(files, entryPath) {
|
|
37
|
+
return {
|
|
38
|
+
name: "user-files",
|
|
39
|
+
setup(build) {
|
|
40
|
+
build.onResolve({ filter: /.*/ }, (args) => {
|
|
41
|
+
if (args.kind === "entry-point" && entryPath in files) {
|
|
42
|
+
return { path: entryPath, namespace: USER_NAMESPACE };
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
});
|
|
46
|
+
build.onResolve({ filter: /.*/, namespace: USER_NAMESPACE }, (args) => {
|
|
47
|
+
if (args.path.startsWith("./") || args.path.startsWith("../")) {
|
|
48
|
+
const filePath = resolveUserFile(args.importer, args.path, files);
|
|
49
|
+
if (filePath) {
|
|
50
|
+
return { path: filePath, namespace: USER_NAMESPACE };
|
|
51
|
+
}
|
|
52
|
+
return forbidden(args.path, 'it must reference a file bundled with this function — check the path and include the extension (e.g. "./util.ts"). Relative imports can\'t reach outside the function; import dependencies with an npm: or jsr: specifier.');
|
|
53
|
+
}
|
|
54
|
+
// Absolute paths and file: URLs would read the bundler's filesystem.
|
|
55
|
+
if (args.path.startsWith("/") || args.path.startsWith("file:")) {
|
|
56
|
+
return forbidden(args.path, 'absolute paths and file: URLs can\'t be imported. Use a relative path (e.g. "./util.ts") for your own files, or an npm:/jsr:/https: specifier for dependencies.');
|
|
57
|
+
}
|
|
58
|
+
return null; // npm:/jsr:/http(s):/node:/bare → Deno resolver
|
|
59
|
+
});
|
|
60
|
+
build.onLoad({ filter: /.*/, namespace: USER_NAMESPACE }, (args) => {
|
|
61
|
+
const contents = files[args.path];
|
|
62
|
+
if (contents === undefined) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return { contents, loader: loaderForFile(args.path) };
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function forbidden(spec, reason) {
|
|
71
|
+
return { errors: [{ text: `Cannot import "${spec}": ${reason}` }] };
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=user-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-files.js","sourceRoot":"","sources":["../../../src/esbuild/user-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-level guard on `globalThis.fetch`. The Deno resolver (`@deno/loader`)
|
|
3
|
+
* routes every dependency download — npm metadata, npm tarballs, jsr, and any
|
|
4
|
+
* `https:` import — through the global `fetch`, so wrapping it is the single
|
|
5
|
+
* enforcement point that replaces the per-filesystem caps the old virtual-FS
|
|
6
|
+
* installer provided:
|
|
7
|
+
*
|
|
8
|
+
* - Host allowlist: the npm + jsr registries plus the esm.sh and deno.land
|
|
9
|
+
* CDNs (so `https:` imports from those work). Every other host is blocked,
|
|
10
|
+
* so user code can't pull from arbitrary origins (the supply-chain vector
|
|
11
|
+
* the old compat layer rejected by scanning specifiers).
|
|
12
|
+
* - Per-response byte cap via the `Content-Length` header. The body itself is
|
|
13
|
+
* never touched: rewrapping the response stream (an earlier TransformStream
|
|
14
|
+
* approach) corrupts delivery to the loader once a live `node:http` server
|
|
15
|
+
* is handling requests, so the original `Response` is always returned as-is.
|
|
16
|
+
* Downloads without a length header rely on the container memory limit, disk
|
|
17
|
+
* (deps land in DENO_DIR, not the heap), and the per-request deadline.
|
|
18
|
+
*
|
|
19
|
+
* Install once at startup, before the server begins handling requests.
|
|
20
|
+
*/
|
|
21
|
+
/** Install the guard over `globalThis.fetch`. Idempotent. */
|
|
22
|
+
export declare function installFetchGuard(): void;
|
|
23
|
+
/** Wrap a fetch implementation with the host allowlist + per-response size cap.
|
|
24
|
+
* Exposed (with an injectable cap) so the policy is testable without mutating
|
|
25
|
+
* the global. */
|
|
26
|
+
export declare function createGuardedFetch(originalFetch: typeof fetch, maxBytes?: number): typeof fetch;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-level guard on `globalThis.fetch`. The Deno resolver (`@deno/loader`)
|
|
3
|
+
* routes every dependency download — npm metadata, npm tarballs, jsr, and any
|
|
4
|
+
* `https:` import — through the global `fetch`, so wrapping it is the single
|
|
5
|
+
* enforcement point that replaces the per-filesystem caps the old virtual-FS
|
|
6
|
+
* installer provided:
|
|
7
|
+
*
|
|
8
|
+
* - Host allowlist: the npm + jsr registries plus the esm.sh and deno.land
|
|
9
|
+
* CDNs (so `https:` imports from those work). Every other host is blocked,
|
|
10
|
+
* so user code can't pull from arbitrary origins (the supply-chain vector
|
|
11
|
+
* the old compat layer rejected by scanning specifiers).
|
|
12
|
+
* - Per-response byte cap via the `Content-Length` header. The body itself is
|
|
13
|
+
* never touched: rewrapping the response stream (an earlier TransformStream
|
|
14
|
+
* approach) corrupts delivery to the loader once a live `node:http` server
|
|
15
|
+
* is handling requests, so the original `Response` is always returned as-is.
|
|
16
|
+
* Downloads without a length header rely on the container memory limit, disk
|
|
17
|
+
* (deps land in DENO_DIR, not the heap), and the per-request deadline.
|
|
18
|
+
*
|
|
19
|
+
* Install once at startup, before the server begins handling requests.
|
|
20
|
+
*/
|
|
21
|
+
import { logEvent } from "./log.js";
|
|
22
|
+
const ALLOWED_HOST_SUFFIXES = ["npmjs.org", "jsr.io", "esm.sh", "deno.land"];
|
|
23
|
+
// Mirrors the old per-tarball compressed cap (installer.ts MAX_TARBALL_BYTES).
|
|
24
|
+
const MAX_RESPONSE_BYTES = 30 * 1024 * 1024;
|
|
25
|
+
let installed = false;
|
|
26
|
+
/** Install the guard over `globalThis.fetch`. Idempotent. */
|
|
27
|
+
export function installFetchGuard() {
|
|
28
|
+
if (installed)
|
|
29
|
+
return;
|
|
30
|
+
installed = true;
|
|
31
|
+
globalThis.fetch = createGuardedFetch(globalThis.fetch.bind(globalThis));
|
|
32
|
+
}
|
|
33
|
+
/** Wrap a fetch implementation with the host allowlist + per-response size cap.
|
|
34
|
+
* Exposed (with an injectable cap) so the policy is testable without mutating
|
|
35
|
+
* the global. */
|
|
36
|
+
export function createGuardedFetch(originalFetch, maxBytes = MAX_RESPONSE_BYTES) {
|
|
37
|
+
return async (input, init) => {
|
|
38
|
+
const url = requestUrl(input);
|
|
39
|
+
if (!isAllowedHost(url.hostname)) {
|
|
40
|
+
logEvent("warn", "base44.bundler.fetch_blocked", { host: url.hostname });
|
|
41
|
+
throw new Error(`Blocked fetch to disallowed host "${url.hostname}". Allowed: the npm and jsr registries and the esm.sh / deno.land CDNs — import dependencies via npm:, jsr:, or an https: URL on one of those hosts.`);
|
|
42
|
+
}
|
|
43
|
+
const response = await originalFetch(input, init);
|
|
44
|
+
// Size cap via Content-Length only — never read or rewrap the body, so the
|
|
45
|
+
// original Response reaches the loader untouched.
|
|
46
|
+
const declared = Number(response.headers.get("content-length"));
|
|
47
|
+
if (Number.isFinite(declared) && declared > maxBytes) {
|
|
48
|
+
logEvent("warn", "base44.bundler.fetch_too_large", {
|
|
49
|
+
host: url.hostname,
|
|
50
|
+
bytes: declared,
|
|
51
|
+
});
|
|
52
|
+
throw new Error(`Dependency download is ${declared} bytes, over the ${maxBytes}-byte limit.`);
|
|
53
|
+
}
|
|
54
|
+
return response;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function requestUrl(input) {
|
|
58
|
+
if (input instanceof URL)
|
|
59
|
+
return input;
|
|
60
|
+
if (typeof input === "string")
|
|
61
|
+
return new URL(input);
|
|
62
|
+
return new URL(input.url);
|
|
63
|
+
}
|
|
64
|
+
function isAllowedHost(hostname) {
|
|
65
|
+
return ALLOWED_HOST_SUFFIXES.some((suffix) => hostname === suffix || hostname.endsWith(`.${suffix}`));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=fetch-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-guard.js","sourceRoot":"","sources":["../../src/fetch-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,qBAAqB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE7E,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB;IAC/B,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,UAAU,CAAC,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;kBAEkB;AAClB,MAAM,UAAU,kBAAkB,CAChC,aAA2B,EAC3B,QAAQ,GAAG,kBAAkB;IAE7B,OAAO,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAE,EAAE;QAC5D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,EAAE,8BAA8B,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,CAAC,QAAQ,sJAAsJ,CACxM,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAElD,2EAA2E;QAC3E,kDAAkD;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;YACrD,QAAQ,CAAC,MAAM,EAAE,gCAAgC,EAAE;gBACjD,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,oBAAoB,QAAQ,cAAc,CAC7E,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAwB;IAC1C,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,qBAAqB,CAAC,IAAI,CAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type { AppErrorClassification, AppFunctionStatus, BundleAppResponse, BundleErrorStage, BundleResponse, } from "./bundler.js";
|
|
2
|
+
export { bundle, bundleApp, classifyAppErrors, importsConflictingPackage, } from "./bundler.js";
|
|
3
|
+
export type { AppFunctionInput, BundleAppRequest, BundleRequest, } from "./contracts.js";
|
|
4
|
+
export { appFunctionSchema, bundleAppRequestSchema, bundleRequestSchema, } from "./contracts.js";
|
|
5
|
+
export type { BundleErrorItem } from "./errors.js";
|
|
6
|
+
export { DenoCompatError } from "./errors.js";
|
|
7
|
+
export { createGuardedFetch, installFetchGuard } from "./fetch-guard.js";
|
|
8
|
+
export type { Field, Level, LogSink } from "./log.js";
|
|
9
|
+
export { setLogSink } from "./log.js";
|
|
10
|
+
export { STATIC_EGRESS_ARTIFACT_MARKER } from "./static-egress-marker.js";
|
|
11
|
+
export type { CompilerTracer } from "./tracing.js";
|
|
12
|
+
export { setCompilerTracer } from "./tracing.js";
|
package/lib/src/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Public surface of the production function compiler. Everything else under
|
|
2
|
+
// src/ is either an internal engine module or a compile-time asset read as text
|
|
3
|
+
// by the esbuild plugins.
|
|
4
|
+
export { bundle, bundleApp, classifyAppErrors, importsConflictingPackage, } from "./bundler.js";
|
|
5
|
+
export { appFunctionSchema, bundleAppRequestSchema, bundleRequestSchema, } from "./contracts.js";
|
|
6
|
+
export { DenoCompatError } from "./errors.js";
|
|
7
|
+
export { createGuardedFetch, installFetchGuard } from "./fetch-guard.js";
|
|
8
|
+
export { setLogSink } from "./log.js";
|
|
9
|
+
export { STATIC_EGRESS_ARTIFACT_MARKER } from "./static-egress-marker.js";
|
|
10
|
+
export { setCompilerTracer } from "./tracing.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gFAAgF;AAChF,0BAA0B;AAS1B,OAAO,EACL,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
package/lib/src/log.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type Level = "info" | "warn" | "error";
|
|
2
|
+
export type Field = string | number | boolean | undefined;
|
|
3
|
+
export type LogSink = (level: Level, event: string, fields: Record<string, Field>) => void;
|
|
4
|
+
/** Route compiler diagnostics somewhere else; `null` restores the JSON writer.
|
|
5
|
+
* Must be called in the same thread that runs the compile. */
|
|
6
|
+
export declare function setLogSink(next: LogSink | null): void;
|
|
7
|
+
export declare function logEvent(level: Level, event: string, fields?: Record<string, Field>): void;
|
package/lib/src/log.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// One JSON object per line — Datadog auto-parses it into facets (logs arrive
|
|
2
|
+
// via Render Log Stream; no agent). `status` is Datadog's reserved level attribute.
|
|
3
|
+
// A host that owns its own output (the CLI) replaces the writer via `setLogSink`.
|
|
4
|
+
const SERVICE = process.env.DD_SERVICE;
|
|
5
|
+
const ENV = process.env.DD_ENV;
|
|
6
|
+
const VERSION = process.env.DD_VERSION;
|
|
7
|
+
/** `undefined` fields are dropped so absent dimensions don't create empty facets. */
|
|
8
|
+
const jsonLineSink = (level, event, fields) => {
|
|
9
|
+
const line = {
|
|
10
|
+
status: level,
|
|
11
|
+
service: SERVICE,
|
|
12
|
+
env: ENV,
|
|
13
|
+
version: VERSION,
|
|
14
|
+
event,
|
|
15
|
+
};
|
|
16
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
17
|
+
if (value !== undefined)
|
|
18
|
+
line[key] = value;
|
|
19
|
+
}
|
|
20
|
+
if (level === "error") {
|
|
21
|
+
console.error(JSON.stringify(line));
|
|
22
|
+
}
|
|
23
|
+
else if (level === "warn") {
|
|
24
|
+
console.warn(JSON.stringify(line));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.log(JSON.stringify(line));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
let sink = jsonLineSink;
|
|
31
|
+
/** Route compiler diagnostics somewhere else; `null` restores the JSON writer.
|
|
32
|
+
* Must be called in the same thread that runs the compile. */
|
|
33
|
+
export function setLogSink(next) {
|
|
34
|
+
sink = next ?? jsonLineSink;
|
|
35
|
+
}
|
|
36
|
+
export function logEvent(level, event, fields = {}) {
|
|
37
|
+
sink(level, event, fields);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,oFAAoF;AACpF,kFAAkF;AAElF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AAUvC,qFAAqF;AACrF,MAAM,YAAY,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IACrD,MAAM,IAAI,GAA0B;QAClC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,GAAG;QACR,OAAO,EAAE,OAAO;QAChB,KAAK;KACN,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,IAAI,GAAY,YAAY,CAAC;AAEjC;+DAC+D;AAC/D,MAAM,UAAU,UAAU,CAAC,IAAoB;IAC7C,IAAI,GAAG,IAAI,IAAI,YAAY,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,KAAY,EACZ,KAAa,EACb,SAAgC,EAAE;IAElC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|