UNPKG

@bomb.sh/tools

Version:

The internal dev, build, and lint CLI for Bombshell projects

1 lines 2.31 kB
{"version":3,"file":"build.mjs","names":["tsdown"],"sources":["../../src/commands/build.ts"],"sourcesContent":["import { parse } from '@bomb.sh/args';\nimport { build as tsdown } from 'tsdown';\nimport type { CommandContext } from '../context.ts';\nimport { printViolations } from './lint.ts';\nimport { runPublint } from './publint.ts';\n\nexport async function build(ctx: CommandContext) {\n\tconst args = parse(ctx.args, {\n\t\tboolean: ['bundle', 'dts', 'minify'],\n\t});\n\n\tconst entry = args._.length > 0 ? args._.map(String) : ['src/**/*.ts', '!src/**/*.test.ts'];\n\n\ttry {\n\t\tawait tsdown({\n\t\t\tconfig: false,\n\t\t\tentry,\n\t\t\tformat: 'esm',\n\t\t\tsourcemap: true,\n\t\t\tclean: true,\n\t\t\tunbundle: !args.bundle,\n\t\t\tdts: args.dts === false ? false : { tsgo: true },\n\t\t\tminify: args.minify,\n\t\t});\n\t} catch (error) {\n\t\t// tsdown throws an opaque `Error: undefined Cannot find entry` when a\n\t\t// glob matches nothing — translate it into an actionable message.\n\t\tif (error instanceof Error && /Cannot find entry/.test(error.message)) {\n\t\t\tconsole.error(`No entry files matched: ${entry.join(', ')}`);\n\t\t\tconsole.error(`Looked in: ${process.cwd()}`);\n\t\t\tconsole.error('Pass explicit entry files (e.g. `bsh build src/index.ts`).');\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tthrow error;\n\t}\n\n\t// Publish gate: the freshly built dist/ must satisfy package.json\n\tconst violations = await runPublint();\n\tif (violations.length > 0) {\n\t\tprintViolations(violations);\n\t}\n\tif (violations.some((v) => v.level === 'error')) {\n\t\tprocess.exit(1);\n\t}\n}\n"],"mappings":";;;;;AAMA,eAAsB,MAAM,KAAqB;CAChD,MAAM,OAAO,MAAM,IAAI,MAAM,EAC5B,SAAS;EAAC;EAAU;EAAO;CAAQ,EACpC,CAAC;CAED,MAAM,QAAQ,KAAK,EAAE,SAAS,IAAI,KAAK,EAAE,IAAI,MAAM,IAAI,CAAC,eAAe,mBAAmB;CAE1F,IAAI;EACH,MAAMA,QAAO;GACZ,QAAQ;GACR;GACA,QAAQ;GACR,WAAW;GACX,OAAO;GACP,UAAU,CAAC,KAAK;GAChB,KAAK,KAAK,QAAQ,QAAQ,QAAQ,EAAE,MAAM,KAAK;GAC/C,QAAQ,KAAK;EACd,CAAC;CACF,SAAS,OAAO;EAGf,IAAI,iBAAiB,SAAS,oBAAoB,KAAK,MAAM,OAAO,GAAG;GACtE,QAAQ,MAAM,2BAA2B,MAAM,KAAK,IAAI,GAAG;GAC3D,QAAQ,MAAM,cAAc,QAAQ,IAAI,GAAG;GAC3C,QAAQ,MAAM,4DAA4D;GAC1E,QAAQ,KAAK,CAAC;EACf;EACA,MAAM;CACP;CAGA,MAAM,aAAa,MAAM,WAAW;CACpC,IAAI,WAAW,SAAS,GACvB,gBAAgB,UAAU;CAE3B,IAAI,WAAW,MAAM,MAAM,EAAE,UAAU,OAAO,GAC7C,QAAQ,KAAK,CAAC;AAEhB"}