@checkdigit/typescript-config 6.0.0 → 7.0.0-PR.54-457d
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 +2 -2
- package/bin/builder.mjs +7 -8
- package/package.json +1 -207
- package/tsconfig.json +3 -3
package/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](https://github.com/checkdigit/typescript-config/blob/master/LICENSE.txt)
|
4
4
|
|
5
|
-
Copyright (c) 2022-
|
5
|
+
Copyright (c) 2022-2024 [Check Digit, LLC](https://checkdigit.com)
|
6
6
|
|
7
7
|
### Introduction
|
8
8
|
|
@@ -10,7 +10,7 @@ This module contains the standard Check Digit Typescript configuration, along wi
|
|
10
10
|
|
11
11
|
### Typescript Configuration
|
12
12
|
|
13
|
-
- currently requires Node 20 or above.
|
13
|
+
- currently requires Node 20.11 or above.
|
14
14
|
- emits `esnext`, with the default libraries, to avoid down-leveling. It is intended that application spec tests pick
|
15
15
|
up any issues with using newer features unavailable in a particular environment. Browsers and NodeJS are fast moving
|
16
16
|
targets, and can add language features at any time.
|
package/bin/builder.mjs
CHANGED
@@ -30,7 +30,7 @@ async function getFiles(directory) {
|
|
30
30
|
function excludeSourceMaps(filter) {
|
31
31
|
return (pluginBuild) => {
|
32
32
|
pluginBuild.onLoad({ filter }, async (args) => {
|
33
|
-
if (args.path.endsWith(".js") || args.path.endsWith(".mjs")
|
33
|
+
if (args.path.endsWith(".js") || args.path.endsWith(".mjs")) {
|
34
34
|
return {
|
35
35
|
contents: `${await fs.readFile(
|
36
36
|
args.path,
|
@@ -44,8 +44,7 @@ function excludeSourceMaps(filter) {
|
|
44
44
|
});
|
45
45
|
};
|
46
46
|
}
|
47
|
-
function resolveTypescriptPaths(
|
48
|
-
const extension = type2 === "module" ? "mjs" : "cjs";
|
47
|
+
function resolveTypescriptPaths() {
|
49
48
|
return (pluginBuild) => {
|
50
49
|
pluginBuild.onResolve({ filter: /.*/u }, async (resolved) => {
|
51
50
|
if (resolved.kind === "entry-point" || !resolved.path.startsWith(".") || resolved.path.endsWith(".js") || resolved.path.endsWith(".json")) {
|
@@ -58,7 +57,7 @@ function resolveTypescriptPaths(type2) {
|
|
58
57
|
} catch {
|
59
58
|
}
|
60
59
|
let newPath = resolved.path;
|
61
|
-
newPath += isDirectory ? `/index
|
60
|
+
newPath += isDirectory ? `/index.mjs` : `.mjs`;
|
62
61
|
return { path: newPath, external: true };
|
63
62
|
});
|
64
63
|
};
|
@@ -145,7 +144,7 @@ async function builder_default({
|
|
145
144
|
minify: minify2,
|
146
145
|
absWorkingDir: workingDirectory,
|
147
146
|
platform: "node",
|
148
|
-
format:
|
147
|
+
format: "esm",
|
149
148
|
treeShaking: type2 === "module",
|
150
149
|
write: false,
|
151
150
|
metafile: outFile2 !== void 0,
|
@@ -157,11 +156,11 @@ async function builder_default({
|
|
157
156
|
...outFile2 === void 0 ? {
|
158
157
|
// individual files
|
159
158
|
outdir: outDir2,
|
160
|
-
outExtension: { ".js":
|
159
|
+
outExtension: { ".js": ".mjs" },
|
161
160
|
plugins: [
|
162
161
|
{
|
163
162
|
name: "resolve-typescript-paths",
|
164
|
-
setup: resolveTypescriptPaths(
|
163
|
+
setup: resolveTypescriptPaths()
|
165
164
|
}
|
166
165
|
]
|
167
166
|
} : {
|
@@ -227,7 +226,7 @@ var {
|
|
227
226
|
sourceMap: { type: "boolean", short: "s", default: false }
|
228
227
|
}
|
229
228
|
});
|
230
|
-
assert3.ok(type === "module" || type === "
|
229
|
+
assert3.ok(type === "module" || type === "types", "type must be types or module");
|
231
230
|
assert3.ok(inDir !== void 0, "inDir is required");
|
232
231
|
assert3.ok(outDir !== void 0, "outDir is required");
|
233
232
|
var buildResult = await builder_default({
|
package/package.json
CHANGED
@@ -1,207 +1 @@
|
|
1
|
-
{
|
2
|
-
"name": "@checkdigit/typescript-config",
|
3
|
-
"version": "6.0.0",
|
4
|
-
"description": "Check Digit standard Typescript configuration",
|
5
|
-
"prettier": "@checkdigit/prettier-config",
|
6
|
-
"engines": {
|
7
|
-
"node": ">=20.9"
|
8
|
-
},
|
9
|
-
"bin": {
|
10
|
-
"builder": "./bin/builder.mjs"
|
11
|
-
},
|
12
|
-
"peerDependencies": {
|
13
|
-
"@types/node": ">=20.9",
|
14
|
-
"esbuild": "0.19.8",
|
15
|
-
"typescript": ">=5.3.2 <5.4.0"
|
16
|
-
},
|
17
|
-
"repository": {
|
18
|
-
"type": "git",
|
19
|
-
"url": "git+https://github.com/checkdigit/typescript-config.git"
|
20
|
-
},
|
21
|
-
"author": "Check Digit, LLC",
|
22
|
-
"license": "MIT",
|
23
|
-
"bugs": {
|
24
|
-
"url": "https://github.com/checkdigit/typescript-config/issues"
|
25
|
-
},
|
26
|
-
"homepage": "https://github.com/checkdigit/typescript-config#readme",
|
27
|
-
"scripts": {
|
28
|
-
"prepublishOnly": "npm run build-builder",
|
29
|
-
"lint:fix": "eslint --ignore-path .gitignore . --fix",
|
30
|
-
"lint": "eslint --max-warnings 0 --ignore-path .gitignore .",
|
31
|
-
"prettier": "prettier --ignore-path .gitignore --list-different .",
|
32
|
-
"prettier:fix": "prettier --ignore-path .gitignore --write .",
|
33
|
-
"test": "npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style",
|
34
|
-
"build-builder": "esbuild src/builder/index.mts --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",
|
35
|
-
"build-types": "rimraf build-types && bin/builder.mjs --type=types --outDir=build-types",
|
36
|
-
"build-cjs": "rimraf build-cjs && bin/builder.mjs --type=commonjs --outDir=build-cjs",
|
37
|
-
"build-cjs-bundle": "rimraf build-cjs-bundle && bin/builder.mjs --type=commonjs --entryPoint=test/index.test.ts --outDir=build-cjs-bundle --outFile=test/index.test.cjs --sourceMap",
|
38
|
-
"build-cjs-bundle-minify": "rimraf build-cjs-bundle-minify && bin/builder.mjs --type=commonjs --entryPoint=test/index.test.ts --outDir=build-cjs-bundle-minify --outFile=test/index.test.cjs --minify --sourceMap",
|
39
|
-
"build-cjs-bundle-no-external": "rimraf build-cjs-bundle-no-external && bin/builder.mjs --type=commonjs --external=./node_modules/* --entryPoint=test/index.test.ts --outDir=build-cjs-bundle-no-external --outFile=test/index.test.cjs",
|
40
|
-
"build-mjs": "rimraf build-mjs && bin/builder.mjs --type=module --outDir=build-mjs",
|
41
|
-
"build-mjs-bundle": "rimraf build-mjs-bundle && bin/builder.mjs --type=module --outDir=build-mjs-bundle --entryPoint=test/index.test.ts --outFile=test/index.test.mjs",
|
42
|
-
"build-mjs-bundle-minify": "rimraf build-mjs-bundle-minify && bin/builder.mjs --type=module --minify --outDir=build-mjs-bundle-minify --entryPoint=test/index.test.ts --outFile=test/index.test.mjs",
|
43
|
-
"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.test.ts --outFile=test/index.test.mjs --minify",
|
44
|
-
"test-jest-mjs": "NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage=false src/*.mts src/*/*.mts src/*/*/*.mts",
|
45
|
-
"test-jest-cjs": "jest --coverage=false src/*.ts src/*/*.ts src/*/*/*.ts",
|
46
|
-
"test-cjs": "node --test build-cjs/test/index.test.cjs",
|
47
|
-
"test-cjs-bundle": "node --test build-cjs-bundle/test/index.test.cjs",
|
48
|
-
"test-cjs-bundle-minify": "node --test build-cjs-bundle-minify/test/index.test.cjs",
|
49
|
-
"test-cjs-bundle-no-external": "node --test build-cjs-bundle-no-external/test/index.test.cjs",
|
50
|
-
"test-mjs": "node --test build-mjs/test/index.test.mjs",
|
51
|
-
"test-mjs-bundle": "node --test build-mjs-bundle/test/index.test.mjs",
|
52
|
-
"test-mjs-bundle-minify": "node --test build-mjs-bundle-minify/test/index.test.mjs",
|
53
|
-
"test-mjs-bundle-no-external": "node --test build-mjs-bundle-no-external/test/index.test.mjs",
|
54
|
-
"ci:test": "npm run test-jest-cjs && npm run test-jest-mjs && npm run test-cjs && npm run test-cjs-bundle && npm run test-cjs-bundle-no-external && npm run test-mjs && npm run test-mjs-bundle && npm run test-mjs-bundle-no-external",
|
55
|
-
"ci:compile": "tsc --noEmit && npm run build-builder && npm run build-types && npm run build-cjs && npm run build-cjs-bundle && npm run build-cjs-bundle-minify && npm run build-cjs-bundle-no-external && npm run build-mjs && npm run build-mjs-bundle && npm run build-mjs-bundle-minify && npm run build-mjs-bundle-no-external",
|
56
|
-
"ci:lint": "npm run lint",
|
57
|
-
"ci:style": "npm run prettier"
|
58
|
-
},
|
59
|
-
"devDependencies": {
|
60
|
-
"@apidevtools/json-schema-ref-parser": "^11.1.0",
|
61
|
-
"@checkdigit/prettier-config": "^5.0.0",
|
62
|
-
"@types/debug": "^4.1.12",
|
63
|
-
"@types/jest": "^29.5.10",
|
64
|
-
"@types/uuid": "^9.0.7",
|
65
|
-
"@typescript-eslint/eslint-plugin": "^6.13.0",
|
66
|
-
"@typescript-eslint/parser": "^6.13.0",
|
67
|
-
"debug": "^4.3.4",
|
68
|
-
"eslint": "^8.54.0",
|
69
|
-
"eslint-config-prettier": "^9.0.0",
|
70
|
-
"get-port": "^7.0.0",
|
71
|
-
"got": "^11.8.6",
|
72
|
-
"jest": "^29.7.0",
|
73
|
-
"node-fetch": "^3.3.2",
|
74
|
-
"rimraf": "^5.0.5",
|
75
|
-
"ts-jest": "^29.1.1",
|
76
|
-
"uuid": "^9.0.1"
|
77
|
-
},
|
78
|
-
"eslintConfig": {
|
79
|
-
"parser": "@typescript-eslint/parser",
|
80
|
-
"plugins": [
|
81
|
-
"@typescript-eslint"
|
82
|
-
],
|
83
|
-
"parserOptions": {
|
84
|
-
"project": "./tsconfig.json"
|
85
|
-
},
|
86
|
-
"extends": [
|
87
|
-
"eslint:all",
|
88
|
-
"plugin:@typescript-eslint/recommended",
|
89
|
-
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
90
|
-
"plugin:@typescript-eslint/strict",
|
91
|
-
"prettier"
|
92
|
-
],
|
93
|
-
"rules": {
|
94
|
-
"@typescript-eslint/non-nullable-type-assertion-style": "error",
|
95
|
-
"capitalized-comments": "off",
|
96
|
-
"one-var": "off",
|
97
|
-
"sort-keys": "off",
|
98
|
-
"sort-imports": "off",
|
99
|
-
"max-lines": [
|
100
|
-
"error",
|
101
|
-
{
|
102
|
-
"max": 500,
|
103
|
-
"skipBlankLines": true,
|
104
|
-
"skipComments": true
|
105
|
-
}
|
106
|
-
],
|
107
|
-
"func-style": [
|
108
|
-
"error",
|
109
|
-
"declaration",
|
110
|
-
{
|
111
|
-
"allowArrowFunctions": true
|
112
|
-
}
|
113
|
-
],
|
114
|
-
"no-magic-numbers": [
|
115
|
-
"error",
|
116
|
-
{
|
117
|
-
"ignore": [
|
118
|
-
0,
|
119
|
-
1,
|
120
|
-
2
|
121
|
-
]
|
122
|
-
}
|
123
|
-
],
|
124
|
-
"no-undefined": "off",
|
125
|
-
"no-ternary": "off"
|
126
|
-
},
|
127
|
-
"overrides": [
|
128
|
-
{
|
129
|
-
"files": [
|
130
|
-
"*.spec.mts",
|
131
|
-
"*.test.mts",
|
132
|
-
"*.spec.ts",
|
133
|
-
"*.test.ts"
|
134
|
-
],
|
135
|
-
"rules": {
|
136
|
-
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
137
|
-
"@typescript-eslint/ban-types": "off",
|
138
|
-
"@typescript-eslint/require-await": "off",
|
139
|
-
"@typescript-eslint/consistent-type-definitions": "off",
|
140
|
-
"@typescript-eslint/ban-ts-comment": "off",
|
141
|
-
"@typescript-eslint/no-unnecessary-condition": "off",
|
142
|
-
"@typescript-eslint/consistent-indexed-object-style": "off",
|
143
|
-
"@typescript-eslint/no-unused-vars": "off",
|
144
|
-
"@typescript-eslint/no-unsafe-member-access": "off",
|
145
|
-
"line-comment-position": "off",
|
146
|
-
"no-fallthrough": "off",
|
147
|
-
"no-inline-comments": "off",
|
148
|
-
"no-param-reassign": "off",
|
149
|
-
"id-length": "off",
|
150
|
-
"no-magic-numbers": "off",
|
151
|
-
"func-names": "off",
|
152
|
-
"no-duplicate-imports": "off",
|
153
|
-
"symbol-description": "off",
|
154
|
-
"no-invalid-this": "off",
|
155
|
-
"max-lines-per-function": "off",
|
156
|
-
"max-lines": "off",
|
157
|
-
"max-statements": "off",
|
158
|
-
"no-await-in-loop": "off"
|
159
|
-
}
|
160
|
-
}
|
161
|
-
]
|
162
|
-
},
|
163
|
-
"jest": {
|
164
|
-
"moduleFileExtensions": [
|
165
|
-
"js",
|
166
|
-
"mjs",
|
167
|
-
"cjs",
|
168
|
-
"ts",
|
169
|
-
"mts",
|
170
|
-
"json",
|
171
|
-
"node"
|
172
|
-
],
|
173
|
-
"extensionsToTreatAsEsm": [
|
174
|
-
".mts"
|
175
|
-
],
|
176
|
-
"transform": {
|
177
|
-
"^.+\\.mts$": [
|
178
|
-
"ts-jest",
|
179
|
-
{
|
180
|
-
"isolatedModules": true,
|
181
|
-
"diagnostics": false,
|
182
|
-
"useESM": true
|
183
|
-
}
|
184
|
-
],
|
185
|
-
"^.+\\.ts$": [
|
186
|
-
"ts-jest",
|
187
|
-
{
|
188
|
-
"isolatedModules": true,
|
189
|
-
"diagnostics": false,
|
190
|
-
"useESM": false
|
191
|
-
}
|
192
|
-
]
|
193
|
-
},
|
194
|
-
"collectCoverageFrom": [
|
195
|
-
"<rootDir>/src/**"
|
196
|
-
],
|
197
|
-
"testMatch": [
|
198
|
-
"<rootDir>/src/**/*.spec.ts",
|
199
|
-
"<rootDir>/src/**/*.spec.mts"
|
200
|
-
]
|
201
|
-
},
|
202
|
-
"files": [
|
203
|
-
"bin",
|
204
|
-
"tsconfig.json",
|
205
|
-
"SECURITY.md"
|
206
|
-
]
|
207
|
-
}
|
1
|
+
{"name":"@checkdigit/typescript-config","version":"7.0.0-PR.54-457d","description":"Check Digit standard Typescript configuration","prettier":"@checkdigit/prettier-config","engines":{"node":">=20.11"},"bin":{"builder":"./bin/builder.mjs"},"peerDependencies":{"@types/node":">=20.11","esbuild":"0.20.0","typescript":"5.4.0-beta"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/typescript-config.git"},"author":"Check Digit, LLC","license":"MIT","bugs":{"url":"https://github.com/checkdigit/typescript-config/issues"},"homepage":"https://github.com/checkdigit/typescript-config#readme","scripts":{"prepublishOnly":"npm run build-builder","lint:fix":"eslint --ignore-path .gitignore . --fix","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","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","build-builder":"esbuild src/builder/index.mts --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-types":"rimraf build-types && bin/builder.mjs --type=types --outDir=build-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.test.ts --outFile=test/index.test.mjs","build-mjs-bundle-minify":"rimraf build-mjs-bundle-minify && bin/builder.mjs --type=module --minify --outDir=build-mjs-bundle-minify --entryPoint=test/index.test.ts --outFile=test/index.test.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.test.ts --outFile=test/index.test.mjs --minify","test-jest-mjs":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false src/*.mts src/*/*.mts src/*/*/*.mts","test-mjs":"node --test build-mjs/test/index.test.mjs","test-mjs-bundle":"node --test build-mjs-bundle/test/index.test.mjs","test-mjs-bundle-minify":"node --test build-mjs-bundle-minify/test/index.test.mjs","test-mjs-bundle-no-external":"node --test build-mjs-bundle-no-external/test/index.test.mjs","ci:test":"npm run test-jest-mjs && npm run test-mjs && npm run test-mjs-bundle && npm run test-mjs-bundle-no-external","ci:compile":"tsc --noEmit && 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","ci:lint":"npm run lint","ci:style":"npm run prettier"},"devDependencies":{"@apidevtools/json-schema-ref-parser":"^11.1.0","@checkdigit/prettier-config":"^5.2.0","@types/debug":"^4.1.12","@types/jest":"^29.5.11","@types/uuid":"^9.0.8","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","debug":"^4.3.4","eslint":"^8.56.0","eslint-config-prettier":"^9.1.0","get-port":"^7.0.0","got":"^11.8.6","jest":"^29.7.0","node-fetch":"^3.3.2","rimraf":"^5.0.5","ts-jest":"^29.1.2","uuid":"^9.0.1"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"parserOptions":{"project":"./tsconfig.json"},"extends":["eslint:all","plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking","plugin:@typescript-eslint/strict","prettier"],"rules":{"@typescript-eslint/non-nullable-type-assertion-style":"error","capitalized-comments":"off","one-var":"off","sort-keys":"off","sort-imports":"off","max-lines":["error",{"max":500,"skipBlankLines":true,"skipComments":true}],"func-style":["error","declaration",{"allowArrowFunctions":true}],"no-magic-numbers":["error",{"ignore":[0,1,2]}],"no-undefined":"off","no-ternary":"off"},"overrides":[{"files":["*.spec.mts","*.test.mts","*.spec.ts","*.test.ts"],"rules":{"@typescript-eslint/non-nullable-type-assertion-style":"off","@typescript-eslint/ban-types":"off","@typescript-eslint/require-await":"off","@typescript-eslint/consistent-type-definitions":"off","@typescript-eslint/ban-ts-comment":"off","@typescript-eslint/no-unnecessary-condition":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/no-unsafe-member-access":"off","line-comment-position":"off","no-fallthrough":"off","no-inline-comments":"off","no-param-reassign":"off","id-length":"off","no-magic-numbers":"off","func-names":"off","no-duplicate-imports":"off","symbol-description":"off","no-invalid-this":"off","max-lines-per-function":"off","max-lines":"off","max-statements":"off","no-await-in-loop":"off"}}]},"jest":{"moduleFileExtensions":["js","mjs","cjs","ts","mts","json","node"],"extensionsToTreatAsEsm":[".mts"],"transform":{"^.+\\.mts$":["ts-jest",{"isolatedModules":true,"diagnostics":false,"useESM":true}],"^.+\\.ts$":["ts-jest",{"isolatedModules":true,"diagnostics":false,"useESM":false}]},"collectCoverageFrom":["<rootDir>/src/**"],"testMatch":["<rootDir>/src/**/*.spec.ts","<rootDir>/src/**/*.spec.mts"]},"files":["bin","tsconfig.json","SECURITY.md"],"overrides":{"typescript":"5.4.0-beta"}}
|
package/tsconfig.json
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
"removeComments": false,
|
10
10
|
"noLib": false,
|
11
11
|
"noEmitOnError": false,
|
12
|
-
"skipLibCheck":
|
12
|
+
"skipLibCheck": false,
|
13
13
|
"strict": true,
|
14
14
|
"preserveConstEnums": true,
|
15
15
|
"noImplicitReturns": true,
|
@@ -28,6 +28,6 @@
|
|
28
28
|
"allowUnreachableCode": false,
|
29
29
|
"noImplicitOverride": true,
|
30
30
|
"useUnknownInCatchVariables": true,
|
31
|
-
"exactOptionalPropertyTypes": true
|
32
|
-
}
|
31
|
+
"exactOptionalPropertyTypes": true,
|
32
|
+
},
|
33
33
|
}
|