ttsc 0.21.0 → 0.23.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.
Files changed (119) hide show
  1. package/cmd/ttscserver/main.go +79 -3
  2. package/cmd/ttscserver/run_lsp_uses_native_plugin_manifest_source_test.go +96 -16
  3. package/driver/lsp.go +4 -0
  4. package/go.mod +1 -1
  5. package/internal/lspserver/lsp_document_diagnostics_omits_cached_project_when_current_result_has_none_test.go +48 -0
  6. package/internal/lspserver/lsp_executable_project_input_change_requests_launcher_restart_test.go +98 -0
  7. package/internal/lspserver/lsp_external_watched_change_retains_program_test.go +53 -0
  8. package/internal/lspserver/lsp_hints_refresh_scheduled_by_editor_events_test.go +9 -0
  9. package/internal/lspserver/lsp_launcher_reload_directory_fingerprint_parity_windows_test.go +94 -0
  10. package/internal/lspserver/lsp_native_plugin_source.go +171 -55
  11. package/internal/lspserver/lsp_native_resident.go +110 -9
  12. package/internal/lspserver/lsp_plugin.go +6 -0
  13. package/internal/lspserver/lsp_project_context_transport_identity_test.go +43 -0
  14. package/internal/lspserver/lsp_project_diagnostics.go +235 -0
  15. package/internal/lspserver/lsp_project_diagnostics_capability_is_independent_test.go +67 -0
  16. package/internal/lspserver/lsp_project_diagnostics_program_input_overlap_refreshes_all_producers_test.go +78 -0
  17. package/internal/lspserver/lsp_project_diagnostics_refresh_accumulates_owner_freshness_test.go +65 -0
  18. package/internal/lspserver/lsp_project_diagnostics_refresh_keeps_each_producer_last_good_test.go +90 -0
  19. package/internal/lspserver/lsp_project_diagnostics_refreshes_only_input_owners_test.go +62 -0
  20. package/internal/lspserver/lsp_project_diagnostics_resident_unsupported_falls_back_test.go +123 -0
  21. package/internal/lspserver/lsp_project_diagnostics_resume_preserves_generation_test.go +52 -0
  22. package/internal/lspserver/lsp_project_diagnostics_translates_relative_client_project_test.go +90 -0
  23. package/internal/lspserver/lsp_project_input_glob_path_other.go +16 -0
  24. package/internal/lspserver/lsp_project_input_glob_path_windows.go +36 -0
  25. package/internal/lspserver/lsp_project_input_ownership_resolves_declared_spellings_test.go +95 -0
  26. package/internal/lspserver/lsp_project_input_path_key_other.go +17 -0
  27. package/internal/lspserver/lsp_project_input_path_key_windows.go +228 -0
  28. package/internal/lspserver/lsp_project_input_path_key_windows_test.go +460 -0
  29. package/internal/lspserver/lsp_project_input_registration.go +504 -0
  30. package/internal/lspserver/lsp_project_input_registration_rechecks_selection_baseline_test.go +71 -0
  31. package/internal/lspserver/lsp_project_input_registration_reconciles_rejected_pending_request_test.go +268 -0
  32. package/internal/lspserver/lsp_project_input_registration_shapes_patterns_test.go +94 -0
  33. package/internal/lspserver/lsp_project_input_watchers_anchor_missing_paths_test.go +48 -0
  34. package/internal/lspserver/lsp_project_inputs.go +1012 -0
  35. package/internal/lspserver/lsp_project_inputs_match_missing_exact_and_glob_test.go +129 -0
  36. package/internal/lspserver/lsp_project_inputs_reject_invalid_and_foreign_snapshots_test.go +110 -0
  37. package/internal/lspserver/lsp_proxy.go +591 -28
  38. package/internal/lspserver/lsp_reload_directories_compare_immediate_topology_test.go +188 -0
  39. package/internal/lspserver/lsp_reload_directories_separate_glob_territory_test.go +181 -0
  40. package/internal/lspserver/lsp_reload_file_fingerprint_preserves_raw_symlink_target_test.go +47 -0
  41. package/internal/lspserver/lsp_resident_falls_back_when_serve_unsupported_test.go +1 -1
  42. package/internal/lspserver/lsp_resident_invalidation_broadcasts_program_input_overlap_test.go +60 -0
  43. package/internal/lspserver/lsp_resident_invalidation_targets_project_input_owners_test.go +51 -0
  44. package/internal/lspserver/lsp_same_transport_entries_are_deduplicated_test.go +66 -0
  45. package/lib/compiler/internal/project/readProjectConfig.d.ts +5 -3
  46. package/lib/compiler/internal/project/readProjectConfig.js +46 -14
  47. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  48. package/lib/compiler/internal/residentCheckProcess.d.ts +46 -0
  49. package/lib/compiler/internal/residentCheckProcess.js +227 -0
  50. package/lib/compiler/internal/residentCheckProcess.js.map +1 -0
  51. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +2 -1
  52. package/lib/compiler/internal/resolveEmittedJavaScript.js +35 -18
  53. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  54. package/lib/compiler/internal/runBuild.d.ts +64 -1
  55. package/lib/compiler/internal/runBuild.js +484 -7
  56. package/lib/compiler/internal/runBuild.js.map +1 -1
  57. package/lib/compiler/internal/runSingleFileEmit.js +1 -0
  58. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  59. package/lib/flags/parser.js +13 -17
  60. package/lib/flags/parser.js.map +1 -1
  61. package/lib/flags/schema.d.ts +10 -3
  62. package/lib/flags/schema.js +99 -0
  63. package/lib/flags/schema.js.map +1 -1
  64. package/lib/internal/projectInputPathIdentity.d.ts +31 -0
  65. package/lib/internal/projectInputPathIdentity.js +276 -0
  66. package/lib/internal/projectInputPathIdentity.js.map +1 -0
  67. package/lib/internal/windowsDirectoryCaseSensitivity.d.ts +10 -0
  68. package/lib/internal/windowsDirectoryCaseSensitivity.js +34 -0
  69. package/lib/internal/windowsDirectoryCaseSensitivity.js.map +1 -0
  70. package/lib/launcher/internal/runTtsc.d.ts +17 -0
  71. package/lib/launcher/internal/runTtsc.js +126 -88
  72. package/lib/launcher/internal/runTtsc.js.map +1 -1
  73. package/lib/launcher/internal/runTtscserver.d.ts +13 -1
  74. package/lib/launcher/internal/runTtscserver.js +468 -47
  75. package/lib/launcher/internal/runTtscserver.js.map +1 -1
  76. package/lib/launcher/internal/runTtsx.js +61 -7
  77. package/lib/launcher/internal/runTtsx.js.map +1 -1
  78. package/lib/launcher/internal/runtimeHooks.d.ts +6 -5
  79. package/lib/launcher/internal/runtimeHooks.js +7 -15
  80. package/lib/launcher/internal/runtimeHooks.js.map +1 -1
  81. package/lib/launcher/internal/singleFileOutput.d.ts +16 -0
  82. package/lib/launcher/internal/singleFileOutput.js +103 -0
  83. package/lib/launcher/internal/singleFileOutput.js.map +1 -0
  84. package/lib/launcher/internal/watchTopology.d.ts +288 -2
  85. package/lib/launcher/internal/watchTopology.js +1921 -54
  86. package/lib/launcher/internal/watchTopology.js.map +1 -1
  87. package/lib/plugin/internal/descriptorProcessFailure.d.ts +32 -0
  88. package/lib/plugin/internal/descriptorProcessFailure.js +73 -0
  89. package/lib/plugin/internal/descriptorProcessFailure.js.map +1 -0
  90. package/lib/plugin/internal/loadProjectPlugins.d.ts +1 -0
  91. package/lib/plugin/internal/loadProjectPlugins.js +34 -8
  92. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  93. package/lib/structures/ITtscPluginCapabilities.d.ts +31 -0
  94. package/lib/structures/internal/ITtscProjectInputSnapshot.d.ts +29 -0
  95. package/lib/structures/internal/ITtscProjectInputSnapshot.js +3 -0
  96. package/lib/structures/internal/ITtscProjectInputSnapshot.js.map +1 -0
  97. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +5 -0
  98. package/package.json +12 -8
  99. package/src/compiler/internal/project/readProjectConfig.ts +62 -8
  100. package/src/compiler/internal/residentCheckProcess.ts +279 -0
  101. package/src/compiler/internal/resolveEmittedJavaScript.ts +43 -21
  102. package/src/compiler/internal/runBuild.ts +728 -12
  103. package/src/compiler/internal/runSingleFileEmit.ts +1 -0
  104. package/src/flags/parser.ts +17 -17
  105. package/src/flags/schema.ts +112 -3
  106. package/src/internal/projectInputPathIdentity.ts +377 -0
  107. package/src/internal/windowsDirectoryCaseSensitivity.ts +33 -0
  108. package/src/launcher/internal/runTtsc.ts +148 -117
  109. package/src/launcher/internal/runTtscserver.ts +633 -56
  110. package/src/launcher/internal/runTtsx.ts +87 -10
  111. package/src/launcher/internal/runtimeHooks.ts +16 -16
  112. package/src/launcher/internal/singleFileOutput.ts +133 -0
  113. package/src/launcher/internal/watchTopology.ts +2494 -74
  114. package/src/plugin/internal/descriptorProcessFailure.ts +100 -0
  115. package/src/plugin/internal/loadProjectPlugins.ts +49 -8
  116. package/src/structures/ITtscPluginCapabilities.ts +34 -0
  117. package/src/structures/internal/ITtscProjectInputSnapshot.ts +29 -0
  118. package/src/structures/internal/TtscSingleFileEmitOptions.ts +5 -0
  119. package/tools/shim_audit/baseline.json +0 -9
