@codegraft/core 0.1.0-beta.1 → 0.1.0-beta.11

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 (52) hide show
  1. package/README.md +3 -2
  2. package/dist/collection.d.ts +17 -12
  3. package/dist/collection.d.ts.map +1 -1
  4. package/dist/collection.js +90 -125
  5. package/dist/collection.js.map +1 -1
  6. package/dist/comment-attachment.d.ts +6 -7
  7. package/dist/comment-attachment.d.ts.map +1 -1
  8. package/dist/comment-attachment.js +8 -8
  9. package/dist/comment-attachment.js.map +1 -1
  10. package/dist/containers.d.ts +15 -0
  11. package/dist/containers.d.ts.map +1 -0
  12. package/dist/containers.js +39 -0
  13. package/dist/containers.js.map +1 -0
  14. package/dist/edit-collector.d.ts +6 -14
  15. package/dist/edit-collector.d.ts.map +1 -1
  16. package/dist/edit-collector.js +6 -34
  17. package/dist/edit-collector.js.map +1 -1
  18. package/dist/format.d.ts +41 -3
  19. package/dist/format.d.ts.map +1 -1
  20. package/dist/format.js +80 -7
  21. package/dist/format.js.map +1 -1
  22. package/dist/formatter.d.ts +73 -0
  23. package/dist/formatter.d.ts.map +1 -0
  24. package/dist/formatter.js +225 -0
  25. package/dist/formatter.js.map +1 -0
  26. package/dist/generated/node-types.d.ts +9 -6
  27. package/dist/generated/node-types.d.ts.map +1 -1
  28. package/dist/generated/node-types.js +1 -1
  29. package/dist/generated/node-types.js.map +1 -1
  30. package/dist/index.d.ts +0 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +0 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/internal.d.ts +1 -1
  35. package/dist/internal.d.ts.map +1 -1
  36. package/dist/internal.js +3 -3
  37. package/dist/internal.js.map +1 -1
  38. package/dist/parser.d.ts +3 -6
  39. package/dist/parser.d.ts.map +1 -1
  40. package/dist/parser.js +36 -50
  41. package/dist/parser.js.map +1 -1
  42. package/dist/resolver.js +3 -6
  43. package/dist/resolver.js.map +1 -1
  44. package/dist/rich-node.d.ts.map +1 -1
  45. package/dist/rich-node.js +8 -9
  46. package/dist/rich-node.js.map +1 -1
  47. package/dist/types.d.ts +17 -8
  48. package/dist/types.d.ts.map +1 -1
  49. package/package.json +2 -17
  50. package/wasm/tree-sitter-css.wasm +0 -0
  51. package/wasm/tree-sitter-html.wasm +0 -0
  52. package/wasm/tree-sitter-typescript.wasm +0 -0
package/dist/parser.js CHANGED
@@ -1,34 +1,33 @@
1
- import { createRequire } from 'node:module';
2
1
  import { readFileSync } from 'node:fs';
3
2
  import { fileURLToPath } from 'node:url';
4
3
  import { Language, Parser as TreeSitter } from 'web-tree-sitter';
5
4
  import { assert } from './assert.js';
6
- // web-tree-sitter resolves the grammar `.wasm` from its npm package at runtime; the
7
- // engine wasm (`tree-sitter.wasm`) is self-located by `Parser.init()`.
8
- const require = createRequire(import.meta.url);
9
5
  /**
10
- * The typescript/tsx grammars are **vendored** here (resolved relative to this module): the npm
11
- * `tree-sitter-typescript` ships an ABI-14 wasm, which web-tree-sitter loads without supertype
12
- * metadata (so `find` can't expand `expression` etc.). We ship an ABI-15 rebuild — see
13
- * `scripts/regen-ts-wasm.sh` so they impose no peer dependency.
6
+ * Every built-in grammar ships **vendored** as wasm under `wasm/`, so a consumer of `@codegraft/*`
7
+ * needs no native `tree-sitter-*` package (no `node-gyp` build, no C++ toolchain). The wasm filename
8
+ * per {@link GrammarId}; ids absent here (`javascript`/`typescript`) fold onto another via
9
+ * {@link runtimeGrammar} and never resolve a file of their own.
10
+ *
11
+ * Provenance differs by grammar:
12
+ * - `tsx` — rebuilt from `tree-sitter-typescript`'s grammar source, because its npm wasm is ABI-14
13
+ * and loads without the supertype metadata `find('expression')` needs; see `scripts/regen-ts-wasm.sh`.
14
+ * - `html`/`css` — copied verbatim from their npm packages (already ABI-current with supertypes);
15
+ * see `scripts/regen-builtin-wasm.sh`.
16
+ * - `yaml` — vendored from `@tree-sitter-grammars/tree-sitter-yaml` (the bare package ships no wasm).
14
17
  */
