Skip to content
Draft

tsdown #2189

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion jest-preset.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ module.exports = {
'!<rootDir>/jest.*.ts',
],
coverageDirectory: 'coverage',
reporters: ['default', require.resolve('./lib/cli/test/reporters/github')],
reporters: ['default', require.resolve('skuba/cli/test/reporters/github')],
testEnvironment: 'node',
testPathIgnorePatterns: [
'/node_modules.*/',
Expand Down
2 changes: 1 addition & 1 deletion jest.config.ts → jest.config.cts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as Jest from './lib/api/jest/index.js';
import { Jest } from 'skuba';

process.env.FORCE_COLOR = 'false';

Expand Down
167 changes: 163 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,104 @@
},
"license": "MIT",
"sideEffects": false,
"main": "lib/index.js",
"types": "./lib/index.d.ts",
"exports": {
".": {
"@seek/skuba/source": "./src/index.ts",
"require": "./lib/index.cjs",
"import": "./lib/index.mjs"
},
"./cli/build": {
"@seek/skuba/source": "./src/cli/build/index.ts",
"require": "./lib/cli/build/index.cjs",
"import": "./lib/cli/build/index.mjs"
},
"./cli/buildPackage": {
"@seek/skuba/source": "./src/cli/buildPackage/index.ts",
"require": "./lib/cli/buildPackage/index.cjs",
"import": "./lib/cli/buildPackage/index.mjs"
},
"./cli/configure": {
"@seek/skuba/source": "./src/cli/configure/index.ts",
"require": "./lib/cli/configure/index.cjs",
"import": "./lib/cli/configure/index.mjs"
},
"./cli/format": {
"@seek/skuba/source": "./src/cli/format/index.ts",
"require": "./lib/cli/format/index.cjs",
"import": "./lib/cli/format/index.mjs"
},
"./cli/help": {
"@seek/skuba/source": "./src/cli/help/index.ts",
"require": "./lib/cli/help/index.cjs",
"import": "./lib/cli/help/index.mjs"
},
"./cli/init": {
"@seek/skuba/source": "./src/cli/init/index.ts",
"require": "./lib/cli/init/index.cjs",
"import": "./lib/cli/init/index.mjs"
},
"./cli/lint": {
"@seek/skuba/source": "./src/cli/lint/index.ts",
"require": "./lib/cli/lint/index.cjs",
"import": "./lib/cli/lint/index.mjs"
},
"./cli/migrate": {
"@seek/skuba/source": "./src/cli/migrate/index.ts",
"require": "./lib/cli/migrate/index.cjs",
"import": "./lib/cli/migrate/index.mjs"
},
"./cli/node": {
"@seek/skuba/source": "./src/cli/node/index.ts",
"require": "./lib/cli/node/index.cjs",
"import": "./lib/cli/node/index.mjs"
},
"./cli/release": {
"@seek/skuba/source": "./src/cli/release/index.ts",
"require": "./lib/cli/release/index.cjs",
"import": "./lib/cli/release/index.mjs"
},
"./cli/start": {
"@seek/skuba/source": "./src/cli/start/index.ts",
"require": "./lib/cli/start/index.cjs",
"import": "./lib/cli/start/index.mjs"
},
"./cli/test": {
"@seek/skuba/source": "./src/cli/test/index.ts",
"require": "./lib/cli/test/index.cjs",
"import": "./lib/cli/test/index.mjs"
},
"./cli/test/reporters/github": {
"@seek/skuba/source": "./src/cli/test/reporters/github/index.ts",
"require": "./lib/cli/test/reporters/github/index.cjs",
"import": "./lib/cli/test/reporters/github/index.mjs"
},
"./cli/version": {
"@seek/skuba/source": "./src/cli/version/index.ts",
"require": "./lib/cli/version/index.cjs",
"import": "./lib/cli/version/index.mjs"
},
"./skuba": {
"@seek/skuba/source": "./src/skuba.ts",
"require": "./lib/skuba.cjs",
"import": "./lib/skuba.mjs"
},
"./package.json": "./package.json"
},
"main": "./lib/index.cjs",
"module": "./lib/index.mjs",
"types": "./lib/index.d.cts",
"bin": {
"skuba": "lib/skuba.js"
"skuba": "lib/skuba.cjs"
},
"files": [
"config/**/*",
"jest/**/*.js",
"lib*/**/*.d.ts",
"lib*/**/*.d.cts",
"lib*/**/*.d.mts",
"lib*/**/*.js",
"lib*/**/*.cjs",
"lib*/**/*.mjs",
"lib*/**/*.js.map",
"template/**/*",
"jest-preset.js"
Expand All @@ -40,7 +128,7 @@
"prepack": "pnpm --filter './template/**' exec rm -rf node_modules",
"release": "pnpm --silent build && changeset publish",
"skuba": "pnpm --silent build && pnpm --silent skuba:exec",
"skuba:exec": "node lib/skuba",
"skuba:exec": "node lib/skuba.cjs",
"stage": "changeset version && node ./.changeset/inject.js && pnpm format",
"test": "pnpm --silent skuba test --selectProjects unit",
"test:ci": "pnpm --silent skuba test --runInBand",
Expand Down Expand Up @@ -128,6 +216,7 @@
"zod": "^4.0.0"
},
"devDependencies": {
"@arethetypeswrong/core": "0.18.2",
"@changesets/cli": "2.29.8",
"@changesets/get-github-info": "0.7.0",
"@jest/reporters": "30.2.0",
Expand Down Expand Up @@ -155,12 +244,82 @@
"remark-preset-lint-recommended": "7.0.1",
"semver": "7.7.3",
"supertest": "7.1.4",
"tsdown": "0.18.0",
"type-fest": "2.19.0"
},
"packageManager": "[email protected]",
"engines": {
"node": ">=22.14.0"
},
"publishConfig": {
"exports": {
".": {
"require": "./lib/index.cjs",
"import": "./lib/index.mjs"
},
"./cli/build": {
"require": "./lib/cli/build/index.cjs",
"import": "./lib/cli/build/index.mjs"
},
"./cli/buildPackage": {
"require": "./lib/cli/buildPackage/index.cjs",
"import": "./lib/cli/buildPackage/index.mjs"
},
"./cli/configure": {
"require": "./lib/cli/configure/index.cjs",
"import": "./lib/cli/configure/index.mjs"
},
"./cli/format": {
"require": "./lib/cli/format/index.cjs",
"import": "./lib/cli/format/index.mjs"
},
"./cli/help": {
"require": "./lib/cli/help/index.cjs",
"import": "./lib/cli/help/index.mjs"
},
"./cli/init": {
"require": "./lib/cli/init/index.cjs",
"import": "./lib/cli/init/index.mjs"
},
"./cli/lint": {
"require": "./lib/cli/lint/index.cjs",
"import": "./lib/cli/lint/index.mjs"
},
"./cli/migrate": {
"require": "./lib/cli/migrate/index.cjs",
"import": "./lib/cli/migrate/index.mjs"
},
"./cli/node": {
"require": "./lib/cli/node/index.cjs",
"import": "./lib/cli/node/index.mjs"
},
"./cli/release": {
"require": "./lib/cli/release/index.cjs",
"import": "./lib/cli/release/index.mjs"
},
"./cli/start": {
"require": "./lib/cli/start/index.cjs",
"import": "./lib/cli/start/index.mjs"
},
"./cli/test": {
"require": "./lib/cli/test/index.cjs",
"import": "./lib/cli/test/index.mjs"
},
"./cli/test/reporters/github": {
"require": "./lib/cli/test/reporters/github/index.cjs",
"import": "./lib/cli/test/reporters/github/index.mjs"
},
"./cli/version": {
"require": "./lib/cli/version/index.cjs",
"import": "./lib/cli/version/index.mjs"
},
"./skuba": {
"require": "./lib/skuba.cjs",
"import": "./lib/skuba.mjs"
},
"./package.json": "./package.json"
}
},
"skuba": {
"build": "esbuild",
"entryPoint": "src/index.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"isomorphic-git": "^1.11.1"
},
"devDependencies": {
"tsdown": "^0.17.0"
"tsdown": "0.18.0"
},
"engines": {
"node": ">=22.14.0"
Expand Down
29 changes: 24 additions & 5 deletions packages/eslint-config-skuba/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,27 @@
},
"license": "MIT",
"sideEffects": false,
"main": "./index.js",
"module": "./index.js",
"types": "./index.d.ts",
"exports": {
".": {
"@seek/skuba/source": "./index.js",
"require": "./lib/index.cjs",
"import": "./lib/index.mjs"
},
"./package.json": "./package.json"
},
"main": "./lib/index.cjs",
"module": "./lib/index.mjs",
"types": "./lib/index.d.cts",
"files": [
"index.d.ts",
"index.js",
"requireExtensions.js"
],
"scripts": {
"build": "tsdown",
"format": "pnpm --silent skuba format",
"lint": "pnpm --silent skuba lint",
"skuba": "node ../../lib/skuba"
"skuba": "node ../../lib/skuba.cjs"
},
"dependencies": {
"eslint-config-seek": "15.0.1",
Expand All @@ -35,6 +44,7 @@
},
"devDependencies": {
"eslint": "^9.39.1",
"tsdown": "0.18.0",
"typescript": "~5.9.0"
},
"peerDependencies": {
Expand All @@ -45,10 +55,19 @@
"engines": {
"node": ">=20.9.0"
},
"publishConfig": {
"exports": {
".": {
"require": "./lib/index.cjs",
"import": "./lib/index.mjs"
},
"./package.json": "./package.json"
}
},
"skuba": {
"entryPoint": "index.js",
"template": "oss-npm-package",
"type": "package",
"version": "13.0.0"
"version": "13.1.1"
}
}
4 changes: 0 additions & 4 deletions packages/eslint-config-skuba/requireExtensions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,15 @@ import { test as validSrcIndexFileTest } from 'src/indexFile/index.js';
import { test as bothTest } from './src/both';

