@ttsc/lint 0.26.0 → 0.26.2
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 +4 -2
- package/lib/index.js +62 -2
- package/lib/index.js.map +1 -1
- package/lib/structures/format/ITtscLintFormat.d.ts +4 -3
- package/linthost/config.go +243 -9
- package/linthost/rules_format_semi.go +500 -63
- package/package.json +2 -2
- package/src/index.ts +70 -2
- package/src/structures/format/ITtscLintFormat.ts +4 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/samchon/ttsc/blob/master/LICENSE) [](https://www.npmjs.com/package/@ttsc/lint) [](https://www.npmjs.com/package/@ttsc/lint) [](https://github.com/samchon/ttsc/actions?query=workflow%3Atest) [](https://ttsc.dev/docs) [](https://discord.gg/E94XhzrUCZ)
|
|
6
6
|
|
|
7
|
-
A linter and formatter. Co-protagonist of the [`ttsc`](https://ttsc.dev) toolchain, paired with `ttsc`, it replaces `eslint` and `prettier`.
|
|
7
|
+
A linter and formatter. Co-protagonist of the [`ttsc`](https://ttsc.dev) toolchain, paired with `ttsc`, it replaces `eslint` and covers most of `prettier`.
|
|
8
8
|
|
|
9
9
|
720+ rules across 21 families. Lint violations surface as `error TSxxxxx` from a single compile pass; the formatter applies via `ttsc format`.
|
|
10
10
|
|
|
@@ -102,6 +102,8 @@ npx ttsc format
|
|
|
102
102
|
|
|
103
103
|
Configure the formatter through the `format` block in `lint.config.ts`. Keys mirror `.prettierrc`; the presence of the block, even empty `format: {}`, enables the always-on format rules at Prettier defaults so `ttsc format` rewrites your source to match.
|
|
104
104
|
|
|
105
|
+
One boundary to know before you drop `prettier`: no pass normalizes the whitespace between two tokens, so `a=1`, `if(x){`, and `const i : number` are left as written. See [Format → Scope](https://ttsc.dev/docs/lint/format#scope).
|
|
106
|
+
|
|
105
107
|
```ts
|
|
106
108
|
// lint.config.ts
|
|
107
109
|
import type { ITtscLintConfig } from "@ttsc/lint";
|
|
@@ -128,7 +130,7 @@ Each `format` key controls one behavior:
|
|
|
128
130
|
| Config key | Effect |
|
|
129
131
|
| --- | --- |
|
|
130
132
|
| `severity` (default `"off"`) | Check-time diagnostic level for formatting. Does not gate `ttsc format`. |
|
|
131
|
-
| `semi` | Insert trailing semicolons on ASI-terminated statements. |
|
|
133
|
+
| `semi` | Insert trailing semicolons on ASI-terminated statements, and own the member separator in interface, type-literal, mapped-type, and class bodies. |
|
|
132
134
|
| `singleQuote` | Convert quoted strings to the preferred quote style. |
|
|
133
135
|
| `arrowParens` | Add or remove parens around a single arrow parameter. |
|
|
134
136
|
| `bracketSpacing` | Spaces inside object and named-import/export braces. |
|
package/lib/index.js
CHANGED
|
@@ -1658,8 +1658,9 @@ function evaluateTtsxConfigPlugins(configPath, context) {
|
|
|
1658
1658
|
"--no-plugins",
|
|
1659
1659
|
loaderPath,
|
|
1660
1660
|
];
|
|
1661
|
-
|
|
1662
|
-
|
|
1661
|
+
const tsgoBinary = resolveConfigTsgo(configPath, context);
|
|
1662
|
+
if (tsgoBinary) {
|
|
1663
|
+
args.unshift("--binary", tsgoBinary);
|
|
1663
1664
|
}
|
|
1664
1665
|
const env = {
|
|
1665
1666
|
...nodeConfigLoaderEnv(configPath),
|
|
@@ -2206,6 +2207,65 @@ function nodeConfigLoaderEnv(configPath) {
|
|
|
2206
2207
|
* and is not for a host that loaded this descriptor in process. The bare name
|
|
2207
2208
|
* remains the last resort for an installation none of them reach.
|
|
2208
2209
|
*/
|
|
2210
|
+
/**
|
|
2211
|
+
* The native TypeScript compiler the config evaluator must run.
|
|
2212
|
+
*
|
|
2213
|
+
* The evaluator builds the loader in an ephemeral directory, so the child it
|
|
2214
|
+
* spawns cannot discover `typescript` the way an ordinary invocation does: the
|
|
2215
|
+
* directory is not in the project, and `linkNearestNodeModules` is the only
|
|
2216
|
+
* thing that puts the project's modules within reach of it. Leaving the child
|
|
2217
|
+
* to re-derive the compiler from there made this work by inheritance —
|
|
2218
|
+
* `TTSC_TSGO_BINARY` is exported by `ttsx` to its own descendants, so a build
|
|
2219
|
+
* launched under `ttsx` passed a binary down and a build launched any other way
|
|
2220
|
+
* did not. A published consumer exports no such variable, and neither does a
|
|
2221
|
+
* process that deliberately sheds the launcher's runtime state, and for those
|
|
2222
|
+
* the evaluator failed with `ttsc: typescript is required` before it read a
|
|
2223
|
+
* line of the config.
|
|
2224
|
+
*
|
|
2225
|
+
* The host has already resolved a compiler for the project it is linting, so
|
|
2226
|
+
* the answer is asked of the project rather than of the environment. The config
|
|
2227
|
+
* comes first and the descriptor's own location second, the same order and for
|
|
2228
|
+
* the same reason as {@link resolveTtsxLauncher}. An explicit `TTSC_TSGO_BINARY`
|
|
2229
|
+
* still wins, so an embedder that pins a compiler keeps pinning it.
|
|
2230
|
+
*
|
|
2231
|
+
* Returning `undefined` leaves the child to resolve for itself, which is what
|
|
2232
|
+
* it did before: a project that cannot answer here could not answer there
|
|
2233
|
+
* either, and the child's own diagnostic is the one that names the missing
|
|
2234
|
+
* package.
|
|
2235
|
+
*/
|
|
2236
|
+
function resolveConfigTsgo(configPath, context) {
|
|
2237
|
+
const explicit = process.env.TTSC_TSGO_BINARY?.trim();
|
|
2238
|
+
if (explicit)
|
|
2239
|
+
return explicit;
|
|
2240
|
+
const anchors = [
|
|
2241
|
+
configPath,
|
|
2242
|
+
node_path_1.default.join(context.projectRoot, "package.json"),
|
|
2243
|
+
context.dirname,
|
|
2244
|
+
];
|
|
2245
|
+
for (const anchor of anchors) {
|
|
2246
|
+
const binary = tsgoBinaryFrom(anchor);
|
|
2247
|
+
if (binary !== undefined)
|
|
2248
|
+
return binary;
|
|
2249
|
+
}
|
|
2250
|
+
return undefined;
|
|
2251
|
+
}
|
|
2252
|
+
/**
|
|
2253
|
+
* The platform compiler binary of the `typescript` install `anchor` can see, or
|
|
2254
|
+
* `undefined` when this anchor reaches neither the package nor its platform
|
|
2255
|
+
* dependency. Mirrors ttsc's own resolution order so both name one file.
|
|
2256
|
+
*/
|
|
2257
|
+
function tsgoBinaryFrom(anchor) {
|
|
2258
|
+
try {
|
|
2259
|
+
const manifest = (0, node_module_1.createRequire)(anchor).resolve("typescript/package.json");
|
|
2260
|
+
const platform = (0, node_module_1.createRequire)(manifest).resolve(`@typescript/typescript-${process.platform}-${process.arch}/package.json`);
|
|
2261
|
+
const binary = node_path_1.default.join(node_path_1.default.dirname(platform), "lib", process.platform === "win32" ? "tsc.exe" : "tsc");
|
|
2262
|
+
return node_fs_1.default.existsSync(binary) ? binary : undefined;
|
|
2263
|
+
}
|
|
2264
|
+
catch {
|
|
2265
|
+
// This anchor cannot see the compiler; the caller tries the next one.
|
|
2266
|
+
return undefined;
|
|
2267
|
+
}
|
|
2268
|
+
}
|
|
2209
2269
|
function resolveTtsxLauncher(anchors) {
|
|
2210
2270
|
const explicit = process.env.TTSC_TTSX_BINARY?.trim();
|
|
2211
2271
|
if (explicit)
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,10 @@ export interface ITtscLintFormat {
|
|
|
28
28
|
*/
|
|
29
29
|
severity?: TtscLintSeverity;
|
|
30
30
|
/**
|
|
31
|
-
* Insert trailing semicolons on ASI-terminated statements
|
|
32
|
-
*
|
|
33
|
-
*
|
|
31
|
+
* Insert trailing semicolons on ASI-terminated statements, and on the
|
|
32
|
+
* interface, type-literal, and class members that carry no body. Mirrors
|
|
33
|
+
* Prettier's `semi`. `false` flips the rule to require _no_ trailing
|
|
34
|
+
* semicolon (rare; matches prettier's `semi: false`).
|
|
34
35
|
*
|
|
35
36
|
* @default true
|
|
36
37
|
*/
|
package/linthost/config.go
CHANGED
|
@@ -3028,14 +3028,15 @@ func loadTypeScriptConfigEvaluationWithin(
|
|
|
3028
3028
|
// ttsx build hermetic.
|
|
3029
3029
|
"--no-plugins",
|
|
3030
3030
|
}
|
|
3031
|
-
|
|
3031
|
+
anchors := configToolAnchors(location, resolutionRoot)
|
|
3032
|
+
if tsgo := resolveConfigTsgo(anchors); tsgo != "" {
|
|
3032
3033
|
args = append(args, "--binary", tsgo)
|
|
3033
3034
|
}
|
|
3034
3035
|
args = append(args, loader)
|
|
3035
3036
|
|
|
3036
3037
|
ctx, cancel := context.WithCancel(context.Background())
|
|
3037
3038
|
defer cancel()
|
|
3038
|
-
cmd := ttsxCommandContext(ctx, args...)
|
|
3039
|
+
cmd := ttsxCommandContext(ctx, anchors, args...)
|
|
3039
3040
|
cmd.Env = nodeConfigLoaderEnv(location)
|
|
3040
3041
|
return runConfigLoaderCommand(cmd, location, "TypeScript config file", outputPath)
|
|
3041
3042
|
}
|
|
@@ -4276,6 +4277,23 @@ func typeScriptConfigLoaderTsconfig(loader, location, outDir string) string {
|
|
|
4276
4277
|
return string(body)
|
|
4277
4278
|
}
|
|
4278
4279
|
|
|
4280
|
+
// ttsc:config-loader-shared begin
|
|
4281
|
+
//
|
|
4282
|
+
// One policy in three Go copies: everything between these markers is
|
|
4283
|
+
// duplicated verbatim in packages/lint/linthost/config.go,
|
|
4284
|
+
// packages/banner/driver/banner.go and packages/strip/driver/config.go. #1169
|
|
4285
|
+
// decided against extracting it — the only home the three modules could share
|
|
4286
|
+
// is the public `packages/ttsc/driver` seam, and packages/lint's go.mod
|
|
4287
|
+
// deliberately requires no in-tree ttsc module — and replaced the checklist
|
|
4288
|
+
// with a gate: `scripts/ci/config-loader-copies.cjs` compares every function
|
|
4289
|
+
// between these markers across all three copies on every pull request, so
|
|
4290
|
+
// editing one and not the others fails by name. That file's header carries the
|
|
4291
|
+
// full decision and the rules for changing this block.
|
|
4292
|
+
//
|
|
4293
|
+
// The code between the markers must stay identical. Comments may differ, the
|
|
4294
|
+
// `@ttsc/<pkg>:` error prefix may differ, and @ttsc/strip spells each name with
|
|
4295
|
+
// a `strip` prefix. Anything package-specific belongs outside the markers.
|
|
4296
|
+
|
|
4279
4297
|
// configModuleOption returns the loader tsconfig's "module" for a config file:
|
|
4280
4298
|
// the module kind Node itself would give that file.
|
|
4281
4299
|
//
|
|
@@ -4406,21 +4424,235 @@ func resolveDirLink(dir string) string {
|
|
|
4406
4424
|
return dir
|
|
4407
4425
|
}
|
|
4408
4426
|
|
|
4427
|
+
// Both tools the TypeScript config evaluator needs — the `ttsx` launcher it
|
|
4428
|
+
// spawns and the native compiler it hands that launcher — are resolved from the
|
|
4429
|
+
// project being linted, with an explicit environment variable winning and a
|
|
4430
|
+
// last resort that invents no path.
|
|
4431
|
+
//
|
|
4432
|
+
// The three Go copies are held identical by the gate named at the top of this
|
|
4433
|
+
// block. The JS original — `resolveConfigTsgo` / `resolveTtsxLauncher` in
|
|
4434
|
+
// packages/lint/src/index.ts — is a fourth copy in another language that no Go
|
|
4435
|
+
// gate can reach; the two evaluators must keep one policy, because it was a
|
|
4436
|
+
// divergence between them that made a TypeScript lint config unevaluable
|
|
4437
|
+
// outside a `ttsx`-launched host.
|
|
4438
|
+
//
|
|
4439
|
+
// The environment alone is the wrong place to ask. `ttsx` exports
|
|
4440
|
+
// TTSC_TSGO_BINARY and TTSC_TTSX_BINARY to its own descendants, so a host
|
|
4441
|
+
// launched under `ttsx` inherited both and a host launched any other way
|
|
4442
|
+
// inherited neither. The shipped `ttscserver` binary invoked with its
|
|
4443
|
+
// documented `--tsgo <path>` flag keeps that path in a local and exports
|
|
4444
|
+
// nothing, and an embedder of the driver package exports nothing either. For
|
|
4445
|
+
// those the evaluator spawned a bare `ttsx` that only a global install puts on
|
|
4446
|
+
// PATH, and, past that, a compiler-less child that aborted with
|
|
4447
|
+
// `ttsc: typescript is required` before a line of the config was read.
|
|
4448
|
+
//
|
|
4449
|
+
// configToolAnchors lists the file paths those resolutions walk upward from,
|
|
4450
|
+
// in order: the config file being evaluated, then the resolution root's
|
|
4451
|
+
// manifest. The config comes first because it is the file whose own
|
|
4452
|
+
// installation decides which toolchain the config's imports were written
|
|
4453
|
+
// against; the resolution root answers for a config that lives outside the
|
|
4454
|
+
// project tree (an `extends` target, or a `configFile` pointed at a shared
|
|
4455
|
+
// package).
|
|
4456
|
+
//
|
|
4457
|
+
// The JS evaluator carries a third anchor, the loaded descriptor's own
|
|
4458
|
+
// directory. It has no counterpart here: this host is a compiled binary rather
|
|
4459
|
+
// than a module some `node_modules` copy of `@ttsc/lint` was loaded from, so
|
|
4460
|
+
// there is no third installation to ask.
|
|
4461
|
+
func configToolAnchors(configPath, resolutionRoot string) []string {
|
|
4462
|
+
anchors := make([]string, 0, 2)
|
|
4463
|
+
if strings.TrimSpace(configPath) != "" {
|
|
4464
|
+
anchors = append(anchors, configPath)
|
|
4465
|
+
}
|
|
4466
|
+
if strings.TrimSpace(resolutionRoot) != "" {
|
|
4467
|
+
anchors = append(anchors, filepath.Join(resolutionRoot, "package.json"))
|
|
4468
|
+
}
|
|
4469
|
+
return anchors
|
|
4470
|
+
}
|
|
4471
|
+
|
|
4472
|
+
// resolveConfigTsgo returns the native TypeScript compiler the evaluator hands
|
|
4473
|
+
// its ttsx child through `--binary`, or "" to leave the child resolving for
|
|
4474
|
+
// itself.
|
|
4475
|
+
//
|
|
4476
|
+
// The child runs with `--cwd <ephemeral loader dir>`, so it cannot discover
|
|
4477
|
+
// `typescript` the way an ordinary invocation does: linkNearestNodeModules is
|
|
4478
|
+
// the only thing that puts the project's modules within its reach, and it links
|
|
4479
|
+
// nothing when the config's ancestry carries no node_modules. An explicit
|
|
4480
|
+
// TTSC_TSGO_BINARY still wins, so an embedder that pins a compiler keeps
|
|
4481
|
+
// pinning it. "" is the unchanged last resort: a project that cannot answer
|
|
4482
|
+
// here could not answer inside the child either, and the child's own diagnostic
|
|
4483
|
+
// is the one that names the missing package.
|
|
4484
|
+
func resolveConfigTsgo(anchors []string) string {
|
|
4485
|
+
if explicit := strings.TrimSpace(os.Getenv("TTSC_TSGO_BINARY")); explicit != "" {
|
|
4486
|
+
return explicit
|
|
4487
|
+
}
|
|
4488
|
+
for _, anchor := range anchors {
|
|
4489
|
+
if binary := tsgoBinaryFrom(anchor); binary != "" {
|
|
4490
|
+
return binary
|
|
4491
|
+
}
|
|
4492
|
+
}
|
|
4493
|
+
return ""
|
|
4494
|
+
}
|
|
4495
|
+
|
|
4496
|
+
// tsgoBinaryFrom returns the platform compiler executable of the `typescript`
|
|
4497
|
+
// install `anchor` can see, or "" when this anchor reaches neither the package
|
|
4498
|
+
// nor its platform dependency.
|
|
4499
|
+
//
|
|
4500
|
+
// Mirrors resolveTsgo.ts so the Go host and the JS launcher name one file: the
|
|
4501
|
+
// `typescript` manifest, then `@typescript/typescript-<platform>-<arch>`
|
|
4502
|
+
// resolved from that manifest, then `lib/tsc` inside it.
|
|
4503
|
+
//
|
|
4504
|
+
// The install is chased to its real directory before the second hop, because
|
|
4505
|
+
// Node resolves a module's own dependencies from its real location. pnpm keeps
|
|
4506
|
+
// the real `typescript` directory in its content-addressed store with the
|
|
4507
|
+
// platform package beside it and leaves a link in the project's node_modules,
|
|
4508
|
+
// so a walk that started at the link would climb straight past the platform
|
|
4509
|
+
// package. NTFS junctions defeat filepath.EvalSymlinks, so the link component
|
|
4510
|
+
// is chased by hand first, the same order loaderTempBase uses.
|
|
4511
|
+
func tsgoBinaryFrom(anchor string) string {
|
|
4512
|
+
manifest := nodePackageManifestFrom(anchor, "typescript")
|
|
4513
|
+
if manifest == "" {
|
|
4514
|
+
return ""
|
|
4515
|
+
}
|
|
4516
|
+
packageDir := realpathIfPossible(resolveDirLink(filepath.Dir(manifest)))
|
|
4517
|
+
platform, arch := nodePlatformPair()
|
|
4518
|
+
platformManifest := nodePackageManifestFrom(
|
|
4519
|
+
filepath.Join(packageDir, "package.json"),
|
|
4520
|
+
"@typescript/typescript-"+platform+"-"+arch,
|
|
4521
|
+
)
|
|
4522
|
+
if platformManifest == "" {
|
|
4523
|
+
return ""
|
|
4524
|
+
}
|
|
4525
|
+
name := "tsc"
|
|
4526
|
+
if runtime.GOOS == "windows" {
|
|
4527
|
+
name = "tsc.exe"
|
|
4528
|
+
}
|
|
4529
|
+
binary := filepath.Join(filepath.Dir(platformManifest), "lib", name)
|
|
4530
|
+
if stat, err := os.Stat(binary); err != nil || stat.IsDir() {
|
|
4531
|
+
return ""
|
|
4532
|
+
}
|
|
4533
|
+
return binary
|
|
4534
|
+
}
|
|
4535
|
+
|
|
4536
|
+
// resolveTtsxLauncher returns the launcher ttsxCommandContext spawns.
|
|
4537
|
+
//
|
|
4538
|
+
// An explicit TTSC_TTSX_BINARY wins. Otherwise the launcher is derived from the
|
|
4539
|
+
// `ttsc` installation one of the anchors can see, because a bare command name
|
|
4540
|
+
// only works when a bin link happens to be on PATH — which it is for a global
|
|
4541
|
+
// install and is not for the ordinary project-local one. The bare `"ttsx"` name
|
|
4542
|
+
// remains the unchanged last resort for an installation no anchor reaches.
|
|
4543
|
+
func resolveTtsxLauncher(anchors []string) string {
|
|
4544
|
+
if explicit := strings.TrimSpace(os.Getenv("TTSC_TTSX_BINARY")); explicit != "" {
|
|
4545
|
+
return explicit
|
|
4546
|
+
}
|
|
4547
|
+
for _, anchor := range anchors {
|
|
4548
|
+
if launcher := ttsxLauncherFrom(anchor); launcher != "" {
|
|
4549
|
+
return launcher
|
|
4550
|
+
}
|
|
4551
|
+
}
|
|
4552
|
+
return "ttsx"
|
|
4553
|
+
}
|
|
4554
|
+
|
|
4555
|
+
// ttsxLauncherFrom returns `lib/launcher/ttsx.js` of the `ttsc` install
|
|
4556
|
+
// `anchor` can see, or "" when this anchor reaches no such install. Only the
|
|
4557
|
+
// manifest is an exported subpath, so the launcher is derived from where the
|
|
4558
|
+
// manifest resolved rather than requested as a subpath of its own.
|
|
4559
|
+
func ttsxLauncherFrom(anchor string) string {
|
|
4560
|
+
manifest := nodePackageManifestFrom(anchor, "ttsc")
|
|
4561
|
+
if manifest == "" {
|
|
4562
|
+
return ""
|
|
4563
|
+
}
|
|
4564
|
+
launcher := filepath.Join(filepath.Dir(manifest), "lib", "launcher", "ttsx.js")
|
|
4565
|
+
if stat, err := os.Stat(launcher); err != nil || stat.IsDir() {
|
|
4566
|
+
return ""
|
|
4567
|
+
}
|
|
4568
|
+
return launcher
|
|
4569
|
+
}
|
|
4570
|
+
|
|
4571
|
+
// nodePackageManifestFrom resolves `<pkg>/package.json` the way Node's
|
|
4572
|
+
// require.resolve does from the FILE `anchor`: walk upward from the anchor's
|
|
4573
|
+
// directory and return the first `<dir>/node_modules/<pkg>/package.json` that
|
|
4574
|
+
// exists. The anchor is treated as a file path, so its own directory is the
|
|
4575
|
+
// first candidate's parent, and it need not exist — Node derives the search
|
|
4576
|
+
// paths from the string alone.
|
|
4577
|
+
//
|
|
4578
|
+
// A directory already named `node_modules` contributes no candidate of its own,
|
|
4579
|
+
// matching Module._nodeModulePaths, so nothing ever resolves through
|
|
4580
|
+
// `node_modules/node_modules`.
|
|
4581
|
+
//
|
|
4582
|
+
// A relative anchor is resolved against the process directory before the walk,
|
|
4583
|
+
// again matching Node. Walking a relative path instead would terminate at "."
|
|
4584
|
+
// after one step and silently answer nothing for a config named relatively.
|
|
4585
|
+
func nodePackageManifestFrom(anchor, pkg string) string {
|
|
4586
|
+
if strings.TrimSpace(anchor) == "" || pkg == "" {
|
|
4587
|
+
return ""
|
|
4588
|
+
}
|
|
4589
|
+
if absolute, err := filepath.Abs(anchor); err == nil {
|
|
4590
|
+
anchor = absolute
|
|
4591
|
+
}
|
|
4592
|
+
dir := filepath.Dir(filepath.Clean(anchor))
|
|
4593
|
+
for {
|
|
4594
|
+
if filepath.Base(dir) != "node_modules" {
|
|
4595
|
+
candidate := filepath.Join(dir, "node_modules", filepath.FromSlash(pkg), "package.json")
|
|
4596
|
+
if stat, err := os.Stat(candidate); err == nil && !stat.IsDir() {
|
|
4597
|
+
return candidate
|
|
4598
|
+
}
|
|
4599
|
+
}
|
|
4600
|
+
parent := filepath.Dir(dir)
|
|
4601
|
+
if parent == dir {
|
|
4602
|
+
return ""
|
|
4603
|
+
}
|
|
4604
|
+
dir = parent
|
|
4605
|
+
}
|
|
4606
|
+
}
|
|
4607
|
+
|
|
4608
|
+
// nodePlatformPair is nodePlatformPairFor applied to this build's own target.
|
|
4609
|
+
func nodePlatformPair() (string, string) {
|
|
4610
|
+
return nodePlatformPairFor(runtime.GOOS, runtime.GOARCH)
|
|
4611
|
+
}
|
|
4612
|
+
|
|
4613
|
+
// nodePlatformPairFor maps a Go build target onto the `process.platform` and
|
|
4614
|
+
// `process.arch` pair npm spells a platform package with, so the package name
|
|
4615
|
+
// this host resolves is the same one the JS launcher resolves.
|
|
4616
|
+
//
|
|
4617
|
+
// Only the members whose two vocabularies disagree are mapped. Every other
|
|
4618
|
+
// value is identical on both sides and passes through, which keeps a target
|
|
4619
|
+
// neither side publishes yet resolvable rather than silently wrong, and keeps
|
|
4620
|
+
// this from becoming a list that has to grow with every new port.
|
|
4621
|
+
func nodePlatformPairFor(goos, goarch string) (string, string) {
|
|
4622
|
+
platform := goos
|
|
4623
|
+
switch platform {
|
|
4624
|
+
case "windows":
|
|
4625
|
+
platform = "win32"
|
|
4626
|
+
case "solaris":
|
|
4627
|
+
platform = "sunos"
|
|
4628
|
+
}
|
|
4629
|
+
arch := goarch
|
|
4630
|
+
switch arch {
|
|
4631
|
+
case "amd64":
|
|
4632
|
+
arch = "x64"
|
|
4633
|
+
case "386":
|
|
4634
|
+
arch = "ia32"
|
|
4635
|
+
case "ppc64le":
|
|
4636
|
+
arch = "ppc64"
|
|
4637
|
+
}
|
|
4638
|
+
return platform, arch
|
|
4639
|
+
}
|
|
4640
|
+
|
|
4409
4641
|
// ttsxCommand returns a ttsx exec.Cmd bound to a background context. Use
|
|
4410
4642
|
// ttsxCommandContext when the caller owns a cancellable context.
|
|
4411
|
-
func ttsxCommand(args ...string) *exec.Cmd {
|
|
4412
|
-
return ttsxCommandContext(context.Background(), args...)
|
|
4643
|
+
func ttsxCommand(anchors []string, args ...string) *exec.Cmd {
|
|
4644
|
+
return ttsxCommandContext(context.Background(), anchors, args...)
|
|
4413
4645
|
}
|
|
4414
4646
|
|
|
4415
4647
|
// ttsxCommandContext is the cancellable variant, used by the config loaders so
|
|
4416
4648
|
// their subprocess is torn down with the call that started it. It carries no
|
|
4417
4649
|
// deadline: evaluating a user config is the user's own code running, and how
|
|
4418
4650
|
// long that is allowed to take is not this binary's decision.
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4651
|
+
//
|
|
4652
|
+
// `anchors` are the file paths the launcher is resolved from; see
|
|
4653
|
+
// resolveTtsxLauncher.
|
|
4654
|
+
func ttsxCommandContext(ctx context.Context, anchors []string, args ...string) *exec.Cmd {
|
|
4655
|
+
ttsx := resolveTtsxLauncher(anchors)
|
|
4424
4656
|
if shouldRunTtsxThroughNode(ttsx) {
|
|
4425
4657
|
node := os.Getenv("TTSC_NODE_BINARY")
|
|
4426
4658
|
if node == "" {
|
|
@@ -4531,6 +4763,8 @@ func setEnv(env []string, key, value string) []string {
|
|
|
4531
4763
|
return append(env, prefix+value)
|
|
4532
4764
|
}
|
|
4533
4765
|
|
|
4766
|
+
// ttsc:config-loader-shared end
|
|
4767
|
+
|
|
4534
4768
|
// parseExternalRuleEntry delegates to parseRuleEntry. It is kept under this
|
|
4535
4769
|
// name because test files in the same package call it directly.
|
|
4536
4770
|
func parseExternalRuleEntry(v any) (Severity, json.RawMessage, error) {
|