15
18
  const VENDORED_WASM = {
16
- typescript: 'tree-sitter-typescript.wasm',
17
19
  tsx: 'tree-sitter-tsx.wasm',
18
- // tree-sitter-yaml ships no prebuilt wasm on the bare `tree-sitter-yaml` package; we vendor the
19
- // one from `@tree-sitter-grammars/tree-sitter-yaml` so YAML imposes no peer dependency.
20
+ html: 'tree-sitter-html.wasm',
21
+ css: 'tree-sitter-css.wasm',
20
22
  yaml: 'tree-sitter-yaml.wasm',
21
23
  };
22
- /**
23
- * The npm specifier of each remaining built-in grammar's `.wasm` (these already ship the ABI we
24
- * need). Optional peer dependencies: resolved only when the grammar is requested, and a missing
25
- * package becomes an actionable error in `resolveBuiltinWasm`.
26
- */
27
- const PEER_WASM = {
28
- javascript: 'tree-sitter-javascript/tree-sitter-javascript.wasm',
29
- html: 'tree-sitter-html/tree-sitter-html.wasm',
30
- css: 'tree-sitter-css/tree-sitter-css.wasm',
31
- };
24
+ /** The grammar a {@link GrammarId} is parsed with at runtime — the JS/TS/TSX family shares the tsx
25
+ * superset (a runtime superset, modulo the JSX-ambiguous angle cast `<T>x` `x as T`), every other
26
+ * id is itself. So `javascript`/`typescript` never load a grammar of their own; they fold onto tsx.
27
+ * The distinction survives only in the compile-time node-type unions (narrower `find`/`type`). */
28
+ function runtimeGrammar(id) {
29
+ return id === 'javascript' || id === 'typescript' ? 'tsx' : id;
30
+ }
32
31
  let initPromise = null;
33
32
  let parser = null;
34
33
  const languages = new Map();
@@ -40,49 +39,35 @@ async function init() {
40
39
  await initPromise;
41
40
  }
42
41
  /**
43
- * Lazily load a grammar, idempotent per `id`. Built-in {@link GrammarId}s resolve
44
- * their own `.wasm`; an external grammar (e.g. a {@link ZoneSplitter}'s shell
45
- * grammar) passes its `wasmPath` and an arbitrary `id` used as the cache key.
42
+ * Lazily load a grammar, idempotent. The JS/TS/TSX family folds onto the tsx grammar
43
+ * ({@link runtimeGrammar}); every other built-in {@link GrammarId} resolves its own `.wasm`, and an
44
+ * external grammar (e.g. a {@link ZoneSplitter}'s shell) passes its `wasmPath` under an arbitrary `id`.
46
45
  */
47
46
  async function loadGrammar(id, wasmPath) {
48
- if (languages.has(id))
47
+ const key = runtimeGrammar(id);
48
+ if (languages.has(key))
49
49
  return;
50
- let pending = loads.get(id);
50
+ let pending = loads.get(key);
51
51
  if (!pending) {
52
- pending = loadLanguage(id, wasmPath);
53
- loads.set(id, pending);
52
+ pending = loadLanguage(key, wasmPath);
53
+ loads.set(key, pending);
54
54
  }
55
- languages.set(id, await pending);
55
+ languages.set(key, await pending);
56
56
  }
57
57
  async function loadLanguage(id, wasmPath) {
58
58
  await init();
59
59
  const path = wasmPath ?? resolveBuiltinWasm(id);
60
60
  return Language.load(readFileSync(path));
61
61
  }
62
- /** The npm package a consumer must install for a built-in grammar, or `null` for a vendored
63
- * grammar that ships with `@codegraft/core`. */
64
- export function grammarPackage(id) {
65
- const spec = PEER_WASM[id];
66
- return spec ? spec.slice(0, spec.indexOf('/')) : null;
67
- }
68
62
  function resolveBuiltinWasm(id) {
69
63
  const vendored = VENDORED_WASM[id];
70
- if (vendored)
71
- return fileURLToPath(new URL(`../wasm/${vendored}`, import.meta.url));
72
- const spec = PEER_WASM[id];
73
- assert(spec, `grammar '${id}' is not built in; a ZoneSplitter must pass its own wasmPath to loadGrammar`);
74
- try {
75
- return require.resolve(spec);
76
- }
77
- catch {
78
- const pkg = spec.slice(0, spec.indexOf('/'));
79
- throw new Error(`[codegraft] grammar '${id}' requires the optional peer '${pkg}'; add it to your dependencies`);
80
- }
64
+ assert(vendored, `grammar '${id}' is not built in; a ZoneSplitter must pass its own wasmPath to loadGrammar`);
65
+ return fileURLToPath(new URL(`../wasm/${vendored}`, import.meta.url));
81
66
  }
