@checkdigit/typescript-config 3.3.0-PR.30-f430 → 3.3.0-PR.30-cbc4
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 +1 -0
- package/bin/builder.mjs +11 -5
- package/package.json +1 -1
- package/src/builder/builder.mts +10 -1
- package/src/builder/index.mts +3 -1
package/README.md
CHANGED
@@ -34,6 +34,7 @@ types, and `esbuild` for generating code.
|
|
34
34
|
- `--external` external modules to exclude from the bundle. Built-in `node` modules are automatically excluded.
|
35
35
|
A wildcard `*` can be used to exclude multiple external modules.
|
36
36
|
- `--minify` whether to minify the output.
|
37
|
+
- `--sourceMap` whether to include inline sourcemap.
|
37
38
|
|
38
39
|
#### Examples
|
39
40
|
|
package/bin/builder.mjs
CHANGED
@@ -63,7 +63,8 @@ async function builder_default({
|
|
63
63
|
outDir: outDir2,
|
64
64
|
outFile: outFile2,
|
65
65
|
external: external2 = [],
|
66
|
-
minify: minify2 = false
|
66
|
+
minify: minify2 = false,
|
67
|
+
sourceMap: sourceMap2
|
67
68
|
}) {
|
68
69
|
const messages2 = [];
|
69
70
|
assert.ok(
|
@@ -128,9 +129,10 @@ async function builder_default({
|
|
128
129
|
minify: minify2,
|
129
130
|
platform: "node",
|
130
131
|
format: type2 === "module" ? "esm" : "cjs",
|
131
|
-
sourcemap: "inline",
|
132
132
|
sourcesContent: false,
|
133
|
+
sourcemap: sourceMap2 ? "inline" : false,
|
133
134
|
...outFile2 === void 0 ? {
|
135
|
+
// individual files
|
134
136
|
outdir: outDir2,
|
135
137
|
outExtension: { ".js": type2 === "module" ? ".mjs" : ".cjs" },
|
136
138
|
plugins: [
|
@@ -140,7 +142,9 @@ async function builder_default({
|
|
140
142
|
}
|
141
143
|
]
|
142
144
|
} : {
|
145
|
+
// bundling
|
143
146
|
outfile: path.join(outDir2, outFile2),
|
147
|
+
legalComments: "none",
|
144
148
|
external: external2,
|
145
149
|
plugins: [
|
146
150
|
{
|
@@ -160,7 +164,7 @@ async function builder_default({
|
|
160
164
|
|
161
165
|
// src/builder/index.mts
|
162
166
|
var {
|
163
|
-
values: { type, inDir, outDir, entryPoint, outFile, external, minify }
|
167
|
+
values: { type, inDir, outDir, entryPoint, outFile, external, minify, sourceMap }
|
164
168
|
} = parseArgs({
|
165
169
|
options: {
|
166
170
|
type: { type: "string", short: "t", default: "module" },
|
@@ -169,7 +173,8 @@ var {
|
|
169
173
|
entryPoint: { type: "string", short: "e", default: void 0 },
|
170
174
|
outFile: { type: "string", short: "f", default: void 0 },
|
171
175
|
external: { type: "string", short: "x", multiple: true, default: [] },
|
172
|
-
minify: { type: "boolean", short: "m", default: false }
|
176
|
+
minify: { type: "boolean", short: "m", default: false },
|
177
|
+
sourceMap: { type: "boolean", short: "s", default: false }
|
173
178
|
}
|
174
179
|
});
|
175
180
|
assert2.ok(type === "module" || type === "commonjs", "type must be module or commonjs");
|
@@ -182,7 +187,8 @@ var messages = await builder_default({
|
|
182
187
|
entryPoint,
|
183
188
|
outFile,
|
184
189
|
external,
|
185
|
-
minify
|
190
|
+
minify,
|
191
|
+
sourceMap
|
186
192
|
});
|
187
193
|
if (messages.length > 0) {
|
188
194
|
console.warn(JSON.stringify(messages, void 0, 2));
|
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-cbc4","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 --sourceMap","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
@@ -43,6 +43,11 @@ export interface BuilderOptions {
|
|
43
43
|
* whether to minify output
|
44
44
|
*/
|
45
45
|
minify?: boolean | undefined;
|
46
|
+
|
47
|
+
/**
|
48
|
+
* whether to include sourcemap
|
49
|
+
*/
|
50
|
+
sourceMap?: boolean | undefined;
|
46
51
|
}
|
47
52
|
|
48
53
|
/**
|
@@ -110,6 +115,7 @@ export default async function ({
|
|
110
115
|
outFile,
|
111
116
|
external = [],
|
112
117
|
minify = false,
|
118
|
+
sourceMap,
|
113
119
|
}: BuilderOptions): Promise<string[]> {
|
114
120
|
const messages: string[] = [];
|
115
121
|
|
@@ -186,10 +192,11 @@ export default async function ({
|
|
186
192
|
minify,
|
187
193
|
platform: 'node',
|
188
194
|
format: type === 'module' ? 'esm' : 'cjs',
|
189
|
-
sourcemap: 'inline',
|
190
195
|
sourcesContent: false,
|
196
|
+
sourcemap: sourceMap ? 'inline' : false,
|
191
197
|
...(outFile === undefined
|
192
198
|
? {
|
199
|
+
// individual files
|
193
200
|
outdir: outDir,
|
194
201
|
outExtension: { '.js': type === 'module' ? '.mjs' : '.cjs' },
|
195
202
|
plugins: [
|
@@ -200,7 +207,9 @@ export default async function ({
|
|
200
207
|
],
|
201
208
|
}
|
202
209
|
: {
|
210
|
+
// bundling
|
203
211
|
outfile: path.join(outDir, outFile),
|
212
|
+
legalComments: 'none',
|
204
213
|
external,
|
205
214
|
plugins: [
|
206
215
|
{
|
package/src/builder/index.mts
CHANGED
@@ -9,7 +9,7 @@ import { parseArgs } from 'node:util';
|
|
9
9
|
import builder from './builder.mts';
|
10
10
|
|
11
11
|
const {
|
12
|
-
values: { type, inDir, outDir, entryPoint, outFile, external, minify },
|
12
|
+
values: { type, inDir, outDir, entryPoint, outFile, external, minify, sourceMap },
|
13
13
|
} = parseArgs({
|
14
14
|
options: {
|
15
15
|
type: { type: 'string', short: 't', default: 'module' },
|
@@ -19,6 +19,7 @@ const {
|
|
19
19
|
outFile: { type: 'string', short: 'f', default: undefined },
|
20
20
|
external: { type: 'string', short: 'x', multiple: true, default: [] },
|
21
21
|
minify: { type: 'boolean', short: 'm', default: false },
|
22
|
+
sourceMap: { type: 'boolean', short: 's', default: false },
|
22
23
|
},
|
23
24
|
});
|
24
25
|
|
@@ -34,6 +35,7 @@ const messages = await builder({
|
|
34
35
|
outFile,
|
35
36
|
external,
|
36
37
|
minify,
|
38
|
+
sourceMap,
|
37
39
|
});
|
38
40
|
if (messages.length > 0) {
|
39
41
|
// eslint-disable-next-line no-console
|