@elaraai/east-diagnostics 1.0.76 → 1.0.78
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 +1 -1
- package/dist/src/east-source.d.ts +5 -0
- package/dist/src/east-source.d.ts.map +1 -1
- package/dist/src/east-source.js +11 -0
- package/dist/src/east-source.js.map +1 -1
- package/dist/src/rules/no-compile-time-seed-data.d.ts.map +1 -1
- package/dist/src/rules/no-compile-time-seed-data.js +46 -15
- package/dist/src/rules/no-compile-time-seed-data.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ These share one principle: **inside an East block the code must be East all the
|
|
|
51
51
|
- **`no-host-in-east-block`** - Inside an East block, any host-language construct: a host call (a local TS helper, a JS builtin, a JS Array method), a TS closure/function *declaration*, a host operator on East operands (`a + b`, `cond ? a : b`, `&&`/`||`), host index access (`arr[i]` on a JS value), a JS `for`/`while`/`if` that emits IR, or host string interpolation. (East method chains, `$.*`, `East.*`/`Expr.*`, `variant`/`some`/`none`, `East.str`, and any `@elaraai/*` call are East and never flagged.)
|
|
52
52
|
- **`no-module-scope-east-macro`** - A module-scope TS helper whose every return builds East values/IR (`variant`/`some`/`none`/`East.value`/an `Expr` chain) or a composite string key (`(o, l) => `${o}|${l}``) — make it a real `East.function`, or model the data with typed keys / nested East structures.
|
|
53
53
|
- **`no-compile-time-data-injection`** - Build-time data ingestion (a `node:fs` import/call, `JSON.parse`, `process.env`) at module scope — load data at runtime via `e3.input` / datasets / platform tasks. (A genuine seed-time bootstrap with no East-side reader is an accepted warning.)
|
|
54
|
-
- **`no-compile-time-seed-data`** - Host-computed data passed as the seed (3rd arg) of `e3.input(name, type, seed)` — a `new Map()`/array filled in place by host `for`-loops, or an object literal of host calls (`num(cfg.x)`, `BigInt(...)`) — bakes a build-time snapshot into the deployed program. The default must be a small *authored constant* (a literal, an empty/literal `Map`/`Set`/array/struct, or an East value `variant`/`some`/`none`/`East.value`) or omitted; load real/bulk data at runtime (a `BlobType` input parsed with `blob.decodeCsv(…)` in an `e3.task`, a platform `FileSystem.readFile`, or `e3.record` + `e3.mutation`).
|
|
54
|
+
- **`no-compile-time-seed-data`** - Host-computed data passed as the seed (3rd arg) of `e3.input(name, type, variant('value', seed))` — a `new Map()`/array filled in place by host `for`-loops, or an object literal of host calls (`num(cfg.x)`, `BigInt(...)`) — bakes a build-time snapshot into the deployed program. The default must be a small *authored constant* (a literal, an empty/literal `Map`/`Set`/array/struct, or an East value `variant`/`some`/`none`/`East.value`) or omitted; load real/bulk data at runtime (a `BlobType` input parsed with `blob.decodeCsv(…)` in an `e3.task`, a platform `FileSystem.readFile`, or `e3.record` + `e3.mutation`).
|
|
55
55
|
|
|
56
56
|
### Deploy/runtime-failure classes that type-check clean
|
|
57
57
|
|
|
@@ -13,6 +13,11 @@ export declare function importDeclarationOf(sym: ts.Symbol | undefined, t: TsMod
|
|
|
13
13
|
* East ecosystem API — `East`, `Expr`, `variant`/`some`, `ArrayType`/`StructType`,
|
|
14
14
|
* `GoogleOr`, `Data`, … — is recognised by SYMBOL, never a brittle name list. */
|
|
15
15
|
export declare function resolvesToEastImport(id: ts.Identifier, checker: ts.TypeChecker, t: TsModule): boolean;
|
|
16
|
+
/** The name `id`'s binding is EXPORTED under by the module it is imported from —
|
|
17
|
+
* `variant` for `import { variant as v }` — or undefined when `id` is not bound by
|
|
18
|
+
* a named import (a namespace or default import, a local declaration). A rule that
|
|
19
|
+
* keys on an API's name reads it here, so an alias cannot hide the call. */
|
|
20
|
+
export declare function importedNameOf(id: ts.Identifier, checker: ts.TypeChecker, t: TsModule): string | undefined;
|
|
16
21
|
/** Does this source file statically import or re-export from any `@elaraai/*`
|
|
17
22
|
* package? — the signal that it is East/e3 source rather than plain TypeScript.
|
|
18
23
|
* Cached per source file. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"east-source.d.ts","sourceRoot":"","sources":["../../src/east-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;+EAG+E;AAC/E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAa7G;AAED;;iFAEiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAGrG;AAUD;;6BAE6B;AAC7B,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAc1E;AAED;;;;;;2CAM2C;AAC3C,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAQrG;AASD;;;;;;qEAMqE;AACrE,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CA+BpG;AAuBD;;;;;oCAKoC;AACpC,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAS/F"}
|
|
1
|
+
{"version":3,"file":"east-source.d.ts","sourceRoot":"","sources":["../../src/east-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;+EAG+E;AAC/E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAa7G;AAED;;iFAEiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAGrG;AAED;;;4EAG4E;AAC5E,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAK1G;AAUD;;6BAE6B;AAC7B,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAc1E;AAED;;;;;;2CAM2C;AAC3C,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAQrG;AASD;;;;;;qEAMqE;AACrE,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CA+BpG;AAuBD;;;;;oCAKoC;AACpC,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAS/F"}
|
package/dist/src/east-source.js
CHANGED
|
@@ -30,6 +30,17 @@ export function resolvesToEastImport(id, checker, t) {
|
|
|
30
30
|
const imp = importDeclarationOf(checker.getSymbolAtLocation(id), t);
|
|
31
31
|
return imp !== undefined && t.isStringLiteral(imp.moduleSpecifier) && imp.moduleSpecifier.text.startsWith("@elaraai/");
|
|
32
32
|
}
|
|
33
|
+
/** The name `id`'s binding is EXPORTED under by the module it is imported from —
|
|
34
|
+
* `variant` for `import { variant as v }` — or undefined when `id` is not bound by
|
|
35
|
+
* a named import (a namespace or default import, a local declaration). A rule that
|
|
36
|
+
* keys on an API's name reads it here, so an alias cannot hide the call. */
|
|
37
|
+
export function importedNameOf(id, checker, t) {
|
|
38
|
+
for (const d of checker.getSymbolAtLocation(id)?.declarations ?? []) {
|
|
39
|
+
if (t.isImportSpecifier(d))
|
|
40
|
+
return (d.propertyName ?? d.name).text;
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
33
44
|
// File-level "is this East/e3 source?" detection. Several rules describe abuses
|
|
34
45
|
// that only make sense inside an East/e3 program (baking build-time data, building
|
|
35
46
|
// East IR in a module-scope macro); gating them on a real `@elaraai/*` import keeps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"east-source.js","sourceRoot":"","sources":["../../src/east-source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"east-source.js","sourceRoot":"","sources":["../../src/east-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-compile-time-seed-data.d.ts","sourceRoot":"","sources":["../../../src/rules/no-compile-time-seed-data.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"no-compile-time-seed-data.d.ts","sourceRoot":"","sources":["../../../src/rules/no-compile-time-seed-data.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,aAAa,CAAC;AAiLnE,eAAO,MAAM,qBAAqB,EAAE,QA8CnC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { insideBlockScope } from "../block-scope.js";
|
|
2
|
-
import { importDeclarationOf, resolvesToEastImport } from "../east-source.js";
|
|
2
|
+
import { importDeclarationOf, importedNameOf, resolvesToEastImport } from "../east-source.js";
|
|
3
3
|
const NAME = "no-compile-time-seed-data";
|
|
4
4
|
const CODE = 990021;
|
|
5
5
|
function fire(ctx, target, messageText) {
|
|
@@ -129,29 +129,60 @@ function isHostFilled(sym, ctx) {
|
|
|
129
129
|
visit(ctx.sourceFile);
|
|
130
130
|
return filled;
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
132
|
+
/**
|
|
133
|
+
* The inline seed of an `e3.input` source argument, or `undefined` when there is
|
|
134
|
+
* none to judge.
|
|
135
|
+
*
|
|
136
|
+
* The third argument is a source variant: `variant('value', seed)` carries an
|
|
137
|
+
* inline seed, while `variant('file', path)` carries no data at all — the file is
|
|
138
|
+
* adopted at deploy, which is exactly where bulk data belongs, so it is never
|
|
139
|
+
* flagged. The constructor is recognised by the name it is imported under, so
|
|
140
|
+
* `import { variant as v }` reads the same. A source this rule cannot see into (an
|
|
141
|
+
* identifier holding a whole variant, a non-`@elaraai/east` `variant`) is left
|
|
142
|
+
* silent, like any opaque seed.
|
|
143
|
+
*/
|
|
144
|
+
function inlineSeed(sourceArg, ctx) {
|
|
145
|
+
const t = ctx.ts;
|
|
146
|
+
if (!t.isCallExpression(sourceArg))
|
|
147
|
+
return undefined;
|
|
148
|
+
const callee = sourceArg.expression;
|
|
149
|
+
if (!t.isIdentifier(callee) ||
|
|
150
|
+
importedNameOf(callee, ctx.checker, t) !== "variant" ||
|
|
151
|
+
!resolvesToEastImport(callee, ctx.checker, t))
|
|
152
|
+
return undefined;
|
|
153
|
+
const [tag, payload] = sourceArg.arguments;
|
|
154
|
+
if (tag === undefined || !t.isStringLiteralLike(tag) || tag.text !== "value")
|
|
155
|
+
return undefined;
|
|
156
|
+
return payload;
|
|
157
|
+
}
|
|
158
|
+
// `e3.input(name, type, source?)` declares a WRITABLE dataset; an inline
|
|
159
|
+
// `variant('value', seed)` source is only a genesis value, overwritten the moment
|
|
160
|
+
// anything writes to the dataset. The seed must therefore be a small AUTHORED
|
|
161
|
+
// CONSTANT — a literal, an empty/literal Map/Set/array/struct, or an East value
|
|
162
|
+
// (`variant`/`some`/`none`/`East.value`) — or omitted. Computing it from
|
|
163
|
+
// build-time data (a `new Map()` filled by host `for`-loops over parsed CSV, or an
|
|
164
|
+
// object literal of `num(cfg.x)` calls) bakes a non-portable, non-reactive
|
|
165
|
+
// snapshot into the deployed program. Real/bulk data belongs outside the package:
|
|
166
|
+
// a `variant('file', path)` source (adopted by hash at deploy), a `BlobType` input
|
|
167
|
+
// parsed with `blob.decodeCsv(...)` inside an `e3.task`, a platform
|
|
168
|
+
// `FileSystem.readFile` in a task, or `e3.record(...)` + `e3.mutation` for set-once
|
|
169
|
+
// root state.
|
|
142
170
|
export const noCompileTimeSeedData = {
|
|
143
171
|
name: NAME,
|
|
144
172
|
code: CODE,
|
|
145
|
-
description: "Flag host-computed data passed as the seed (
|
|
173
|
+
description: "Flag host-computed data passed as the inline seed (variant('value', …)) of e3.input — it must be a small authored constant; load real data from a file source or at runtime.",
|
|
146
174
|
check(node, ctx) {
|
|
147
175
|
const t = ctx.ts;
|
|
148
176
|
if (!t.isCallExpression(node) || !isE3InputCall(node, ctx))
|
|
149
177
|
return;
|
|
150
178
|
if (insideBlockScope(node, ctx))
|
|
151
179
|
return; // e3.input only legitimately appears at module scope
|
|
152
|
-
const
|
|
180
|
+
const sourceArg = node.arguments[2];
|
|
181
|
+
if (sourceArg === undefined)
|
|
182
|
+
return; // no source — value arrives at runtime (correct)
|
|
183
|
+
const seedArg = inlineSeed(sourceArg, ctx);
|
|
153
184
|
if (seedArg === undefined)
|
|
154
|
-
return; //
|
|
185
|
+
return; // a file source, or one this rule cannot see into
|
|
155
186
|
// Resolve an identifier seed to its initializer; keep the symbol so we can see
|
|
156
187
|
// whether an authored-empty collection is then host-filled. An opaque seed
|
|
157
188
|
// (imported const, parameter, no initializer) is left silent — we only judge
|
|
@@ -177,7 +208,7 @@ export const noCompileTimeSeedData = {
|
|
|
177
208
|
const reason = hostFilled
|
|
178
209
|
? "this seed is an authored-empty collection then filled in place by host code (a `for`-loop / `.set(...)`)"
|
|
179
210
|
: "this seed is assembled by host calls (`num(...)`, `BigInt(...)`, parsed config) at module-evaluation time";
|
|
180
|
-
fire(ctx, seedArg, `Host-computed data passed as the \`e3.input("${name}", …)\` seed bakes a build-time snapshot into the deployed program — ${reason}.
|
|
211
|
+
fire(ctx, seedArg, `Host-computed data passed as the \`e3.input("${name}", …)\` seed bakes a build-time snapshot into the deployed program — ${reason}. An inline \`variant('value', …)\` seed must be a small AUTHORED CONSTANT (a literal, an empty/literal Map/Set/array/struct, or an East value \`variant\`/\`some\`/\`none\`/\`East.value\`), or the source omitted. Keep real/bulk data out of the package: deliver it as a beast2 file and declare \`variant('file', path)\` (adopted by hash at deploy), put the bytes in a \`BlobType\` input and parse with \`blob.decodeCsv(...)\` inside an \`e3.task\`, read files in a task via a platform \`FileSystem.readFile\`, or use \`e3.record(...)\` + \`e3.mutation\` for set-once root state.`);
|
|
181
212
|
},
|
|
182
213
|
};
|
|
183
214
|
//# sourceMappingURL=no-compile-time-seed-data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-compile-time-seed-data.js","sourceRoot":"","sources":["../../../src/rules/no-compile-time-seed-data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"no-compile-time-seed-data.js","sourceRoot":"","sources":["../../../src/rules/no-compile-time-seed-data.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/east-diagnostics",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.78",
|
|
4
4
|
"license": "AGPL-3.0-or-later",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "East-aware diagnostic rules over the TypeScript checker — one shared engine for the editor (tsserver plugin), the agent (headless daemon), and CI.",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.18.1",
|
|
46
46
|
"typescript": "~5.9.2",
|
|
47
|
-
"@elaraai/east": "1.0.
|
|
48
|
-
"@elaraai/e3": "1.0.
|
|
47
|
+
"@elaraai/east": "1.0.78",
|
|
48
|
+
"@elaraai/e3": "1.0.78"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "tsc",
|