@@ -0,0 +1,100 @@
1
+ export const PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES = 16 * 1024 * 1024;
2
+ export const PLUGIN_DESCRIPTOR_TIMEOUT_MS = 60_000;
3
+ export const PLUGIN_DESCRIPTOR_TEARDOWN_GRACE_MS = 5_000;
4
+ export const PLUGIN_DESCRIPTOR_STATUS_FD = 3;
5
+ export const PLUGIN_DESCRIPTOR_PROCESS_OPTIONS = Object.freeze({
6
+ killSignal: "SIGKILL" as const,
7
+ maxBuffer: PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES,
8
+ timeout: PLUGIN_DESCRIPTOR_TIMEOUT_MS + PLUGIN_DESCRIPTOR_TEARDOWN_GRACE_MS,
9
+ });
10
+
11
+ interface DescriptorProcessResult {
12
+ error?: Error;
13
+ output?: readonly (string | null)[] | null;
14
+ signal: NodeJS.Signals | null;
15
+ status: number | null;
16
+ stderr: string | null | undefined;
17
+ stdout: string | null | undefined;
18
+ }
19
+
20
+ /**
21
+ * Classify the ways the isolated TypeScript descriptor evaluator can stop.
22
+ *
23
+ * Node reports both timeout and max-buffer termination with the configured
24
+ * signal, so the process error code must take precedence over the signal. The
25
+ * evaluator uses `SIGKILL`: Node's synchronous process API otherwise keeps
26
+ * waiting when a POSIX child handles the default `SIGTERM` without exiting.
27
+ */
28
+ export function pluginDescriptorProcessFailure(
29
+ result: DescriptorProcessResult,
30
+ request: string,
31
+ ): Error | undefined {
32
+ const code = (result.error as NodeJS.ErrnoException | undefined)?.code;
33
+ const nestedCode = result.output?.[PLUGIN_DESCRIPTOR_STATUS_FD]?.trim() ?? "";
34
+ if (code === "ETIMEDOUT" || nestedCode === "ETIMEDOUT") {
35
+ return new Error(
36
+ `ttsc: plugin descriptor "${request}" evaluation through ttsx timed out after ` +
37
+ `${PLUGIN_DESCRIPTOR_TIMEOUT_MS / 1_000} seconds. ` +
38
+ "Descriptor modules and factories must finish their setup within that window.",
39
+ );
40
+ }
41
+ if (code === "ENOBUFS" || nestedCode === "ENOBUFS") {
42
+ return new Error(
43
+ `ttsc: plugin descriptor "${request}" evaluation through ttsx exceeded the ` +
44
+ `${PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES / (1024 * 1024)} MiB process output limit. ` +
45
+ "Reduce stdout and stderr from the descriptor and its dependencies.",
46
+ );
47
+ }
48
+ if (result.error) {
49
+ return new Error(
50
+ `ttsc: failed to launch ttsx for plugin descriptor "${request}": ${result.error.message}`,
51
+ );
52
+ }
53
+ if (result.signal) {
54
+ return new Error(
55
+ `ttsc: plugin descriptor "${request}" evaluation through ttsx was killed by signal ${result.signal}.`,
56
+ );
57
+ }
58
+ if (result.status !== 0) {
59
+ const reason = descriptorFailureReason(
60
+ hasText(result.stderr) ? result.stderr : result.stdout,
61
+ );
62
+ return new Error(
63
+ `ttsc: plugin descriptor "${request}" evaluation through ttsx failed with exit code ${String(result.status)}` +
64
+ (reason === "" ? "" : "\n" + reason),
65
+ );
66
+ }
67
+ return undefined;
68
+ }
69
+
70
+ /**
71
+ * Pass the semantic deadline and private status pipe through the `ttsx` wrapper
72
+ * to the runtime child that actually executes the descriptor.
73
+ */
74
+ export function pluginDescriptorBoundaryEnvironment(
75
+ now: number = Date.now(),
76
+ ): NodeJS.ProcessEnv {
77
+ return {
78
+ TTSC_TTSX_EVALUATOR_DEADLINE_MS: String(now + PLUGIN_DESCRIPTOR_TIMEOUT_MS),
79
+ TTSC_TTSX_EVALUATOR_MAX_BUFFER_BYTES: String(
80
+ PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES,
81
+ ),
82
+ TTSC_TTSX_EVALUATOR_STATUS_FD: String(PLUGIN_DESCRIPTOR_STATUS_FD),
83
+ };
84
+ }
85
+
86
+ function hasText(value: string | null | undefined): value is string {
87
+ return value !== null && value !== undefined && value.trim() !== "";
88
+ }
89
+
90
+ function descriptorFailureReason(stderr: string | null | undefined): string {
91
+ const bounded = (stderr ?? "").slice(-PLUGIN_DESCRIPTOR_REASON_MAX_CHARS);
92
+ const lines = bounded
93
+ .split(/\r?\n/)
94
+ .map((line) => line.trimEnd())
95
+ .filter((line) => line.trim() !== "");
96
+ return lines.slice(-PLUGIN_DESCRIPTOR_REASON_LINES).join("\n");
97
+ }
98
+
99
+ const PLUGIN_DESCRIPTOR_REASON_LINES = 5;
100
+ const PLUGIN_DESCRIPTOR_REASON_MAX_CHARS = 8 * 1024;
@@ -15,6 +15,13 @@ import type { TtscPluginStage } from "../../structures/TtscPluginStage";
15
15
  import type { ITtscLoadedNativePlugin } from "../../structures/internal/ITtscLoadedNativePlugin";
