diff --git a/packages/cli/package.json b/packages/cli/package.json index 95cb274a21..1fd3e690ba 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -3,7 +3,10 @@ "version": "0.0.209", "description": "CLI containing utilities and simple script runner", "main": "./index.js", - "exports": "./index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, "types": "./index.d.ts", "type": "module", "bin": { diff --git a/packages/code-gen/package.json b/packages/code-gen/package.json index 3d78d0ddf5..5529e16283 100644 --- a/packages/code-gen/package.json +++ b/packages/code-gen/package.json @@ -3,7 +3,10 @@ "version": "0.0.209", "description": "Generate various boring parts of your server", "main": "./index.js", - "exports": "./index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, "types": "./index.d.ts", "type": "module", "keywords": [ diff --git a/packages/compas/package.json b/packages/compas/package.json index 297380f29d..2db1a40bb3 100644 --- a/packages/compas/package.json +++ b/packages/compas/package.json @@ -7,7 +7,8 @@ "./code-gen": "./src/exports/code-gen.js", "./server": "./src/exports/server.js", "./stdlib": "./src/exports/stdlib.js", - "./store": "./src/exports/store.js" + "./store": "./src/exports/store.js", + "./package.json": "./package.json" }, "types": "./index.d.ts", "type": "module", diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 9b9d61145d..47252872c1 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -3,6 +3,12 @@ "version": "0.0.209", "description": "ESLint plugin", "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json", + "./prettierrc": "./prettierrc.js", + "./prettierrc.js": "./prettierrc.js" + }, "keywords": [ "compas", "lint", diff --git a/packages/server/package.json b/packages/server/package.json index 82d3a5308d..7649ecaa8a 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -3,7 +3,10 @@ "version": "0.0.209", "description": "Koa server and common middleware", "main": "./index.js", - "exports": "./index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, "types": "./index.d.ts", "type": "module", "keywords": [ diff --git a/packages/stdlib/package.json b/packages/stdlib/package.json index 4486ec7729..76a837c040 100644 --- a/packages/stdlib/package.json +++ b/packages/stdlib/package.json @@ -3,7 +3,10 @@ "version": "0.0.209", "description": "All kinds of utility functions", "main": "./index.js", - "exports": "./index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, "types": "./index.d.ts", "type": "module", "keywords": [ diff --git a/packages/store/package.json b/packages/store/package.json index 015cfc84de..058cd19741 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -3,7 +3,10 @@ "version": "0.0.209", "description": "Postgres & S3-compatible wrappers for common things", "main": "./index.js", - "exports": "./index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, "types": "./index.d.ts", "type": "module", "keywords": [ diff --git a/test/repo/package.json.test.js b/test/repo/package.json.test.js new file mode 100644 index 0000000000..38b6b43ab6 --- /dev/null +++ b/test/repo/package.json.test.js @@ -0,0 +1,23 @@ +import { readdirSync } from "node:fs"; +import { createRequire } from "node:module"; +import { mainTestFn, test } from "@compas/cli"; + +const require = createRequire(import.meta.url); + +mainTestFn(import.meta); + +test("repo/package.json - imports", (t) => { + for (let pkg of readdirSync("./packages", { + encoding: "utf-8", + })) { + if (pkg !== "compas") { + pkg = `@compas/${pkg}`; + } + + const result = require(`${pkg}/package.json`); + t.equal(result.name, pkg, pkg); + t.equal(result.exports?.["./package.json"], "./package.json", pkg); + } + + t.pass(); +});