82
67
  /** Parse `source` with an already-loaded grammar. Reuses one parser instance; safe
83
68
  * because transforms run synchronously and trees are independent of the parser. */
84
69
  function parse(source, id) {
85
- const language = languages.get(id);
70
+ const language = languages.get(runtimeGrammar(id));
86
71
  assert(language, `grammar '${id}' not loaded; call loadGrammar('${id}') first`);
87
72
  parser ??= new TreeSitter();
88
73
  parser.setLanguage(language);
@@ -95,11 +80,12 @@ function parse(source, id) {
95
80
  * names are kept too — harmless, since only concrete types appear in a tree. Memoised per grammar,
96
81
  * so a `find` can call it per node. */
97
82
  function subtypesOf(id, typeName) {
98
- const language = languages.get(id);
83
+ const key = runtimeGrammar(id);
84
+ const language = languages.get(key);
99
85
  assert(language, `grammar '${id}' not loaded; call loadGrammar('${id}') first`);
100
- let perGrammar = subtypeCache.get(id);
86
+ let perGrammar = subtypeCache.get(key);
101
87
  if (!perGrammar)
102
- subtypeCache.set(id, (perGrammar = new Map()));
88
+ subtypeCache.set(key, (perGrammar = new Map()));
103
89
  let names = perGrammar.get(typeName);
104
90
  if (!names) {
105
91
  const supertypes = new Set(language.supertypes);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/resolver.js CHANGED
@@ -141,15 +141,12 @@ class ScopeResolver {
141
141
  case 'import_statement':
142
142
  this.#bindImports(node);
143
143
  return;
144
- case 'statement_block': {
145
- this.#walkChildren(node, this.#newScope(node, scope), fnScope);
146
- return;
147
- }
144
+ // A block / loop opens a fresh lexical scope but binds no name of its own.
145
+ case 'statement_block':
148
146
  case 'for_statement':
149
- case 'for_in_statement': {
147
+ case 'for_in_statement':
150
148
  this.#walkChildren(node, this.#newScope(node, scope), fnScope);
151
149
  return;
152
- }
153
150
  case 'catch_clause': {
154
151
  const inner = this.#newScope(node, scope);
155
152
  this.#bindPattern(node.child('parameter'), inner);
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rich-node.d.ts","sourceRoot":"","sources":["../src/rich-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAA;AA2G5D,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAEvF"}
1
+ {"version":3,"file":"rich-node.d.ts","sourceRoot":"","sources":["../src/rich-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAA;AAwG5D,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAEvF"}
package/dist/rich-node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  var _a;
2
- import { COMMENT_TYPES } from './comment-attachment.js';
2
+ import { isComment } from './comment-attachment.js';
3
3
  import { assert } from './assert.js';
4
4
  /**
5
5
  * Lazy wrapper over a web-tree-sitter `Node`. Scalar accessors (type/text/positions)
@@ -52,6 +52,12 @@ class RichNodeImpl {
52
52
  get parent() {
53
53
  return this.#parent;
54
54
  }
55
+ get root() {
56
+ let cur = this;
57
+ while (cur.parent)
58
+ cur = cur.parent;
59
+ return cur;
60
+ }
55
61
  get documentStartIndex() {
56
62
  return this.#node.startIndex + this.#startOffset;
57
63
  }
@@ -65,20 +71,13 @@ class RichNodeImpl {
65
71
  /** Named structural children with comments removed — the surface pattern matching
66
72
  * walks, so neither punctuation nor comments can perturb a match. */
67
73
  get children() {
68
- const comments = COMMENT_TYPES[this.language];
69
- this.#children ??= this.#computeAllChildren().filter((n) => n.isNamed && !comments.has(n.type));
74
+ this.#children ??= this.#computeAllChildren().filter((n) => n.isNamed && !isComment(n));
70
75
  return this.#children;
71
76
  }
72
77
  child(field) {
73
78
  const target = this.#node.childForFieldName(field);
74
79
  return target === null ? null : this.#wrapperFor(target, field);
75
80
  }
76
- childrenForField(field) {
77
- return this.#node
78
- .childrenForFieldName(field)
79
- .filter((n) => n !== null)
80
- .map((target) => this.#wrapperFor(target, field));
81
- }
82
81
  #computeAllChildren() {
83
82
  this.#allChildren ??= this.#node.children
84
83
  .filter((c) => c !== null)
@@ -1 +1 @@
1
- {"version":3,"file":"rich-node.js","sourceRoot":"","sources":["../src/rich-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rich-node.js","sourceRoot":"","sources":["../src/rich-node.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  import type { NodeTypeAll, FieldName } from './generated/node-types.js';
2
- /** A real tree-sitter grammar. There is no id for SFC file formats — those are
3
- * handled by a {@link ZoneSplitter}, which maps each section to one of these. */
4
- export type GrammarId = 'javascript' | 'typescript' | 'tsx' | 'html' | 'css' | 'yaml';
2
+ import type { FormatOptions } from './format.js';
3
+ /**
4
+ * A real tree-sitter grammar. SFC *file formats* have no id of their own — a {@link ZoneSplitter}
5
+ * maps each section to one of these. `'vue'` is the exception: it is a real tree-sitter grammar
6
+ * (used for a `.vue` `<template>` zone) but its wasm ships with `@codegraft/vue`, not core, so it is
7
+ * loaded by the splitter's `init()` (via `loadGrammar`'s path form) rather than resolved as built-in.
8
+ */
9
+ export type GrammarId = 'javascript' | 'typescript' | 'tsx' | 'html' | 'css' | 'yaml' | 'vue';
5
10
  /** Row/column position, mirroring tree-sitter's `Point`. */
6
11
  export type Point = {
7
12
  row: number;
@@ -48,13 +53,14 @@ export interface RichNode {
48
53
  readonly startPosition: Point;
49
54
  readonly endPosition: Point;
50
55
  readonly parent: RichNode | null;
56
+ /** The zone tree's root — the topmost ancestor, or `this` when parentless. */
57
+ readonly root: RichNode;
51
58
  /** Named structural children: no punctuation, no comments. The surface pattern
52
59
  * matching walks, so comments never perturb a match. */
53
60
  readonly children: RichNode[];
54
61
  /** Full CST: every child, including punctuation and comment nodes. */
55
62
  readonly allChildren: RichNode[];
56
63
  child(field: FieldName): RichNode | null;
57
- childrenForField(field: FieldName): RichNode[];
58
64
  readonly leadingComments: RichNode[];
59
65
  readonly trailingComments: RichNode[];
60
66
  readonly innerComments: RichNode[];
@@ -93,12 +99,15 @@ export interface SourceMap {
93
99
  * and is constrained to a record so it can flow into the body and `transform(src, ctx)`.
94
100
  */
95
101
  export interface Transformer<Ctx extends Record<string, unknown> = Record<string, unknown>> {
96
- transform(source: string, context: Ctx): string;
97
- /** Like {@link transform} but also returns a source map (`options.source` names the
98
- * input in the map). Used by build-pipeline integrations such as `@codegraft/unplugin`. */
102
+ /** Apply the codemod to `source`. The recorded edits are always rendered indentation-aware —
103
+ * inserts re-indented to the file's unit/EOL, a removed node's line collapsed — keyed off the
104
+ * source's detected style; `options` overrides that detection per apply (see {@link FormatOptions}). */
105
+ transform(source: string, context: Ctx, options?: FormatOptions): string;
106
+ /** Like {@link transform} but also returns a source map (`options.source` names the input in the
107
+ * map). Used by build-pipeline integrations such as `@codegraft/unplugin`. */
99
108
  transformWithMap(source: string, context: Ctx, options?: {
100
109
  source?: string;
101
- }): {
110
+ } & FormatOptions): {
102
111
  code: string;
103
112
  map: SourceMap;
104
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codegraft/core",
3
- "version": "0.1.0-beta.1",
3
+ "version": "0.1.0-beta.11",
4
4
  "description": "Tree-sitter runtime for Codegraft: parser, RichNode, comment attachment, zone splitting, the Collection, scope resolver, and edit application.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -33,22 +33,6 @@
33
33
  "magic-string": "^0.30.0",
34
34
  "web-tree-sitter": "^0.26.9"
35
35
  },
36
- "peerDependencies": {
37
- "tree-sitter-css": "^0.25.0",
38
- "tree-sitter-html": "^0.23.0",
39
- "tree-sitter-javascript": "^0.25.0"
40
- },
41
- "peerDependenciesMeta": {
42
- "tree-sitter-css": {
43
- "optional": true
44
- },
45
- "tree-sitter-html": {
46
- "optional": true
47
- },
48
- "tree-sitter-javascript": {
49
- "optional": true
50
- }
51
- },
52
36
  "devDependencies": {
53
37
  "tree-sitter-css": "^0.25.0",
54
38
  "tree-sitter-html": "^0.23.0",
@@ -57,6 +41,7 @@
57
41
  "scripts": {
58
42
  "build": "tsc -b",
59
43
  "regen-ts-wasm": "bash scripts/regen-ts-wasm.sh",
44
+ "regen-builtin-wasm": "bash scripts/regen-builtin-wasm.sh",
60
45
  "regen-node-types": "node scripts/regen-node-types.mjs"
61
46
  }
62
47
  }
Binary file
Binary file
Binary file