16
16
  import type { ITtscParsedProjectConfig } from "../../structures/internal/ITtscParsedProjectConfig";
17
17
  import { buildSourcePlugin } from "./buildSourcePlugin";
18
+ import {
19
+ PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES,
20
+ PLUGIN_DESCRIPTOR_PROCESS_OPTIONS,
21
+ PLUGIN_DESCRIPTOR_STATUS_FD,
22
+ pluginDescriptorBoundaryEnvironment,
23
+ pluginDescriptorProcessFailure,
24
+ } from "./descriptorProcessFailure";
18
25
 
19
26
  const GO_MOD_SEARCH_MAX_DEPTH = 3;
20
27
 
@@ -65,6 +72,7 @@ export function loadProjectPlugins(options: {
65
72
  entries?: readonly ITtscProjectPluginConfig[] | false;
66
73
  env?: NodeJS.ProcessEnv;
67
74
  file?: string;
75
+ onWatchInputs?: (inputs: readonly string[]) => void;
68
76
  pluginConfigDir?: string;
69
77
  projectRoot?: string;
70
78
  tsconfig?: string;
@@ -86,6 +94,7 @@ export function loadProjectPlugins(options: {
86
94
  (entry) => entry.config.enabled !== false,
87
95
  );
88
96
  if (entries.length === 0) {
97
+ options.onWatchInputs?.([]);
89
98
  return {
90
99
  nativePlugins: [],
91
100
  project,
@@ -150,6 +159,12 @@ export function loadProjectPlugins(options: {
150
159
  stage,
151
160
  };
152
161
  });
162
+ options.onWatchInputs?.(
163
+ records.flatMap((record) => [
164
+ record.source,
165
+ ...(record.contributors?.map((contributor) => contributor.source) ?? []),
166
+ ]),
167
+ );
153
168
  const linkedContributors = records
154
169
  .filter((record) => record.stage === "transform")
155
170
  .flatMap((record) =>
@@ -758,25 +773,51 @@ function loadDescriptorViaTtsx(
758
773
  TTSC_PLUGIN_DESCRIPTOR_LOAD: "1",
759
774
  TTSC_PLUGIN_DESCRIPTOR_OUT: out,
760
775
  TTSC_PLUGIN_ENTRY: request,
776
+ ...pluginDescriptorBoundaryEnvironment(),
761
777
  },
778
+ ...PLUGIN_DESCRIPTOR_PROCESS_OPTIONS,
779
+ stdio: [
780
+ "ignore",
781
+ "pipe",
782
+ "pipe",
783
+ ...Array.from(
784
+ { length: PLUGIN_DESCRIPTOR_STATUS_FD - 2 },
785
+ () => "pipe" as const,
786
+ ),
787
+ ],
762
788
  windowsHide: true,
763
789
  });
764
- if (result.status !== 0 || !fs.existsSync(out)) {
790
+ const processFailure = pluginDescriptorProcessFailure(result, request);
791
+ if (processFailure) throw processFailure;
792
+ if (!fs.existsSync(out)) {
793
+ throw new Error(
794
+ `ttsc: plugin descriptor "${request}" evaluation through ttsx produced no descriptor output.`,
795
+ );
796
+ }
797
+ const outputSize = fs.statSync(out).size;
798
+ if (outputSize > PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES) {
765
799
  throw new Error(
766
- [
767
- `ttsc: failed to load plugin descriptor "${request}" through ttsx`,
768
- result.stderr || result.stdout || "",
769
- ]
770
- .filter((line) => line.trim().length !== 0)
771
- .join("\n"),
800
+ `ttsc: plugin descriptor "${request}" produced ${outputSize} bytes of JSON, ` +
801
+ `exceeding the ${PLUGIN_DESCRIPTOR_MAX_BUFFER_BYTES / (1024 * 1024)} MiB descriptor output limit.`,
802
+ );
803
+ }
804
+ const text = fs.readFileSync(out, "utf8");
805
+ try {
806
+ return JSON.parse(text);
807
+ } catch (error) {
808
+ throw new Error(
809
+ `ttsc: plugin descriptor "${request}" produced invalid JSON: ${errorMessage(error)}`,
772
810
  );
773
811
  }
774
- return JSON.parse(fs.readFileSync(out, "utf8"));
775
812
  } finally {
776
813
  fs.rmSync(dir, { force: true, recursive: true });
777
814
  }
778
815
  }
779
816
 
817
+ function errorMessage(error: unknown): string {
818
+ return error instanceof Error ? error.message : String(error);
819
+ }
820
+
780
821
  function withPluginLoaderEnv<T>(run: () => T): T {
781
822
  const previousNode = process.env.TTSC_NODE_BINARY;
782
823
  const previousTtsx = process.env.TTSC_TTSX_BINARY;
@@ -46,6 +46,40 @@ export interface ITtscPluginCapabilities {
46
46
  */
47
47
  projectContextArgs?: boolean;
48
48
 
49
+ /**
50
+ * Whether the LSP sidecar implements the standalone `lsp-project-diagnostics`
51
+ * command.
52
+ *
53
+ * The command evaluates project rules without an open document. It is
54
+ * independent of `projectInputs`, which publishes only filesystem topology.
55
+ *
56
+ * @default false
57
+ */
58
+ projectDiagnostics?: boolean;
59
+
60
+ /**
61
+ * Whether the sidecar implements the `project-inputs` command. The command
62
+ * publishes normalized exact paths and glob populations declared by enabled
63
+ * project rules without loading a TypeScript Program.
64
+ *
65
+ * @default false
66
+ */
67
+ projectInputs?: boolean;
68
+
69
+ /**
70
+ * Whether the check-stage sidecar implements the newline-delimited
71
+ * `check-serve` protocol used by `ttsc check --watch`.
72
+ *
73
+ * A resident check host keeps one no-emit TypeScript Program across
74
+ * compatible source and declared external-input changes while constructing a
75
+ * fresh rule engine and reporter for every request. The launcher retains the
76
+ * spawn-per-cycle path when this capability is absent and never uses it for
77
+ * transform or emit work.
78
+ *
79
+ * @default false
80
+ */
81
+ residentCheck?: boolean;
82
+
49
83
  /**
50
84
  * Whether the sidecar accepts `--singleThreaded` and `--checkers` on its
51
85
  * command line. The lint sidecar parses both flags via `parseSubcommandFlags`
@@ -0,0 +1,29 @@
1
+ /** Normalized local filesystem dependencies published by project rules. */
2
+ export interface ITtscProjectInputSnapshot {
3
+ /** Exact absolute paths, retained even while missing. */
4
+ files: readonly string[];
5
+ /** Absolute glob patterns using forward-slash separators. */
6
+ globs: readonly string[];
7
+ /** Exact paths whose change invalidates plugin/execution selection. */
8
+ reloadFiles?: readonly string[];
9
+ /** Directories whose immediate topology changes execution selection. */
10
+ reloadDirectories?: readonly string[];
11
+ /** Physical project root that anchored relative declarations. */
12
+ root: string;
13
+ /**
14
+ * The spellings the contributors published, before identity normalization.
15
+ *
16
+ * Normalizing a declaration resolves it through every symlink on its way, so
17
+ * the retained snapshot names the file the link currently points at rather
18
+ * than the link. That is what every comparison needs and the wrong thing to
19
+ * watch: retargeting or replacing the link is exactly what decides which
20
+ * bytes the declaration names next, and it happens at the spelling that
21
+ * normalization discarded. Consumers that install watchers keep both.
22
+ */
23
+ declared?: {
24
+ files: readonly string[];
25
+ globs: readonly string[];
26
+ reloadFiles?: readonly string[];
27
+ reloadDirectories?: readonly string[];
28
+ };
29
+ }
@@ -1,3 +1,4 @@
1
+ import type { ITtscProjectInputSnapshot } from "./ITtscProjectInputSnapshot";
1
2
  import type { TtscCommonOptions } from "./TtscCommonOptions";
2
3
 
3
4
  /** Internal options for emitting one source file through the file-argument path. */
@@ -10,4 +11,8 @@ export interface TtscSingleFileEmitOptions extends TtscCommonOptions {
10
11
  out?: string;
11
12
  /** Suppress summary banners from ttsc/native sidecars. Defaults to `true`. */
12
13
  quiet?: boolean;
14
+ /** Receive native-plugin source roots when a watch owns this invocation. */
15
+ onWatchInputs?: (inputs: readonly string[]) => void;
16
+ /** Receive project-rule filesystem inputs when a watch owns this invocation. */
17
+ onProjectInputs?: (inputs: ITtscProjectInputSnapshot) => void;
13
18
  }
@@ -40,7 +40,6 @@
40
40
  "ESCAPE|checker|VerbosityContext",
41
41
  "ESCAPE|core|LimitedSemaphore",
42
42
  "ESCAPE|core|ModuleDetectionKind",
43
- "ESCAPE|core|ModuleResolutionKind",
44
43
  "ESCAPE|core|NewLineKind",
45
44
  "ESCAPE|core|ParsedOptions",
46
45
  "ESCAPE|core|Pattern",
@@ -194,8 +193,6 @@
194
193
  "FUNC|ast|IsBindableStaticAccessExpression",
195
194
  "FUNC|ast|IsBindableStaticElementAccessExpression",
196
195
  "FUNC|ast|IsBindableStaticNameExpression",
197
- "FUNC|ast|IsBindingElement",
198
- "FUNC|ast|IsBindingPattern",
199
196
  "FUNC|ast|IsBitwiseOperator",
200
197
  "FUNC|ast|IsBitwiseOperatorOrHigher",
201
198
  "FUNC|ast|IsBlock",
@@ -239,10 +236,8 @@
239
236
  "FUNC|ast|IsContextualKeyword",
240
237
  "FUNC|ast|IsContinueStatement",
241
238
  "FUNC|ast|IsDebuggerStatement",
242
- "FUNC|ast|IsDeclaration",
243
239
  "FUNC|ast|IsDeclarationBindingElement",
244
240
  "FUNC|ast|IsDeclarationName",
245
- "FUNC|ast|IsDeclarationNameOrImportPropertyName",
246
241
  "FUNC|ast|IsDeclarationNode",
247
242
  "FUNC|ast|IsDeclarationStatement",
248
243
  "FUNC|ast|IsDecorator",
@@ -279,7 +274,6 @@
279
274
  "FUNC|ast|IsExportSpecifier",
280
275
  "FUNC|ast|IsExportsIdentifier",
281
276
  "FUNC|ast|IsExpression",
282
- "FUNC|ast|IsExpressionNode",
283
277
  "FUNC|ast|IsExpressionOfOptionalChainRoot",
284
278
  "FUNC|ast|IsExpressionStatement",
285
279
  "FUNC|ast|IsExpressionWithTypeArguments",
@@ -567,15 +561,12 @@
567
561
  "FUNC|ast|IsThisTypeNode",
568
562
  "FUNC|ast|IsThrowStatement",
569
563
  "FUNC|ast|IsToken",
570
- "FUNC|ast|IsTokenKind",
571
564
  "FUNC|ast|IsTrivia",
572
565
  "FUNC|ast|IsTriviaKind",
573
566
  "FUNC|ast|IsTryStatement",
574
567
  "FUNC|ast|IsTupleTypeNode",
575
568
  "FUNC|ast|IsTypeAliasDeclaration",
576
569
  "FUNC|ast|IsTypeAssertion",
577
- "FUNC|ast|IsTypeDeclaration",
578
- "FUNC|ast|IsTypeDeclarationName",
579
570
  "FUNC|ast|IsTypeElement",
580
571
  "FUNC|ast|IsTypeKeywordToken",
581
572
  "FUNC|ast|IsTypeLiteralNode",