{"version":3,"file":"index.cjs","names":[],"sources":["../package.json","../src/index.ts"],"sourcesContent":["{\n\t\"name\": \"@alexaegis/autotool-plugin-ts\",\n\t\"description\": \"TypeScript setup\",\n\t\"version\": \"0.15.6\",\n\t\"license\": \"MIT\",\n\t\"private\": false,\n\t\"archetype\": {\n\t\t\"platform\": \"node\",\n\t\t\"framework\": \"autotool\",\n\t\t\"language\": \"ts\",\n\t\t\"kind\": \"lib\"\n\t},\n\t\"keywords\": [\n\t\t\"autotool-plugin\",\n\t\t\"managed-by-autotool\",\n\t\t\"ts\",\n\t\t\"tsconfig\",\n\t\t\"typescript\"\n\t],\n\t\"repository\": {\n\t\t\"url\": \"git+https://github.com/AlexAegis/js-tooling.git\",\n\t\t\"type\": \"git\"\n\t},\n\t\"type\": \"module\",\n\t\"publishConfig\": {\n\t\t\"access\": \"public\",\n\t\t\"exports\": {\n\t\t\t\".\": {\n\t\t\t\t\"types\": \"./dist/index.d.ts\",\n\t\t\t\t\"import\": \"./dist/index.js\",\n\t\t\t\t\"require\": \"./dist/index.cjs\",\n\t\t\t\t\"default\": \"./dist/index.js\"\n\t\t\t},\n\t\t\t\"./package-composite-tsconfig\": \"./static/package-composite-tsconfig.json\",\n\t\t\t\"./package-simple-tsconfig\": \"./static/package-simple-tsconfig.json\",\n\t\t\t\"./package-spec-vitest-tsconfig\": \"./static/package-spec-vitest-tsconfig.json\",\n\t\t\t\"./package.json\": \"./package.json\",\n\t\t\t\"./readme\": \"./readme.md\",\n\t\t\t\"./workspace-tsconfig\": \"./static/workspace-tsconfig.json\"\n\t\t}\n\t},\n\t\"files\": [\n\t\t\"dist\",\n\t\t\"static\"\n\t],\n\t\"engines\": {\n\t\t\"node\": \">=22.6.0\"\n\t},\n\t\"scripts\": {\n\t\t\"lint:depcheck\": \"turbo run lint:depcheck_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"lint:depcheck_\": \"depcheck\",\n\t\t\"lint:es\": \"turbo run lint:es_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"lint:es_\": \"eslint --max-warnings=0 --fix --no-error-on-unmatched-pattern .\",\n\t\t\"lint:format\": \"turbo run lint:format_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"lint:format_\": \"prettier --cache-location .cache/prettier --plugin prettier-plugin-svelte --plugin prettier-plugin-tailwindcss --check .\",\n\t\t\"lint:md\": \"turbo run lint:md_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"lint:md_\": \"remark --frail --no-stdout --silently-ignore .\",\n\t\t\"lint:tsc\": \"turbo run lint:tsc_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"lint:tsc_\": \"tsc --noEmit\",\n\t\t\"publint\": \"BUILD_REASON='publish' turbo run publint_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"publint_\": \"publint\",\n\t\t\"test\": \"turbo run test_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"test_\": \"vitest --passWithNoTests --coverage --run\",\n\t\t\"test:watch\": \"vitest --passWithNoTests --coverage\",\n\t\t\"all\": \"BUILD_REASON='publish' turbo run all_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"build\": \"turbo run build-lib_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"build-lib_\": \"vite build\",\n\t\t\"format\": \"turbo run format_ --concurrency 16 --filter @alexaegis/autotool-plugin-ts\",\n\t\t\"format_\": \"prettier --cache-location .cache/prettier --plugin prettier-plugin-svelte --plugin prettier-plugin-tailwindcss --write .\"\n\t},\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": \"./src/index.ts\",\n\t\t\t\"import\": \"./dist/index.js\",\n\t\t\t\"require\": \"./dist/index.cjs\",\n\t\t\t\"default\": \"./dist/index.js\"\n\t\t},\n\t\t\"./package-composite-tsconfig\": \"./static/package-composite-tsconfig.json\",\n\t\t\"./package-simple-tsconfig\": \"./static/package-simple-tsconfig.json\",\n\t\t\"./package-spec-vitest-tsconfig\": \"./static/package-spec-vitest-tsconfig.json\",\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./readme\": \"./readme.md\",\n\t\t\"./workspace-tsconfig\": \"./static/workspace-tsconfig.json\"\n\t},\n\t\"dependencies\": {\n\t\t\"@alexaegis/logging\": \"workspace:^\",\n\t\t\"@alexaegis/match\": \"workspace:^\",\n\t\t\"@alexaegis/predicate\": \"workspace:^\",\n\t\t\"@alexaegis/workspace-tools\": \"workspace:^\",\n\t\t\"autotool-plugin\": \"^0.8.0\",\n\t\t\"typescript\": \"^6.0.3\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@alexaegis/eslint-config-vitest\": \"workspace:^\",\n\t\t\"@alexaegis/ts\": \"workspace:^\",\n\t\t\"@alexaegis/vite\": \"workspace:^\",\n\t\t\"@alexaegis/vitest\": \"workspace:^\",\n\t\t\"@types/node\": \"^26.1.1\",\n\t\t\"publint\": \"^0.3.21\",\n\t\t\"ts-node\": \"^10.9.2\",\n\t\t\"vite\": \"^8.1.4\",\n\t\t\"vite-plugin-dts\": \"^5.0.3\",\n\t\t\"vitest\": \"^4.1.10\"\n\t}\n}\n","import type { JsonMatcherFrom } from '@alexaegis/match';\nimport { contains, equal, not, or } from '@alexaegis/predicate';\nimport { getEncodedArchetype, type PackageArchetype } from '@alexaegis/workspace-tools';\nimport type {\n\tAutotoolElementFileCopy,\n\tAutotoolPlugin,\n\tAutotoolPluginObject,\n\tNormalizedAutotoolPluginOptions,\n} from 'autotool-plugin';\nimport { join } from 'node:path';\nimport packageJson from '../package.json' with { type: 'json' };\n\nexport const plugin: AutotoolPlugin = (\n\t_options: NormalizedAutotoolPluginOptions,\n): AutotoolPluginObject => {\n\t// Plan js libs also matched to be able to lint:tsc JSDoc style types\n\tconst languageMatcher = /^(ts|js)$/;\n\n\tconst archetypeFlavours: JsonMatcherFrom<PackageArchetype>[] = [\n\t\t{ language: languageMatcher, platform: 'web', framework: not(contains('svelte')) },\n\t\t{ language: languageMatcher, platform: 'node', framework: not(contains('svelte')) },\n\t\t{ language: languageMatcher, platform: undefined, framework: undefined },\n\t];\n\n\treturn {\n\t\tname: packageJson.name,\n\t\telements: [\n\t\t\t{\n\t\t\t\tdescription: 'copy workspace root ts config',\n\t\t\t\texecutor: 'fileCopy',\n\t\t\t\tpackageKind: 'root',\n\t\t\t\tformatWithPrettier: true,\n\t\t\t\ttargetFile: 'tsconfig.json',\n\t\t\t\tsourcePluginPackageName: packageJson.name,\n\t\t\t\tsourceFile: join('static', 'workspace-tsconfig.json'),\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: 'add workspace root ts scripts',\n\t\t\t\texecutor: 'packageJson',\n\t\t\t\tpackageKind: 'root',\n\t\t\t\tdata: {\n\t\t\t\t\tscripts: {\n\t\t\t\t\t\t'lint:tsc': 'turbo run lint:tsc_ --concurrency 16',\n\t\t\t\t\t},\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t'@alexaegis/ts': `^${packageJson.version}`, // For the root tsConfig\n\t\t\t\t\t\ttypescript: packageJson.dependencies.typescript,\n\t\t\t\t\t\t'ts-node': packageJson.devDependencies['ts-node'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: 'add package ts scripts',\n\t\t\t\texecutor: 'packageJson',\n\t\t\t\tpackageKind: 'regular',\n\t\t\t\tpackageJsonFilter: {\n\t\t\t\t\tarchetype: {\n\t\t\t\t\t\tlanguage: languageMatcher,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdata: {\n\t\t\t\t\tscripts: {\n\t\t\t\t\t\t'lint:tsc': 'turbo run lint:tsc_ --concurrency 16 --filter ${packageName}',\n\t\t\t\t\t\t'lint:tsc_': 'tsc --noEmit',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: 'add workspace dependency for the ts configs',\n\t\t\t\texecutor: 'packageJson',\n\t\t\t\tpackageKind: 'root',\n\t\t\t\tdata: {\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t'@alexaegis/ts': `^${packageJson.version}`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: 'add package dependency for the ts configs',\n\t\t\t\texecutor: 'packageJson',\n\t\t\t\tpackageKind: 'regular',\n\t\t\t\tpackageJsonFilter: {\n\t\t\t\t\tarchetype: {\n\t\t\t\t\t\tlanguage: languageMatcher,\n\t\t\t\t\t},\n\t\t\t\t\tname: not(\n\t\t\t\t\t\tor(\n\t\t\t\t\t\t\tequal('@alexaegis/ts'),\n\t\t\t\t\t\t\tequal('@alexaegis/vite'),\n\t\t\t\t\t\t\tequal('@alexaegis/vitest'),\n\t\t\t\t\t\t\tequal('@alexaegis/eslint-config-vitest'),\n\t\t\t\t\t\t),\n\t\t\t\t\t), // Don't add a dependency for itself, and other packages where it would result in a circle\n\t\t\t\t},\n\t\t\t\tdata: {\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t'@alexaegis/ts': `^${packageJson.version}`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: 'remove unnecessary tsconfig files',\n\t\t\t\texecutor: 'fileRemove',\n\t\t\t\ttargetFilePatterns: 'tsconfig.!(json)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: 'add @types/node as a devDependency',\n\t\t\t\texecutor: 'packageJson',\n\t\t\t\tpackageKind: 'regular',\n\t\t\t\tpackageJsonFilter: {\n\t\t\t\t\tarchetype: {\n\t\t\t\t\t\tlanguage: languageMatcher,\n\t\t\t\t\t\tframework: or(equal('node'), equal('svelte')),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdata: {\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t'@types/node': packageJson.devDependencies['@types/node'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t...archetypeFlavours.map<AutotoolElementFileCopy>((archetype) => {\n\t\t\t\tconst flavour = getEncodedArchetype(archetype) || 'node';\n\n\t\t\t\treturn {\n\t\t\t\t\tdescription: `copy tsconfig for ${flavour} packages`,\n\t\t\t\t\texecutor: 'fileCopy',\n\t\t\t\t\tpackageKind: 'regular',\n\t\t\t\t\tformatWithPrettier: true,\n\t\t\t\t\ttargetFile: 'tsconfig.json',\n\t\t\t\t\tsourcePluginPackageName: packageJson.name,\n\t\t\t\t\tpackageJsonFilter: {\n\t\t\t\t\t\tarchetype,\n\t\t\t\t\t},\n\t\t\t\t\tsourceFile: join('static', 'package-simple-tsconfig.json'),\n\t\t\t\t\ttemplateVariables: {\n\t\t\t\t\t\tflavour,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t],\n\t};\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACYA,IAAa,UACZ,aAC0B;CAE1B,MAAM,kBAAkB;CAExB,MAAM,oBAAyD;EAC9D;GAAE,UAAU;GAAiB,UAAU;GAAO,YAAA,GAAA,qBAAA,IAAA,EAAA,GAAA,qBAAA,SAAA,CAAwB,QAAQ,CAAC;EAAE;EACjF;GAAE,UAAU;GAAiB,UAAU;GAAQ,YAAA,GAAA,qBAAA,IAAA,EAAA,GAAA,qBAAA,SAAA,CAAwB,QAAQ,CAAC;EAAE;EAClF;GAAE,UAAU;GAAiB,UAAU,KAAA;GAAW,WAAW,KAAA;EAAU;CACxE;CAEA,OAAO;EACN,MAAM,gBAAY;EAClB,UAAU;GACT;IACC,aAAa;IACb,UAAU;IACV,aAAa;IACb,oBAAoB;IACpB,YAAY;IACZ,yBAAyB,gBAAY;IACrC,aAAA,GAAA,UAAA,KAAA,CAAiB,UAAU,yBAAyB;GACrD;GACA;IACC,aAAa;IACb,UAAU;IACV,aAAa;IACb,MAAM;KACL,SAAS,EACR,YAAY,uCACb;KACA,iBAAiB;MAChB,iBAAiB,IAAI,gBAAY;MACjC,YAAY,gBAAY,aAAa;MACrC,WAAW,gBAAY,gBAAgB;KACxC;IACD;GACD;GACA;IACC,aAAa;IACb,UAAU;IACV,aAAa;IACb,mBAAmB,EAClB,WAAW,EACV,UAAU,gBACX,EACD;IACA,MAAM,EACL,SAAS;KACR,YAAY;KACZ,aAAa;IACd,EACD;GACD;GACA;IACC,aAAa;IACb,UAAU;IACV,aAAa;IACb,MAAM,EACL,iBAAiB,EAChB,iBAAiB,IAAI,gBAAY,UAClC,EACD;GACD;GACA;IACC,aAAa;IACb,UAAU;IACV,aAAa;IACb,mBAAmB;KAClB,WAAW,EACV,UAAU,gBACX;KACA,OAAA,GAAA,qBAAA,IAAA,EAAA,GAAA,qBAAA,GAAA,EAAA,GAAA,qBAAA,MAAA,CAEQ,eAAe,IAAA,GAAA,qBAAA,MAAA,CACf,iBAAiB,IAAA,GAAA,qBAAA,MAAA,CACjB,mBAAmB,IAAA,GAAA,qBAAA,MAAA,CACnB,iCAAiC,CACxC,CACD;IACD;IACA,MAAM,EACL,iBAAiB,EAChB,iBAAiB,IAAI,gBAAY,UAClC,EACD;GACD;GACA;IACC,aAAa;IACb,UAAU;IACV,oBAAoB;GACrB;GACA;IACC,aAAa;IACb,UAAU;IACV,aAAa;IACb,mBAAmB,EAClB,WAAW;KACV,UAAU;KACV,YAAA,GAAA,qBAAA,GAAA,EAAA,GAAA,qBAAA,MAAA,CAAoB,MAAM,IAAA,GAAA,qBAAA,MAAA,CAAS,QAAQ,CAAC;IAC7C,EACD;IACA,MAAM,EACL,iBAAiB,EAChB,eAAe,gBAAY,gBAAgB,eAC5C,EACD;GACD;GAEA,GAAG,kBAAkB,KAA8B,cAAc;IAChE,MAAM,WAAA,GAAA,2BAAA,oBAAA,CAA8B,SAAS,KAAK;IAElD,OAAO;KACN,aAAa,qBAAqB,QAAQ;KAC1C,UAAU;KACV,aAAa;KACb,oBAAoB;KACpB,YAAY;KACZ,yBAAyB,gBAAY;KACrC,mBAAmB,EAClB,UACD;KACA,aAAA,GAAA,UAAA,KAAA,CAAiB,UAAU,8BAA8B;KACzD,mBAAmB,EAClB,QACD;IACD;GACD,CAAC;EACF;CACD;AACD"}