const asyncFunction = async () => {
// @ts-expect-error - testing ESLint rule, intentionally missing extension
const dynamicImportTest = await import('./src/simple'); // eslint-disable-line require-extensions/require-extensions
const validDynamicImportTest = await import('./src/simple.js');

// @ts-expect-error - testing ESLint rule, intentionally missing extension
const indexFileDynamicImportTest = await import('./src/indexFile'); // eslint-disable-line require-extensions/require-index
const validIndexFileDynamicImportTest =
await import('./src/indexFile/index.js');

// @ts-expect-error - testing ESLint rule, intentionally missing extension
const srcDynamicImportTest = await import('src/file'); // eslint-disable-line require-extensions/require-extensions
const validSrcDynamicImportTest = await import('src/file.js');

// @ts-expect-error - testing ESLint rule, intentionally missing extension
const bothDynamicImportTest = await import('./src/both'); // eslint-disable-line require-extensions/require-extensions
};
4 changes: 0 additions & 4 deletions packages/eslint-config-skuba/src/requireExtensions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,14 @@ import '../';
import '../index.js';

const asyncFunction = async () => {
// @ts-expect-error - testing ESLint rule, intentionally missing extension
const dynamicImportTest = await import('./simple'); // eslint-disable-line require-extensions/require-extensions
const validDynamicImportTest = await import('./simple.js');

// @ts-expect-error - testing ESLint rule, intentionally missing extension
const indexFileDynamicImportTest = await import('./indexFile'); // eslint-disable-line require-extensions/require-index
const validIndexFileDynamicImportTest = await import('./indexFile/index.js');

// @ts-expect-error - testing ESLint rule, intentionally missing extension
const srcDynamicImportTest = await import('src/file'); // eslint-disable-line require-extensions/require-extensions
const validSrcDynamicImportTest = await import('src/file.js');

// @ts-expect-error - testing ESLint rule, intentionally missing extension
const bothDynamicImportTest = await import('./both'); // eslint-disable-line require-extensions/require-extensions
};
8 changes: 7 additions & 1 deletion packages/eslint-config-skuba/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
{
"compilerOptions": {
"rootDir": ".",
"declaration": true,
"lib": ["ES2023"],
"module": "preserve",
"moduleResolution": "bundler",
"outDir": "lib",
"removeComments": false,
"skipLibCheck": true,
"target": "ES2023",
"baseUrl": "."
},
Expand All @@ -13,6 +18,7 @@
"index.d.ts",
"index.js",
"src/**/*",
"requireExtensions.test.ts"
"requireExtensions.test.ts",
"tsdown.config.mts"
]
}
11 changes: 11 additions & 0 deletions packages/eslint-config-skuba/tsdown.config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { defineConfig } from 'tsdown/config';

