@checkdigit/typescript-config 3.3.0-PR.30-f96e → 3.3.0-PR.30-9280
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/bin/builder.mjs +25 -4
- package/package.json +1 -1
- package/src/builder/builder.mts +27 -4
package/bin/builder.mjs
CHANGED
|
@@ -20,7 +20,19 @@ async function getFiles(directory) {
|
|
|
20
20
|
);
|
|
21
21
|
return files.flat();
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function excludeSourceMaps(filter) {
|
|
24
|
+
return (pluginBuild) => {
|
|
25
|
+
pluginBuild.onLoad({ filter }, async (args) => ({
|
|
26
|
+
contents: `${await fs.readFile(
|
|
27
|
+
args.path,
|
|
28
|
+
"utf8"
|
|
29
|
+
)}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIiJdLCJtYXBwaW5ncyI6IkEifQ==`,
|
|
31
|
+
loader: "default"
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function resolveTypescriptPaths(type2) {
|
|
24
36
|
const extension = type2 === "module" ? "mjs" : "cjs";
|
|
25
37
|
return (pluginBuild) => {
|
|
26
38
|
pluginBuild.onResolve({ filter: /.*/u }, async (resolved) => {
|
|
@@ -118,11 +130,20 @@ async function builder_default({
|
|
|
118
130
|
outExtension: { ".js": type2 === "module" ? ".mjs" : ".cjs" },
|
|
119
131
|
plugins: [
|
|
120
132
|
{
|
|
121
|
-
name: "resolve-
|
|
122
|
-
setup:
|
|
133
|
+
name: "resolve-typescript-paths",
|
|
134
|
+
setup: resolveTypescriptPaths(type2)
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
} : {
|
|
138
|
+
outfile: path.join(outDir2, outFile2),
|
|
139
|
+
external: external2,
|
|
140
|
+
plugins: [
|
|
141
|
+
{
|
|
142
|
+
name: "exclude-source-maps",
|
|
143
|
+
setup: excludeSourceMaps(/node_modules/u)
|
|
123
144
|
}
|
|
124
145
|
]
|
|
125
|
-
}
|
|
146
|
+
}
|
|
126
147
|
});
|
|
127
148
|
messages2.push(...buildResult.errors.map((error) => `esbuild error: ${error.text}`));
|
|
128
149
|
messages2.push(...buildResult.warnings.map((warning) => `esbuild warning: ${warning.text}`));
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@checkdigit/typescript-config","version":"3.3.0-PR.30-
|
|
1
|
+
{"name":"@checkdigit/typescript-config","version":"3.3.0-PR.30-9280","description":"Check Digit standard Typescript configuration","prettier":"@checkdigit/prettier-config","engines":{"node":">=16"},"bin":{"builder":"./bin/builder.mjs"},"peerDependencies":{"@types/node":">=16","esbuild":"0.17.19","typescript":">=5.0.4 <5.1"},"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":{"preversion":"npm test","postversion":"git push && git push --tags","prepare":"npm run build-builder","lint:fix":"eslint -f unix --ext .ts,.mts src --fix","lint":"eslint -f unix --ext .ts,.mts src","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-cjs":"rimraf build-cjs && npx builder --type=commonjs --outDir=build-cjs","build-cjs-bundle":"rimraf build-cjs-bundle && npx builder --type=commonjs --entryPoint=test/index.test.ts --outDir=build-cjs-bundle --outFile=test/index.test.cjs --minify","build-cjs-bundle-no-external":"rimraf build-cjs-bundle-no-external && npx builder --type=commonjs --external=./node_modules/* --entryPoint=test/index.test.ts --outDir=build-cjs-bundle-no-external --outFile=test/index.test.cjs","build-esm":"rimraf build-esm && npx builder --type=module --outDir=build-esm","build-esm-bundle":"rimraf build-esm-bundle && npx builder --type=module --outDir=build-esm-bundle --entryPoint=test/index.test.ts --outFile=test/index.test.mjs","build-esm-bundle-no-external":"rimraf build-esm-bundle-no-external && npx builder --type=module --external=./node_modules/* --outDir=build-esm-bundle-no-external --entryPoint=test/index.test.ts --outFile=test/index.test.mjs --minify","test-jest-esm":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage=false src/*.mts src/*/*.mts src/*/*/*.mts","test-jest-cjs":"jest --coverage=false src/*.ts src/*/*.ts src/*/*/*.ts","test-cjs":"node --test build-cjs/test/index.test.cjs","test-cjs-bundle":"node --test build-cjs-bundle/test/index.test.cjs","test-cjs-bundle-no-external":"node --test build-cjs-bundle-no-external/test/index.test.cjs","test-esm":"node --test build-esm/test/index.test.mjs","test-esm-bundle":"echo \"node --test build-esm-bundle/test/index.test.mjs\"","test-esm-bundle-no-external":"node --test build-esm-bundle-no-external/test/index.test.mjs","ci:test":"npm run test-jest-cjs && npm run test-jest-esm && npm run test-cjs && npm run test-cjs-bundle && npm run test-cjs-bundle-no-external && npm run test-esm && npm run test-esm-bundle && npm run test-esm-bundle-no-external","ci:compile":"npm run build-builder && npm run build-cjs && npm run build-cjs-bundle && npm run build-cjs-bundle-no-external && npm run build-esm && npm run build-esm-bundle && npm run build-esm-bundle-no-external","ci:lint":"npm run lint","ci:style":"npm run prettier"},"devDependencies":{"@checkdigit/prettier-config":"^3.4.0","@types/debug":"^4.1.7","@types/jest":"^29.5.1","@types/uuid":"^9.0.1","@typescript-eslint/eslint-plugin":"^5.59.6","@typescript-eslint/parser":"^5.59.6","debug":"^4.3.4","eslint":"^8.40.0","eslint-config-prettier":"^8.8.0","get-port":"^6.1.2","got":"^11.8.6","jest":"^29.5.0","rimraf":"^5.0.1","ts-jest":"^29.1.0","uuid":"^9.0.0"},"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","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-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/**","!<rootDir>/src/**/*.spec.mts","!<rootDir>/src/**/*.test.mts","!<rootDir>/src/**/*.spec.ts","!<rootDir>/src/**/*.test.ts"],"testMatch":["<rootDir>/src/**/*.spec.ts","<rootDir>/src/**/*.spec.mts"]},"files":["tsconfig.json","SECURITY.md","/src/"]}
|
package/src/builder/builder.mts
CHANGED
|
@@ -61,9 +61,23 @@ async function getFiles(directory: string): Promise<string[]> {
|
|
|
61
61
|
return files.flat();
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
function
|
|
64
|
+
function excludeSourceMaps(filter: RegExp) {
|
|
65
|
+
return (pluginBuild: PluginBuild) => {
|
|
66
|
+
// ignore source maps for anything that matches filter
|
|
67
|
+
pluginBuild.onLoad({ filter }, async (args) => ({
|
|
68
|
+
contents: `${await fs.readFile(
|
|
69
|
+
args.path,
|
|
70
|
+
'utf8'
|
|
71
|
+
)}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIiJdLCJtYXBwaW5ncyI6IkEifQ==`,
|
|
72
|
+
loader: 'default',
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function resolveTypescriptPaths(type: 'module' | 'commonjs') {
|
|
65
78
|
const extension = type === 'module' ? 'mjs' : 'cjs';
|
|
66
79
|
return (pluginBuild: PluginBuild) => {
|
|
80
|
+
// rewrite paths based on standard node resolution
|
|
67
81
|
pluginBuild.onResolve({ filter: /.*/u }, async (resolved) => {
|
|
68
82
|
if (resolved.kind === 'entry-point' || !resolved.path.startsWith('.') || resolved.path.endsWith('.js')) {
|
|
69
83
|
return { external: resolved.kind !== 'entry-point' };
|
|
@@ -175,12 +189,21 @@ export default async function ({
|
|
|
175
189
|
outExtension: { '.js': type === 'module' ? '.mjs' : '.cjs' },
|
|
176
190
|
plugins: [
|
|
177
191
|
{
|
|
178
|
-
name: 'resolve-
|
|
179
|
-
setup:
|
|
192
|
+
name: 'resolve-typescript-paths',
|
|
193
|
+
setup: resolveTypescriptPaths(type),
|
|
180
194
|
},
|
|
181
195
|
],
|
|
182
196
|
}
|
|
183
|
-
: {
|
|
197
|
+
: {
|
|
198
|
+
outfile: path.join(outDir, outFile),
|
|
199
|
+
external,
|
|
200
|
+
plugins: [
|
|
201
|
+
{
|
|
202
|
+
name: 'exclude-source-maps',
|
|
203
|
+
setup: excludeSourceMaps(/node_modules/u),
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
}),
|
|
184
207
|
});
|
|
185
208
|
|
|
186
209
|
messages.push(...buildResult.errors.map((error) => `esbuild error: ${error.text}`));
|