@checkdigit/typescript-config 8.1.0-PR.68-2ebc → 8.1.0-PR.68-c5c2
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 +9 -9
- package/bin/builder.mjs +4 -6
- package/dist-mjs/builder.mjs +2 -4
- package/dist-mjs/compile.mjs +5 -5
- package/package.json +1 -1
- package/src/builder.ts +1 -3
- package/src/compile.ts +8 -8
package/README.md
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
|
5
5
|
Copyright (c) 2022–2024 [Check Digit, LLC](https://checkdigit.com)
|
6
6
|
|
7
|
-
|
7
|
+
## Introduction
|
8
8
|
|
9
9
|
This module contains the standard Check Digit Typescript configuration, along with our standard build tool `builder`.
|
10
10
|
|
11
|
-
|
11
|
+
## Typescript Configuration
|
12
12
|
|
13
13
|
- currently requires Node 20.17 or above.
|
14
14
|
- emits `esnext`, with the default libraries, to avoid down-leveling. It is intended that application spec tests pick
|
@@ -17,7 +17,7 @@ This module contains the standard Check Digit Typescript configuration, along wi
|
|
17
17
|
- uses the `module` type of `esnext`.
|
18
18
|
- all compiler options set for maximum strictness.
|
19
19
|
|
20
|
-
|
20
|
+
## Builder
|
21
21
|
|
22
22
|
`builder` is a command line tool that generates ESM modules from the Typescript source.
|
23
23
|
It is intended to be used when publishing a package to NPM, or to bundle a package for deployment.
|
@@ -26,7 +26,7 @@ It uses `tsc` for generating types, and `esbuild` for generating code.
|
|
26
26
|
**Note:** the `require` function will be defined as a global variable, to allow
|
27
27
|
dynamic `require`s by CommonJS submodules. This is not a problem for Node.js, but will cause issues in a browser environment.
|
28
28
|
|
29
|
-
|
29
|
+
### Options
|
30
30
|
|
31
31
|
- `--type` the type of output to generate. Defaults to `module` (ESM). Valid values are `module` or `types`.
|
32
32
|
- `--entryPoint` the entry point for the bundle, relative to the inDir. if not provided, the files in the inDir will
|
@@ -39,9 +39,9 @@ dynamic `require`s by CommonJS submodules. This is not a problem for Node.js, bu
|
|
39
39
|
- `--minify` whether to minify the output.
|
40
40
|
- `--sourceMap` whether to include inline sourcemap.
|
41
41
|
|
42
|
-
|
42
|
+
### Examples
|
43
43
|
|
44
|
-
```
|
44
|
+
```shell
|
45
45
|
# build ESM .mjs files from Typescript source
|
46
46
|
npx builder --type=module --outDir=build-esm
|
47
47
|
|
@@ -49,7 +49,7 @@ npx builder --type=module --outDir=build-esm
|
|
49
49
|
npx builder --type=module --outDir=build-esm-bundle --entryPoint=index.ts --outFile=index.mjs
|
50
50
|
```
|
51
51
|
|
52
|
-
|
52
|
+
## Tests
|
53
53
|
|
54
54
|
This module includes a number of integration-style tests, to ensure that a specific version of Typescript will interoperate
|
55
55
|
with `builder`, in addition to libraries and frameworks used by Check Digit:
|
@@ -81,7 +81,7 @@ Bear in mind, any update of Typescript can potentially break your build. But hop
|
|
81
81
|
|
82
82
|
### Installation
|
83
83
|
|
84
|
-
```
|
84
|
+
```shell
|
85
85
|
npm add -D @checkdigit/typescript-config
|
86
86
|
```
|
87
87
|
|
@@ -92,7 +92,7 @@ Make sure your project's `tsconfig.json` extends `@checkdigit/typescript-config`
|
|
92
92
|
|
93
93
|
### Example `tsconfig.json`
|
94
94
|
|
95
|
-
```
|
95
|
+
```json
|
96
96
|
{
|
97
97
|
"extends": "@checkdigit/typescript-config"
|
98
98
|
}
|
package/bin/builder.mjs
CHANGED
@@ -176,15 +176,15 @@ async function compile_default({
|
|
176
176
|
absWorkingDir: workingDirectory,
|
177
177
|
platform: "node",
|
178
178
|
format: "esm",
|
179
|
-
treeShaking:
|
179
|
+
treeShaking: true,
|
180
180
|
write: false,
|
181
181
|
metafile: outFile2 !== void 0,
|
182
182
|
sourcesContent: false,
|
183
183
|
logLevel: "error",
|
184
|
-
banner:
|
184
|
+
banner: outFile2 === void 0 ? {} : {
|
185
185
|
js: commonJsCompatabilityBanner
|
186
|
-
}
|
187
|
-
sourcemap: sourceMap2 ? "inline" : false,
|
186
|
+
},
|
187
|
+
sourcemap: sourceMap2 === true ? "inline" : false,
|
188
188
|
...outFile2 === void 0 ? {
|
189
189
|
// individual files
|
190
190
|
outdir: outDir2,
|
@@ -231,8 +231,6 @@ var {
|
|
231
231
|
}
|
232
232
|
});
|
233
233
|
assert3.ok(type === "module" || type === "types", "type must be types or module");
|
234
|
-
assert3.ok(inDir !== void 0, "inDir is required");
|
235
|
-
assert3.ok(outDir !== void 0, "outDir is required");
|
236
234
|
var compileResult = await compile_default({
|
237
235
|
type,
|
238
236
|
inDir: path2.join(process.cwd(), inDir),
|
package/dist-mjs/builder.mjs
CHANGED
@@ -3,7 +3,7 @@ import { strict as assert } from "node:assert";
|
|
3
3
|
import { promises as fs } from "node:fs";
|
4
4
|
import path from "node:path";
|
5
5
|
import { parseArgs } from "node:util";
|
6
|
-
import {
|
6
|
+
import { analyze, compile } from "./index.mjs";
|
7
7
|
var {
|
8
8
|
values: { type, inDir, outDir, entryPoint, outFile, external, minify, sourceMap }
|
9
9
|
} = parseArgs({
|
@@ -19,8 +19,6 @@ var {
|
|
19
19
|
}
|
20
20
|
});
|
21
21
|
assert.ok(type === "module" || type === "types", "type must be types or module");
|
22
|
-
assert.ok(inDir !== void 0, "inDir is required");
|
23
|
-
assert.ok(outDir !== void 0, "outDir is required");
|
24
22
|
var compileResult = await compile({
|
25
23
|
type,
|
26
24
|
inDir: path.join(process.cwd(), inDir),
|
@@ -44,4 +42,4 @@ if (compileResult.metafile !== void 0) {
|
|
44
42
|
`${outFile}: src ${analysis.sourceBytes}, node_modules ${analysis.moduleBytes}, total ${analysis.totalBytes}`
|
45
43
|
);
|
46
44
|
}
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
45
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2J1aWxkZXIudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBRUEsU0FBUyxVQUFVLGNBQWM7QUFDakMsU0FBUyxZQUFZLFVBQVU7QUFDL0IsT0FBTyxVQUFVO0FBQ2pCLFNBQVMsaUJBQWlCO0FBRTFCLFNBQVMsU0FBUyxlQUFlO0FBRWpDLElBQU07QUFBQSxFQUNKLFFBQVEsRUFBRSxNQUFNLE9BQU8sUUFBUSxZQUFZLFNBQVMsVUFBVSxRQUFRLFVBQVU7QUFDbEYsSUFBSSxVQUFVO0FBQUEsRUFDWixTQUFTO0FBQUEsSUFDUCxNQUFNLEVBQUUsTUFBTSxVQUFVLE9BQU8sS0FBSyxTQUFTLFNBQVM7QUFBQSxJQUN0RCxPQUFPLEVBQUUsTUFBTSxVQUFVLE9BQU8sS0FBSyxTQUFTLE1BQU07QUFBQSxJQUNwRCxRQUFRLEVBQUUsTUFBTSxVQUFVLE9BQU8sS0FBSyxTQUFTLFFBQVE7QUFBQSxJQUN2RCxZQUFZLEVBQUUsTUFBTSxVQUFVLE9BQU8sS0FBSyxTQUFTLE9BQVU7QUFBQSxJQUM3RCxTQUFTLEVBQUUsTUFBTSxVQUFVLE9BQU8sS0FBSyxTQUFTLE9BQVU7QUFBQSxJQUMxRCxVQUFVLEVBQUUsTUFBTSxVQUFVLE9BQU8sS0FBSyxVQUFVLE1BQU0sU0FBUyxDQUFDLEVBQUU7QUFBQSxJQUNwRSxRQUFRLEVBQUUsTUFBTSxXQUFXLE9BQU8sS0FBSyxTQUFTLE1BQU07QUFBQSxJQUN0RCxXQUFXLEVBQUUsTUFBTSxXQUFXLE9BQU8sS0FBSyxTQUFTLE1BQU07QUFBQSxFQUMzRDtBQUNGLENBQUM7QUFFRCxPQUFPLEdBQUcsU0FBUyxZQUFZLFNBQVMsU0FBUyw4QkFBOEI7QUFFL0UsSUFBTSxnQkFBZ0IsTUFBTSxRQUFRO0FBQUEsRUFDbEM7QUFBQSxFQUNBLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUs7QUFBQSxFQUNyQyxRQUFRLEtBQUssS0FBSyxRQUFRLElBQUksR0FBRyxNQUFNO0FBQUEsRUFDdkM7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQ0YsQ0FBQztBQUdELE1BQU0sUUFBUTtBQUFBLEVBQ1osY0FBYyxZQUFZLElBQUksT0FBTyxTQUFTO0FBQzVDLFVBQU0sR0FBRyxNQUFNLEtBQUssS0FBSyxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQ3RFLFVBQU0sR0FBRyxVQUFVLEtBQUssTUFBTSxLQUFLLElBQUk7QUFBQSxFQUN6QyxDQUFDO0FBQ0g7QUFHQSxJQUFJLGNBQWMsYUFBYSxRQUFXO0FBQ3hDLFFBQU0sV0FBVyxRQUFRLGNBQWMsUUFBUTtBQUMvQyxRQUFNLEdBQUcsVUFBVSxLQUFLLEtBQUssUUFBUSxlQUFlLEdBQUcsS0FBSyxVQUFVLGNBQWMsVUFBVSxRQUFXLENBQUMsQ0FBQztBQUczRyxVQUFRO0FBQUEsSUFDTixHQUFHLE9BQU8sU0FBUyxTQUFTLFdBQVcsa0JBQWtCLFNBQVMsV0FBVyxXQUFXLFNBQVMsVUFBVTtBQUFBLEVBQzdHO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/dist-mjs/compile.mjs
CHANGED
@@ -142,15 +142,15 @@ async function compile_default({
|
|
142
142
|
absWorkingDir: workingDirectory,
|
143
143
|
platform: "node",
|
144
144
|
format: "esm",
|
145
|
-
treeShaking:
|
145
|
+
treeShaking: true,
|
146
146
|
write: false,
|
147
147
|
metafile: outFile !== void 0,
|
148
148
|
sourcesContent: false,
|
149
149
|
logLevel: "error",
|
150
|
-
banner:
|
150
|
+
banner: outFile === void 0 ? {} : {
|
151
151
|
js: commonJsCompatabilityBanner
|
152
|
-
}
|
153
|
-
sourcemap: sourceMap ? "inline" : false,
|
152
|
+
},
|
153
|
+
sourcemap: sourceMap === true ? "inline" : false,
|
154
154
|
...outFile === void 0 ? {
|
155
155
|
// individual files
|
156
156
|
outdir: outDir,
|
@@ -183,4 +183,4 @@ async function compile_default({
|
|
183
183
|
export {
|
184
184
|
compile_default as default
|
185
185
|
};
|
186
|
-
//# sourceMappingURL=data:application/json;base64,
|
186
|
+
//# sourceMappingURL=data:application/json;base64,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
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"@checkdigit/typescript-config","version":"8.1.0-PR.68-
|
1
|
+
{"name":"@checkdigit/typescript-config","version":"8.1.0-PR.68-c5c2","description":"Check Digit standard Typescript configuration","homepage":"https://github.com/checkdigit/typescript-config#readme","bugs":{"url":"https://github.com/checkdigit/typescript-config/issues"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/typescript-config.git"},"license":"MIT","author":"Check Digit, LLC","type":"module","exports":{".":{"types":"./dist-types/index.d.ts","import":"./dist-mjs/index.mjs","default":"./tsconfig.json"}},"bin":{"builder":"./bin/builder.mjs"},"files":["bin","tsconfig.json","src","dist-types","dist-mjs","!src/**/test/**","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/test/**","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-mjs/**/test/**","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"build":"npm run build:builder && npm run build:types && npm run build:mjs && npm run build:mjs-bundle && npm run build:mjs-bundle-minify && npm run build:mjs-bundle-no-external","build:builder":"esbuild src/builder.ts --bundle --platform=node --format=esm --external:typescript --external:esbuild --outfile=build-builder/builder.mjs && mkdir -p bin && { echo '#!/usr/bin/env node'; cat build-builder/builder.mjs; } > bin/builder.mjs && chmod +x bin/builder.mjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","build:mjs":"rimraf build-mjs && bin/builder.mjs --type=module --outDir=build-mjs","build:mjs-bundle":"rimraf build-mjs-bundle && bin/builder.mjs --type=module --outDir=build-mjs-bundle --entryPoint=test/index.ts --outFile=test/index.mjs","build:mjs-bundle-minify":"rimraf build-mjs-bundle-minify && bin/builder.mjs --type=module --minify --outDir=build-mjs-bundle-minify --entryPoint=test/index.ts --outFile=test/index.mjs","build:mjs-bundle-no-external":"rimraf build-mjs-bundle-no-external && bin/builder.mjs --type=module --external=./node_modules/* --outDir=build-mjs-bundle-no-external --entryPoint=test/index.ts --outFile=test/index.mjs --minify","build:types":"rimraf build-types && bin/builder.mjs --type=types --outDir=build-types","ci:compile":"tsc --noEmit","ci:lint":"npm run lint","ci:style":"npm run prettier","ci:test":"npm run build && npm run test:jest-mjs && npm run test:mjs && npm run test:mjs-bundle && npm run test:mjs-bundle-no-external","lint":"eslint --max-warnings 0 .","lint:fix":"eslint . --fix","prepare":"","prepublishOnly":"npm run build:builder && npm run build:dist-types && npm run build:dist-mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","test:jest-mjs":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false","test:mjs":"node --test build-mjs/test/index.mjs","test:mjs-bundle":"node --test build-mjs-bundle/test/index.mjs","test:mjs-bundle-minify":"node --test build-mjs-bundle-minify/test/index.mjs","test:mjs-bundle-no-external":"node --test build-mjs-bundle-no-external/test/index.mjs"},"prettier":"@checkdigit/prettier-config","jest":{"collectCoverageFrom":["<rootDir>/src/**"],"extensionsToTreatAsEsm":[".ts"],"moduleFileExtensions":["js","mjs","cjs","ts","json","node"],"testMatch":["<rootDir>/src/**/*.spec.ts"],"transform":{"^.+\\.ts$":["ts-jest",{"isolatedModules":true,"diagnostics":false,"useESM":true}]}},"devDependencies":{"@checkdigit/prettier-config":"^5.5.1","@eslint/js":"^9.15.0","@eslint/json":"^0.7.0","@eslint/markdown":"^6.2.1","@jest/globals":"^29.7.0","@types/uuid":"^10.0.0","@typescript-eslint/parser":"^8.15.0","eslint":"^9.15.0","eslint-config-prettier":"^9.1.0","eslint-plugin-jest":"^28.9.0","eslint-plugin-yml":"^1.15.0","jest":"^29.7.0","rimraf":"^6.0.1","ts-jest":"^29.2.5","typescript-eslint":"^8.15.0","uuid":"^11.0.3"},"peerDependencies":{"@types/node":">=20.18","esbuild":"0.24.0","typescript":"5.7.1-rc"},"engines":{"node":">=20.18"},"overrides":{"typescript":"5.7.1-rc"}}
|
package/src/builder.ts
CHANGED
@@ -5,7 +5,7 @@ import { promises as fs } from 'node:fs';
|
|
5
5
|
import path from 'node:path';
|
6
6
|
import { parseArgs } from 'node:util';
|
7
7
|
|
8
|
-
import {
|
8
|
+
import { analyze, compile } from './index';
|
9
9
|
|
10
10
|
const {
|
11
11
|
values: { type, inDir, outDir, entryPoint, outFile, external, minify, sourceMap },
|
@@ -23,8 +23,6 @@ const {
|
|
23
23
|
});
|
24
24
|
|
25
25
|
assert.ok(type === 'module' || type === 'types', 'type must be types or module');
|
26
|
-
assert.ok(inDir !== undefined, 'inDir is required');
|
27
|
-
assert.ok(outDir !== undefined, 'outDir is required');
|
28
26
|
|
29
27
|
const compileResult = await compile({
|
30
28
|
type,
|
package/src/compile.ts
CHANGED
@@ -5,7 +5,7 @@ import { promises as fs } from 'node:fs';
|
|
5
5
|
import path from 'node:path';
|
6
6
|
|
7
7
|
import typescript from 'typescript';
|
8
|
-
import { type PluginBuild
|
8
|
+
import { build, type PluginBuild } from 'esbuild';
|
9
9
|
|
10
10
|
const commonJsCompatabilityBanner = `import { createRequire as __createRequire } from "node:module";
|
11
11
|
import { fileURLToPath as __fileURLToPath } from "node:url";
|
@@ -178,7 +178,7 @@ function resolveTypescriptPaths() {
|
|
178
178
|
};
|
179
179
|
}
|
180
180
|
|
181
|
-
// eslint-disable-next-line max-lines-per-function
|
181
|
+
// eslint-disable-next-line max-lines-per-function
|
182
182
|
export default async function ({
|
183
183
|
type,
|
184
184
|
entryPoint,
|
@@ -279,18 +279,18 @@ export default async function ({
|
|
279
279
|
absWorkingDir: workingDirectory,
|
280
280
|
platform: 'node',
|
281
281
|
format: 'esm',
|
282
|
-
treeShaking:
|
282
|
+
treeShaking: true,
|
283
283
|
write: false,
|
284
284
|
metafile: outFile !== undefined,
|
285
285
|
sourcesContent: false,
|
286
286
|
logLevel: 'error',
|
287
287
|
banner:
|
288
|
-
|
289
|
-
? {
|
288
|
+
outFile === undefined
|
289
|
+
? {}
|
290
|
+
: {
|
290
291
|
js: commonJsCompatabilityBanner,
|
291
|
-
}
|
292
|
-
|
293
|
-
sourcemap: sourceMap ? 'inline' : false,
|
292
|
+
},
|
293
|
+
sourcemap: sourceMap === true ? 'inline' : false,
|
294
294
|
...(outFile === undefined
|
295
295
|
? {
|
296
296
|
// individual files
|