export default defineConfig({
entry: ['index.js'],
exports: {
devExports: '@seek/skuba/source',
},
format: ['cjs', 'esm'],
outDir: 'lib',
failOnWarn: false,
});
6 changes: 3 additions & 3 deletions packages/eslint-plugin-skuba/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"format": "pnpm --silent skuba format",
"lint": "pnpm --silent skuba lint",
"prepack": "tsdown",
"skuba": "node ../../lib/skuba",
"skuba": "node ../../lib/skuba.cjs",
"test": "node --import tsx --test 'src/**/*.test.ts'",
"test:ci": "node --import tsx --test --experimental-test-coverage 'src/**/*.test.ts'",
"test:watch": "node --import tsx --test --watch 'src/**/*.test.ts'"
Expand All @@ -47,7 +47,7 @@
"devDependencies": {
"@typescript-eslint/rule-tester": "^8.26.0",
"eslint": "^9.39.1",
"tsdown": "^0.17.0",
"tsdown": "0.18.0",
"tsx": "^4.16.2",
"typescript-eslint": "^8.39.0"
},
Expand All @@ -72,6 +72,6 @@
"entryPoint": "src/index.ts",
"template": "oss-npm-package",
"type": "package",
"version": "13.0.0"
"version": "13.1.1"
}
}
Loading
Loading