From f1c918e58248fb58456fe7c5618b37151cf788d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20M=C3=BCller?= Date: Sat, 27 Jul 2024 15:15:57 +0200 Subject: [PATCH 1/6] Disable package-lock in examples directory Done to prevent accidental foot-guns when an outdated version of superstruct was installed previously and was not updaing due to pacakge-lock.json, even though package.json specifies 'latest'. --- examples/.npmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples/.npmrc diff --git a/examples/.npmrc b/examples/.npmrc new file mode 100644 index 00000000..9cf94950 --- /dev/null +++ b/examples/.npmrc @@ -0,0 +1 @@ +package-lock=false \ No newline at end of file From a7f7cd1aaf7b6b6eabc41c5baeab0992719e7b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20M=C3=BCller?= Date: Sat, 27 Jul 2024 15:27:34 +0200 Subject: [PATCH 2/6] Replace rollup with tsup --- package.json | 5 ++--- rollup.config.js | 20 -------------------- tsup.config.ts | 9 +++++++++ 3 files changed, 11 insertions(+), 23 deletions(-) delete mode 100644 rollup.config.js create mode 100644 tsup.config.ts diff --git a/package.json b/package.json index 5b6afed1..447c42c2 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "node": ">=14.0.0" }, "devDependencies": { - "@rollup/plugin-typescript": "^11.1.6", "@types/expect": "^24.3.0", "@types/lodash": "^4.14.144", "@types/node": "^18.7.14", @@ -31,12 +30,12 @@ "lodash": "^4.17.15", "np": "^10.0.0", "prettier": "^3.2.5", - "rollup": "^4.12.1", + "tsup": "^8.2.3", "typescript": "^4.8.3", "vitest": "^1.6.0" }, "scripts": { - "build": "rm -rf ./{dist} && rollup --config ./rollup.config.js", + "build": "rm -rf ./{dist} && tsup", "clean": "rm -rf ./{dist,node_modules}", "fix": "npm run fix:eslint && npm run fix:prettier", "fix:eslint": "npm run lint:eslint --fix", diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index aeb0c858..00000000 --- a/rollup.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { defineConfig } from 'rollup' -import typescript from '@rollup/plugin-typescript' - -export default defineConfig({ - input: './src/index.ts', - plugins: [typescript()], - output: [ - { - file: './dist/index.mjs', - format: 'esm', - sourcemap: true, - }, - { - file: './dist/index.cjs', - format: 'umd', - name: 'Superstruct', - sourcemap: true, - }, - ], -}) diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 00000000..72f3d1d7 --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + entry: ['src/index.ts'], + sourcemap: true, + dts: true, + format: ['cjs', 'esm', 'iife'], + globalName: 'Superstruct', +}) From c20c0462c7d6e2ad9574b06b31c55097c527b8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20M=C3=BCller?= Date: Sat, 27 Jul 2024 15:30:30 +0200 Subject: [PATCH 3/6] Allow release from any branch --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 447c42c2..12415b5f 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "lint": "npm run lint:eslint && npm run lint:prettier", "lint:eslint": "eslint '{src,test}/*.{js,ts}'", "lint:prettier": "prettier '**/*.{js,json,ts}' --check", - "release": "npm run build && npm run lint && np", + "release": "npm run build && npm run lint && np --any-branch", "test": "npm run build && npm run test:types && npm run test:vitest", "test:types": "tsc --noEmit && tsc --project ./test/tsconfig.json --noEmit", "test:vitest": "vitest run", From 951a0ed4319a1b2ad30ab45525305c61ae162069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20M=C3=BCller?= Date: Sat, 27 Jul 2024 15:31:12 +0200 Subject: [PATCH 4/6] 2.0.3-0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 12415b5f..49dff617 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "superstruct", "description": "A simple and composable way to validate data in JavaScript (and TypeScript).", - "version": "2.0.2", + "version": "2.0.3-0", "license": "MIT", "repository": "git://github.com/ianstormtaylor/superstruct.git", "type": "module", From 92c181eb03429815e8c1b82018750cf0b301b3ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20M=C3=BCller?= Date: Sat, 27 Jul 2024 15:36:27 +0200 Subject: [PATCH 5/6] Add exports field to package.json See https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/FalseESM.md for more detail --- package.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 49dff617..726ba461 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,20 @@ "repository": "git://github.com/ianstormtaylor/superstruct.git", "type": "module", "main": "./dist/index.cjs", - "module": "./dist/index.mjs", + "module": "./dist/index.js", "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + } + }, "sideEffects": false, "files": [ "dist" From 3da4581ca6c792b58fc56c5b550a142025612351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20M=C3=BCller?= Date: Sat, 27 Jul 2024 15:37:13 +0200 Subject: [PATCH 6/6] 2.0.3-1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 726ba461..ccef1631 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "superstruct", "description": "A simple and composable way to validate data in JavaScript (and TypeScript).", - "version": "2.0.3-0", + "version": "2.0.3-1", "license": "MIT", "repository": "git://github.com/ianstormtaylor/superstruct.git", "type": "module",