From 3495eefa0f6be9f8c4bb65a9995ebe144697967f Mon Sep 17 00:00:00 2001 From: Hunter Tunnicliff Date: Tue, 10 Sep 2024 09:20:05 -0700 Subject: [PATCH] Revert to ESM-only --- package.json | 61 +++++++-------------------------- src/__test__/immutable.test.ts | 2 +- src/__test__/infinite.test.ts | 4 +-- src/__test__/mutate.test.ts | 4 +-- src/__test__/query-base.test.ts | 4 +-- src/__test__/query.test.ts | 2 +- src/immutable.ts | 2 +- src/index.mts | 5 --- src/index.ts | 7 ++-- src/query.ts | 2 +- tsconfig.json | 3 +- tsup.config.ts | 43 +++++++---------------- 12 files changed, 42 insertions(+), 97 deletions(-) delete mode 100644 src/index.mts diff --git a/package.json b/package.json index b40bbe1..d4a4822 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swr-openapi", - "type": "commonjs", + "type": "module", "version": "5.0.0-rc.7", "description": "Generate SWR hooks from OpenAPI schemas", "license": "MIT", @@ -15,63 +15,26 @@ "engines": { "node": ">=18" }, - "main": "dist/index.js", - "module": "dist/esm/index.mjs", "exports": { ".": { - "import": { - "types": "./dist/esm/index.d.mts", - "default": "./dist/esm/index.mjs" - }, - "module": "./dist/esm/index.mjs", - "require": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - } + "types": "./dist/index.d.ts", + "import": "./dist/index.js" }, "./immutable": { - "import": { - "types": "./dist/esm/immutable.d.mts", - "default": "./dist/esm/immutable.mjs" - }, - "module": "./dist/esm/immutable.mjs", - "require": { - "types": "./dist/immutable.d.ts", - "default": "./dist/immutable.js" - } + "types": "./dist/immutable.d.ts", + "import": "./dist/immutable.js" }, "./infinite": { - "import": { - "types": "./dist/esm/infinite.d.mts", - "default": "./dist/esm/infinite.mjs" - }, - "module": "./dist/esm/infinite.mjs", - "require": { - "types": "./dist/infinite.d.ts", - "default": "./dist/infinite.js" - } + "types": "./dist/infinite.d.ts", + "import": "./dist/infinite.js" }, "./mutate": { - "import": { - "types": "./dist/esm/mutate.d.mts", - "default": "./dist/esm/mutate.mjs" - }, - "module": "./dist/esm/mutate.mjs", - "require": { - "types": "./dist/mutate.d.ts", - "default": "./dist/mutate.js" - } + "types": "./dist/mutate.d.ts", + "import": "./dist/mutate.js" }, "./query": { - "import": { - "types": "./dist/esm/query.d.mts", - "default": "./dist/esm/query.mjs" - }, - "module": "./dist/esm/query.mjs", - "require": { - "types": "./dist/query.d.ts", - "default": "./dist/query.js" - } + "types": "./dist/query.d.ts", + "import": "./dist/query.js" } }, "sideEffects": false, @@ -99,7 +62,7 @@ "types:check": "tsc --noEmit", "format": "prettier --write .", "format:check": "prettier --check .", - "exports:check": "attw --pack . --ignore-rules=no-resolution" + "exports:check": "attw --pack . --ignore-rules no-resolution --ignore-rules cjs-resolves-to-esm" }, "dependencies": { "openapi-typescript-helpers": "0.0.13", diff --git a/src/__test__/immutable.test.ts b/src/__test__/immutable.test.ts index f93d62d..6fb8087 100644 --- a/src/__test__/immutable.test.ts +++ b/src/__test__/immutable.test.ts @@ -1,6 +1,6 @@ import useSWRImmutable from "swr/immutable"; import { describe, expect, it, vi } from "vitest"; -import * as QueryBase from "../query-base"; +import * as QueryBase from "../query-base.js"; vi.mock("../query-base.js"); const { configureBaseQueryHook } = vi.mocked(QueryBase); diff --git a/src/__test__/infinite.test.ts b/src/__test__/infinite.test.ts index 696a07f..91387d3 100644 --- a/src/__test__/infinite.test.ts +++ b/src/__test__/infinite.test.ts @@ -1,8 +1,8 @@ import createClient from "openapi-fetch"; import * as SWRInfinite from "swr/infinite"; import { afterEach, describe, expect, it, vi } from "vitest"; -import type { paths } from "./fixtures/petstore"; -import { createInfiniteHook } from "../infinite"; +import type { paths } from "./fixtures/petstore.js"; +import { createInfiniteHook } from "../infinite.js"; // Mock `useSWRInfinite` vi.mock("swr/infinite"); diff --git a/src/__test__/mutate.test.ts b/src/__test__/mutate.test.ts index f3a6c10..4ced35b 100644 --- a/src/__test__/mutate.test.ts +++ b/src/__test__/mutate.test.ts @@ -3,8 +3,8 @@ import * as React from "react"; import * as SWR from "swr"; import type { ScopedMutator } from "swr/_internal"; import { afterEach, describe, expect, it, vi } from "vitest"; -import { createMutateHook } from "../mutate"; -import type { paths } from "./fixtures/petstore"; +import { createMutateHook } from "../mutate.js"; +import type { paths } from "./fixtures/petstore.js"; import { isMatch } from "lodash"; // Mock `useCallback` (return given function as-is) diff --git a/src/__test__/query-base.test.ts b/src/__test__/query-base.test.ts index d25ffae..553b6e6 100644 --- a/src/__test__/query-base.test.ts +++ b/src/__test__/query-base.test.ts @@ -1,8 +1,8 @@ import createClient from "openapi-fetch"; import * as SWR from "swr"; import { afterEach, describe, expect, it, vi } from "vitest"; -import type { paths } from "./fixtures/petstore"; -import { configureBaseQueryHook } from "../query-base"; +import type { paths } from "./fixtures/petstore.js"; +import { configureBaseQueryHook } from "../query-base.js"; // Mock `useSWR` vi.mock("swr"); diff --git a/src/__test__/query.test.ts b/src/__test__/query.test.ts index 9103f10..3c41e44 100644 --- a/src/__test__/query.test.ts +++ b/src/__test__/query.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from "vitest"; -import * as QueryBase from "../query-base"; +import * as QueryBase from "../query-base.js"; import useSWR from "swr"; vi.mock("../query-base.js"); diff --git a/src/immutable.ts b/src/immutable.ts index 8b74cbd..365993d 100644 --- a/src/immutable.ts +++ b/src/immutable.ts @@ -1,5 +1,5 @@ import useSWRImmutable from "swr/immutable"; -import { configureBaseQueryHook } from "./query-base"; +import { configureBaseQueryHook } from "./query-base.js"; /** * ```ts diff --git a/src/index.mts b/src/index.mts deleted file mode 100644 index 5f9b330..0000000 --- a/src/index.mts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./immutable.js"; -export * from "./infinite.js"; -export * from "./mutate.js"; -export * from "./query.js"; -export * from "./types.js"; diff --git a/src/index.ts b/src/index.ts index d6b12f7..5f9b330 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,5 @@ -export * from "./query"; -export * from "./types"; +export * from "./immutable.js"; +export * from "./infinite.js"; +export * from "./mutate.js"; +export * from "./query.js"; +export * from "./types.js"; diff --git a/src/query.ts b/src/query.ts index 667d3ad..9b7346e 100644 --- a/src/query.ts +++ b/src/query.ts @@ -1,5 +1,5 @@ import useSWR from "swr"; -import { configureBaseQueryHook } from "./query-base"; +import { configureBaseQueryHook } from "./query-base.js"; /** * ```ts diff --git a/tsconfig.json b/tsconfig.json index 5031d30..6452607 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,8 @@ "strict": true, "noUncheckedIndexedAccess": true, "noImplicitOverride": true, - "module": "Preserve", + "module": "Node16", + "moduleResolution": "Node16", "noEmit": true }, "exclude": ["dist/"] diff --git a/tsup.config.ts b/tsup.config.ts index 1c99d36..b4d03b9 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,33 +1,16 @@ -import { defineConfig, type Options } from "tsup"; +import { defineConfig } from "tsup"; -const shared: Options = { +export default defineConfig({ + entryPoints: [ + "src/index.ts", + "src/immutable.ts", + "src/infinite.ts", + "src/mutate.ts", + "src/query.ts", + ], + format: "esm", + outDir: "dist", dts: true, clean: true, -}; - -export default defineConfig([ - { - entryPoints: [ - "src/index.ts", - "src/immutable.ts", - "src/infinite.ts", - "src/mutate.ts", - "src/query.ts", - ], - format: "cjs", - outDir: "dist", - ...shared, - }, - { - entryPoints: [ - "src/index.ts", - "src/immutable.ts", - "src/infinite.ts", - "src/mutate.ts", - "src/query.ts", - ], - format: "esm", - outDir: "dist/esm", - ...shared, - }, -]); + sourcemap: true, +});