diff --git a/.changeset/nice-pillows-hunt.md b/.changeset/nice-pillows-hunt.md new file mode 100644 index 0000000000..cebc13fa69 --- /dev/null +++ b/.changeset/nice-pillows-hunt.md @@ -0,0 +1,10 @@ +--- +"@react-router/express": major +"@react-router/serve": major +"@react-router/node": major +"@react-router/dev": major +"react-router-dom": major +"react-router": major +--- + +Add `exports` field to all packages diff --git a/packages/react-router-dev/package.json b/packages/react-router-dev/package.json index f46bd831ea..6412b40831 100644 --- a/packages/react-router-dev/package.json +++ b/packages/react-router-dev/package.json @@ -14,6 +14,13 @@ "license": "MIT", "main": "dist/index.js", "typings": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./package.json": "./package.json" + }, "bin": { "react-router": "bin.js" }, diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index 01f74b9442..31a82dda4e 100644 --- a/packages/react-router-dom/package.json +++ b/packages/react-router-dom/package.json @@ -20,8 +20,16 @@ "sideEffects": false, "main": "./dist/main.js", "unpkg": "./dist/umd/react-router-dom.production.min.js", - "module": "./dist/index.js", + "module": "./dist/index.mjs", "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/main.js" + }, + "./package.json": "./package.json" + }, "dependencies": { "react-router": "workspace:*" }, diff --git a/packages/react-router-dom/rollup.config.js b/packages/react-router-dom/rollup.config.js index 6fd8d441c7..d4b037fd18 100644 --- a/packages/react-router-dom/rollup.config.js +++ b/packages/react-router-dom/rollup.config.js @@ -23,7 +23,7 @@ module.exports = function rollup() { { input: `${SOURCE_DIR}/index.ts`, output: { - file: `${OUTPUT_DIR}/index.js`, + file: `${OUTPUT_DIR}/index.mjs`, format: "esm", sourcemap: !PRETTY, banner: createBanner("React Router DOM", version), diff --git a/packages/react-router-express/package.json b/packages/react-router-express/package.json index a9204ad6fa..84a744dcc8 100644 --- a/packages/react-router-express/package.json +++ b/packages/react-router-express/package.json @@ -13,6 +13,13 @@ "license": "MIT", "main": "dist/index.js", "typings": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./package.json": "./package.json" + }, "scripts": { "tsc": "tsc" }, diff --git a/packages/react-router-node/install.d.ts b/packages/react-router-node/install.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/react-router-node/install.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/react-router-node/install.js b/packages/react-router-node/install.js deleted file mode 100644 index 10966624c9..0000000000 --- a/packages/react-router-node/install.js +++ /dev/null @@ -1,8 +0,0 @@ -/* eslint-disable */ -"use strict"; - -var globals = require("./dist/globals.js"); - -Object.defineProperty(exports, "__esModule", { value: true }); - -globals.installGlobals(); diff --git a/packages/react-router-node/install.ts b/packages/react-router-node/install.ts new file mode 100644 index 0000000000..e5bc566ae4 --- /dev/null +++ b/packages/react-router-node/install.ts @@ -0,0 +1,3 @@ +import { installGlobals } from "./globals"; + +installGlobals(); diff --git a/packages/react-router-node/package.json b/packages/react-router-node/package.json index 2fd83bd2f9..460533a587 100644 --- a/packages/react-router-node/package.json +++ b/packages/react-router-node/package.json @@ -13,8 +13,22 @@ "license": "MIT", "main": "dist/index.js", "typings": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.js" + }, + "./install": { + "types": "./dist/install.d.ts", + "import": "./dist/install.mjs", + "require": "./dist/install.js" + }, + "./package.json": "./package.json" + }, "sideEffects": [ - "./install.js" + "./dist/install.js", + "./dist/install.mjs" ], "scripts": { "tsc": "tsc" diff --git a/packages/react-router-node/rollup.config.js b/packages/react-router-node/rollup.config.js index 766f14203b..7fa53e3690 100644 --- a/packages/react-router-node/rollup.config.js +++ b/packages/react-router-node/rollup.config.js @@ -21,14 +21,17 @@ module.exports = function rollup() { "react-router-node" ); + const input = [`${SOURCE_DIR}/index.ts`, `${SOURCE_DIR}/install.ts`]; + return [ { + input, external: (id) => isBareModuleId(id), - input: `${SOURCE_DIR}/index.ts`, output: { banner: createBanner(name, version), dir: OUTPUT_DIR, - format: "cjs", + entryFileNames: "[name].mjs", + format: "esm", preserveModules: true, exports: "named", }, @@ -50,5 +53,25 @@ module.exports = function rollup() { }), ], }, + { + input, + external: (id) => isBareModuleId(id), + output: { + banner: createBanner(name, version), + dir: OUTPUT_DIR, + format: "cjs", + preserveModules: true, + exports: "named", + }, + plugins: [ + babel({ + babelHelpers: "bundled", + exclude: /node_modules/, + extensions: [".ts", ".tsx"], + ...remixBabelConfig, + }), + nodeResolve({ extensions: [".ts", ".tsx"] }), + ], + }, ]; }; diff --git a/packages/react-router-serve/package.json b/packages/react-router-serve/package.json index bac316c10d..c726e7c877 100644 --- a/packages/react-router-serve/package.json +++ b/packages/react-router-serve/package.json @@ -11,6 +11,9 @@ "directory": "packages/react-router-serve" }, "license": "MIT", + "exports": { + "./package.json": "./package.json" + }, "bin": { "react-router-serve": "bin.js" }, diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 0c4d09edf5..390c1ba3f6 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -20,8 +20,16 @@ "sideEffects": false, "main": "./dist/main.js", "unpkg": "./dist/umd/react-router.production.min.js", - "module": "./dist/index.js", + "module": "./dist/index.mjs", "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/main.js" + }, + "./package.json": "./package.json" + }, "dependencies": { "@types/cookie": "^0.6.0", "@web3-storage/multipart-parser": "^1.0.0", diff --git a/packages/react-router/rollup.config.js b/packages/react-router/rollup.config.js index 81ad2a65d5..cf4ae35072 100644 --- a/packages/react-router/rollup.config.js +++ b/packages/react-router/rollup.config.js @@ -26,7 +26,7 @@ module.exports = function rollup() { { input: `${SOURCE_DIR}/index.ts`, output: { - file: `${OUTPUT_DIR}/index.js`, + file: `${OUTPUT_DIR}/index.mjs`, format: "esm", sourcemap: !PRETTY, banner: createBanner("React Router", version),