Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions packages/lint/scripts/check-doc-formula-expressions.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -151,18 +151,19 @@ import { readdirSync, readFileSync, existsSync } from 'node:fs';
import { join, relative, resolve, sep, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';

import ts from 'typescript';
import {
import { requireDefaultExport, requireDependency } from '../../../scripts/import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
const {
validateExpression,
isSupportedRlsExpression,
sqlPredicateToCel,
isPushdownableCel,
} from '@objectstack/formula';
} = await requireDependency('@objectstack/formula', () => import('@objectstack/formula'), import.meta.url);
// The field-level `*When` root verdict AND its message, imported from the one
// place that owns them (#11407). Same discipline as `validateExpression` above:
// this gate is the SECOND consumer of that rule, and a second consumer that
// re-derives the rule owns a dialect of it instead. See surface 3 below.
import { fieldRuleRootIssue, FIELD_RULE_BOUND_ROOTS } from '@objectstack/lint';
const { fieldRuleRootIssue, FIELD_RULE_BOUND_ROOTS } = await requireDependency('@objectstack/lint', () => import('@objectstack/lint'), import.meta.url);

const HERE = dirname(fileURLToPath(import.meta.url));
const REPO_ROOT = resolve(HERE, '../../..');
Expand Down
5 changes: 3 additions & 2 deletions packages/lint/scripts/check-doc-security-posture.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -123,8 +123,9 @@ import { join, relative, resolve, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { tmpdir } from 'node:os';

import ts from 'typescript';
import { validateSecurityPosture, SECURITY_CBP_NO_RELATION } from '@objectstack/lint';
import { requireDefaultExport, requireDependency } from '../../../scripts/import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
const { validateSecurityPosture, SECURITY_CBP_NO_RELATION } = await requireDependency('@objectstack/lint', () => import('@objectstack/lint'), import.meta.url);

const HERE = dirname(fileURLToPath(import.meta.url));
const REPO_ROOT = resolve(HERE, '../../..');
Expand Down
5 changes: 3 additions & 2 deletions scripts/check-aggregator-roster.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -80,6 +80,7 @@
* naming what could not be read (#4690). The self-test pins each refusal.
*/

import { requireDependency } from './import-prerequisite.mjs';
import { readFileSync } from 'node:fs';
import { dirname, join, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';
Expand DownExpand Up@@ -324,7 +325,7 @@ export function judge({ workflows }) {

/** Read and parse both workflows into the shape `judge` consumes. */
export async function readWorkflows(root) {
const { parse } = await import('yaml');
const { parse } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
const workflows = new Map();
for (const file of WORKFLOW_FILES) {
const path = join(root, '.github', 'workflows', file);
Expand DownExpand Up@@ -381,7 +382,7 @@ async function selfTest() {
};

const root = scriptRepoRoot();
const { parse } = await import('yaml');
const { parse } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
const sources = Object.fromEntries(
WORKFLOW_FILES.map((file) => [file, readFileSync(join(root, '.github', 'workflows', file), 'utf8')]),
);
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-ci-filter-parity.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -120,7 +120,8 @@ import { join, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';
import process from 'node:process';

import { parse } from 'yaml';
import { requireDependency } from './import-prerequisite.mjs';
const { parse } = await requireDependency('yaml', () => import('yaml'), import.meta.url);

import { CROSS_PACKAGE_TEST_INPUTS } from './check-cross-package-test-inputs.mjs';
import { isEntrypoint } from './invoked-as.mjs';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-cli-test-child-env.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -160,7 +160,8 @@ import { tmpdir } from 'node:os';
import { dirname, join, relative, resolve, sep } from 'node:path';
import { fileURLToPath } from 'node:url';

import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);

import { isEntrypoint } from './invoked-as.mjs';
import { parseSourceFile } from './ts-parse.mjs';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-closing-keyword-parity.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,7 +98,8 @@
import { execFileSync } from 'node:child_process';
import { readFileSync, statSync } from 'node:fs';
import { join } from 'node:path';
import { parseDocument } from 'yaml';
import { requireDependency } from './import-prerequisite.mjs';
const { parseDocument } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
import { isEntrypoint } from './invoked-as.mjs';

const SELF = 'scripts/check-closing-keyword-parity.mjs';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-cross-repo-closer-outcome.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -120,7 +120,8 @@ import { execFileSync } from 'node:child_process';
import { createRequire } from 'node:module';
import { existsSync, readFileSync } from 'node:fs';
import { join } from 'node:path';
import { isMap, isSeq, parseDocument } from 'yaml';
import { requireDependency } from './import-prerequisite.mjs';
const { isMap, isSeq, parseDocument } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
import { isEntrypoint } from './invoked-as.mjs';

const WORKFLOW = '.github/workflows/cross-repo-issue-closer.yml';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-doc-anchors.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -119,7 +119,8 @@
import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { dirname, join, relative, resolve } from 'node:path';
import Slugger from 'github-slugger';
import { requireDefaultExport } from './import-prerequisite.mjs';
const Slugger = await requireDefaultExport('github-slugger', () => import('github-slugger'), import.meta.url);

import { stripCodeSpans, stripFencedBlocks } from './check-adr-links.mjs';
import { isEntrypoint } from './invoked-as.mjs';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-doc-frontmatter.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -147,7 +147,8 @@ import { createRequire } from 'node:module';
import { join, relative, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';

import { parse, parseDocument } from 'yaml';
import { requireDependency } from './import-prerequisite.mjs';
const { parse, parseDocument } = await requireDependency('yaml', () => import('yaml'), import.meta.url);

import { isEntrypoint } from './invoked-as.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-driver-memory-census.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -107,7 +107,8 @@ import { readFileSync, readdirSync, existsSync } from 'node:fs';
import { join, dirname, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import { execFileSync } from 'node:child_process';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { isEntrypoint } from './invoked-as.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-durability-degradation-log-level.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -239,7 +239,8 @@
import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
import { join, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';

const ROOT = fileURLToPath(new URL('..', import.meta.url));
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-engine-double-contract.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -274,7 +274,8 @@
import { readFileSync, readdirSync, existsSync, writeFileSync } from 'node:fs';
import { join, dirname, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';

const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..');
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-filter-alias-parity.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,7 +86,8 @@
import { readFileSync } from 'node:fs';
import { join } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { isEntrypoint } from './invoked-as.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-init-service-contract.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,7 +81,8 @@
import { readFileSync, readdirSync, statSync } from 'node:fs';
import { join, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';

const ROOT = join(fileURLToPath(new URL('.', import.meta.url)), '..');
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-kernel-hook-pairs.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,7 +70,8 @@
import { readFileSync, readdirSync, statSync } from 'node:fs';
import { join, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { isEntrypoint } from './invoked-as.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-merge-queue-triage-outcome.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -112,7 +112,8 @@ import { execFileSync } from 'node:child_process';
import { createRequire } from 'node:module';
import { existsSync, readFileSync } from 'node:fs';
import { join } from 'node:path';
import { isMap, isSeq, parseDocument } from 'yaml';
import { requireDependency } from './import-prerequisite.mjs';
const { isMap, isSeq, parseDocument } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
import { isEntrypoint } from './invoked-as.mjs';

const WORKFLOW = '.github/workflows/merge-queue-triage.yml';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-meta-type-normalized.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,7 +81,8 @@
import { readFileSync, readdirSync, statSync } from 'node:fs';
import { join, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';

const ROOT = join(fileURLToPath(new URL('.', import.meta.url)), '..');
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-optional-error-sink-contract.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -231,7 +231,8 @@
import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
import { dirname, join, relative, resolve, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);

import { parseSourceFile } from './ts-parse.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-org-identifier.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,7 +268,8 @@
import { execFileSync } from 'node:child_process';
import { readFileSync } from 'node:fs';
import { join } from 'node:path';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { maskComments } from './js-comment-mask.mjs';
import { isEntrypoint } from './invoked-as.mjs';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-overlay-whitelist-table.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -183,7 +183,8 @@

import { readFileSync } from 'node:fs';
import { join } from 'node:path';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { isEntrypoint } from './invoked-as.mjs';

Expand Down
5 changes: 3 additions & 2 deletions scripts/check-override-consistency.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,9 +66,10 @@
import { existsSync, readFileSync } from 'node:fs';
import { dirname, join, relative, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';
import semver from 'semver';
import { parse as parseYaml } from 'yaml';
import { workspacePackages } from './workspace-enumerator.mjs';
import { requireDefaultExport, requireDependency } from './import-prerequisite.mjs';
const semver = await requireDefaultExport('semver', () => import('semver'), import.meta.url);
const { parse: parseYaml } = await requireDependency('yaml', () => import('yaml'), import.meta.url);

const __dirname = dirname(fileURLToPath(import.meta.url));
const repoRoot = resolve(__dirname, '..');
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-plugin-teardown-shape.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -144,7 +144,8 @@ import { tmpdir } from 'node:os';
import { dirname, join, relative, resolve, sep } from 'node:path';
import { fileURLToPath } from 'node:url';

import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);

import { isEntrypoint } from './invoked-as.mjs';
import { parseSourceFile } from './ts-parse.mjs';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-pnpm-acquisition.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -104,7 +104,8 @@ import { execFileSync } from 'node:child_process';
import { mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { join } from 'node:path';
import { LineCounter, isMap, isScalar, isSeq, parseDocument } from 'yaml';
import { requireDependency } from './import-prerequisite.mjs';
const { LineCounter, isMap, isScalar, isSeq, parseDocument } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
import { isEntrypoint } from './invoked-as.mjs';

const WORKFLOW_DIR = '.github/workflows';
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-published-readme-exports.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -289,7 +289,8 @@
import { existsSync, readFileSync, readdirSync } from 'node:fs';
import { join, posix, resolve } from 'node:path';
import process from 'node:process';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { isEntrypoint } from './invoked-as.mjs';
import { createProgramChecked } from './ts-parse.mjs';
import {
Expand Down
8 changes: 5 additions & 3 deletions scripts/check-query-options-erasure-ratchet.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -90,13 +90,15 @@ import { readFileSync, writeFileSync } from 'node:fs';
import { dirname, resolve, relative } from 'node:path';
import { fileURLToPath } from 'node:url';

import { ESLint } from 'eslint';
import { requireDependency } from './import-prerequisite.mjs';
const { ESLint } = await requireDependency('eslint', () => import('eslint'), import.meta.url);

import eslintConfig, {
const {
default: eslintConfig,
QUERY_OPTIONS_RULE_ID,
QUERY_OPTIONS_TEST_GLOBS,
QUERY_OPTIONS_ANY_MESSAGE,
} from '../eslint.config.mjs';
} = await requireDependency('../eslint.config.mjs', () => import('../eslint.config.mjs'), import.meta.url);
import {
checkGuardAdoption,
collectFatalMessages,
Expand Down
5 changes: 3 additions & 2 deletions scripts/check-required-contexts.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -177,6 +177,7 @@
* below, with the decision in judgeInstructionSurfaces.
*/

import { requireDependency } from './import-prerequisite.mjs';
import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { dirname, join, resolve } from 'node:path';
Expand DownExpand Up@@ -995,7 +996,7 @@ export function judge({ registry, workflows }) {
* @param {ReadonlyArray<{ workflow: string, job: string, context: string }>} registry
*/
export async function scanWorkflows(root, registry = REQUIRED_CONTEXTS) {
const { parse } = await import('yaml');
const { parse } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
const workflows = new Map();
for (const file of new Set(registry.map((entry) => entry.workflow))) {
const path = join(root, '.github', 'workflows', file);
Expand DownExpand Up@@ -1584,7 +1585,7 @@ async function selfTest() {
};

const root = scriptRepoRoot();
const { parse } = await import('yaml');
const { parse } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
const sources = {
'lint.yml': readFileSync(join(root, '.github', 'workflows', 'lint.yml'), 'utf8'),
'ci.yml': readFileSync(join(root, '.github', 'workflows', 'ci.yml'), 'utf8'),
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-resume-authority-declared.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -105,7 +105,8 @@
import { readFileSync, readdirSync } from 'node:fs';
import { join, dirname, relative } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';

const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..');
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-route-envelope.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -142,7 +142,8 @@
import { readFileSync, readdirSync, statSync } from 'node:fs';
import { join, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { isEntrypoint } from './invoked-as.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-settings-bind-window.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -107,7 +107,8 @@
import { readFileSync, readdirSync, statSync } from 'node:fs';
import { join, relative, sep } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';

const ROOT = join(fileURLToPath(new URL('.', import.meta.url)), '..');
Expand Down
3 changes: 2 additions & 1 deletion scripts/check-shard-attestation.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -118,6 +118,7 @@
* `--verify`-in-a-comment fixture is the pin.
*/

import { requireDependency } from './import-prerequisite.mjs';
import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { dirname, join, resolve } from 'node:path';
Expand DownExpand Up@@ -565,7 +566,7 @@ export function invokesScript(runText, flag) {
* @returns {Promise<{ problems: string[], gates: number, legs: number, attesters: number }>}
*/
export async function scanWorkflow(root) {
const { parse } = await import('yaml');
const { parse } = await requireDependency('yaml', () => import('yaml'), import.meta.url);
const problems = [];
const file = join(root, '.github', 'workflows', 'ci.yml');
if (!existsSync(file)) {
Expand Down
5 changes: 3 additions & 2 deletions scripts/check-slot-lookup-ratchet.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -42,9 +42,10 @@ import { readFileSync, writeFileSync } from 'node:fs';
import { dirname, resolve, relative } from 'node:path';
import { fileURLToPath } from 'node:url';

import { ESLint } from 'eslint';
import { requireDependency } from './import-prerequisite.mjs';
const { ESLint } = await requireDependency('eslint', () => import('eslint'), import.meta.url);

import eslintConfig, { SLOT_LOOKUP_ANY_MESSAGE } from '../eslint.config.mjs';
const { default: eslintConfig, SLOT_LOOKUP_ANY_MESSAGE } = await requireDependency('../eslint.config.mjs', () => import('../eslint.config.mjs'), import.meta.url);
import { lintFilesStrict } from './eslint-fatal-guard.mjs';
import { ensureStackHeadroom } from './eslint-stack-headroom.mjs';

Expand Down
3 changes: 2 additions & 1 deletion scripts/check-startup-registry-verdict.mjs
Original file line numberDiff line numberDiff line change
Expand Up@@ -148,7 +148,8 @@ import {
import { tmpdir } from 'node:os';
import { join, relative, sep, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';
import ts from 'typescript';
import { requireDefaultExport } from './import-prerequisite.mjs';
const ts = await requireDefaultExport('typescript', () => import('typescript'), import.meta.url);
import { parseSourceFile } from './ts-parse.mjs';
import { isEntrypoint } from './invoked-as.mjs';

Expand Down
Loading
Loading