Skip to content
Open
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
41 changes: 41 additions & 0 deletions .changeset/silent-spies-greet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
"create-refine-app": minor
"@refinedev/devtools-internal": minor
"@refinedev/devtools-server": minor
"@refinedev/devtools-shared": minor
"@refinedev/react-hook-form": minor
"@refinedev/nextjs-router": minor
"@refinedev/nestjs-query": minor
"@refinedev/nestjsx-crud": minor
"@refinedev/react-router": minor
"@refinedev/remix-router": minor
"@refinedev/devtools-ui": minor
"@refinedev/react-table": minor
"@refinedev/simple-rest": minor
"@refinedev/inferencer": minor
"@refinedev/chakra-ui": minor
"@refinedev/refine-ui": minor
"@refinedev/strapi-v4": minor
"@refinedev/airtable": minor
"@refinedev/appwrite": minor
"@refinedev/devtools": minor
"@refinedev/supabase": minor
"@refinedev/ui-tests": minor
"@refinedev/ui-types": minor
"@refinedev/graphql": minor
"@refinedev/mantine": minor
"@refinedev/hasura": minor
"@refinedev/medusa": minor
"@refinedev/strapi": minor
"@refinedev/ably": minor
"@refinedev/antd": minor
"@refinedev/core": minor
"@refinedev/kbar": minor
"@refinedev/rest": minor
"@refinedev/cli": minor
"@refinedev/mui": minor
---

[Resolves #6969](https://github.com/refinedev/refine/issues/6969) Move from tsup to tsdown since the former is not more actively maintained.

This change also introduces the lint rule to explicitly indicate types during module re-exports. This avoids triggering rolldown's isolated module transpilation related error.
1 change: 1 addition & 0 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
"useSingleVarDeclarator": "error",
"useTemplate": "error",
"useImportType": "error",
"useExportType": "error",
"useNodejsImportProtocol": "off"
},
"suspicious": {
Expand Down
5 changes: 4 additions & 1 deletion cypress/e2e/auth-auth0/all.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ describe("auth-auth0", () => {
cy.location("pathname").should("eq", "/login");
login();
cy.location("pathname").should("eq", "/posts");
cy.visit("/test-route");
cy.window().then((window) => {
window.history.pushState({}, "", "/test-route");
window.dispatchEvent(new PopStateEvent("popstate"));
});
cy.get(".ant-result-404").should("exist");
cy.clearAllCookies();
cy.clearAllSessionStorage();
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/auth-chakra-ui/all.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ describe("auth-chakra-ui", () => {
it("should render getIdentity response on header", () => {
login();
cy.get(".chakra-text").contains(/jane doe/i);
cy.get(".chakra-avatar__img").should("have.attr", "src");
cy.get(".chakra-avatar").should("be.visible");
});
});
});
6 changes: 3 additions & 3 deletions packages/ably/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
],
"scripts": {
"attw": "attw --pack .",
"build": "tsup && node ../shared/generate-declarations.js",
"dev": "tsup --watch",
"build": "tsdown && node ../shared/generate-declarations.js",
"dev": "tsdown --watch",
"prepare": "pnpm build",
"publint": "publint --strict=true --level=suggestion",
"test": "vitest run --passWithNoTests",
Expand All @@ -47,8 +47,8 @@
"@types/node": "^20",
"jsdom": "^25.0.1",
"nock": "^13.4.0",
"tsdown": "^0.21.10",
"tslib": "^2.6.2",
"tsup": "^6.7.0",
"typescript": "^5.8.3",
"vitest": "^2.1.8"
},
Expand Down
3 changes: 2 additions & 1 deletion packages/ably/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"extends": "../../tsconfig.build.json",
"compilerOptions": {
"rootDir": "./src",
"baseUrl": "."
"baseUrl": ".",
"verbatimModuleSyntax": true
}
}
19 changes: 19 additions & 0 deletions packages/ably/tsdown.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { defineConfig } from "tsdown";

export default defineConfig((options) => ({
entry: ["src/index.ts"],
outputOptions: {
codeSplitting: false,
},
sourcemap: true,
clean: false,
minify: false,
format: ["cjs", "esm"],
outExtensions({ format }) {
return {
js: format === "cjs" ? ".cjs" : ".mjs",
};
},
platform: "browser",
onSuccess: options.watch ? "pnpm types" : undefined,
}));
27 changes: 0 additions & 27 deletions packages/ably/tsup.config.ts

This file was deleted.

6 changes: 3 additions & 3 deletions packages/airtable/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
],
"scripts": {
"attw": "attw --pack .",
"build": "tsup && node ../shared/generate-declarations.js",
"dev": "tsup --watch",
"build": "tsdown && node ../shared/generate-declarations.js",
"dev": "tsdown --watch",
"prepare": "pnpm build",
"publint": "publint --strict=true --level=suggestion",
"test": "vitest run --passWithNoTests",
Expand All @@ -54,8 +54,8 @@
"jsdom": "^25.0.1",
"nock": "^13.4.0",
"node-fetch": "^2.6.7",
"tsdown": "^0.21.10",
"tslib": "^2.6.2",
"tsup": "^6.7.0",
"typescript": "^5.8.3",
"vitest": "^2.1.8"
},
Expand Down
3 changes: 2 additions & 1 deletion packages/airtable/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"extends": "../../tsconfig.build.json",
"compilerOptions": {
"rootDir": "./src",
"baseUrl": "."
"baseUrl": ".",
"verbatimModuleSyntax": true
}
}
19 changes: 19 additions & 0 deletions packages/airtable/tsdown.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { defineConfig } from "tsdown";

export default defineConfig((options) => ({
entry: ["src/index.ts"],
outputOptions: {
codeSplitting: false,
},
sourcemap: true,
clean: false,
minify: false,
format: ["cjs", "esm"],
outExtensions({ format }) {
return {
js: format === "cjs" ? ".cjs" : ".mjs",
};
},
platform: "browser",
onSuccess: options.watch ? "pnpm types" : undefined,
}));
27 changes: 0 additions & 27 deletions packages/airtable/tsup.config.ts

This file was deleted.

7 changes: 4 additions & 3 deletions packages/antd/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"typings": "dist/index.d.ts",
"scripts": {
"attw": "attw --pack . --exclude-entrypoints dist/reset.css",
"build": "tsup && node ../shared/generate-declarations.js",
"dev": "tsup --watch",
"build": "tsdown && node ../shared/generate-declarations.js",
"dev": "tsdown --watch",
"prepare": "pnpm build",
"publint": "publint --strict=true --level=suggestion",
"test": "vitest run",
Expand Down Expand Up @@ -74,7 +74,8 @@
"identity-obj-proxy": "^3.0.0",
"postcss": "^8.1.4",
"react-router": "^7.0.2",
"tsup": "^6.7.0",
"rollup-plugin-copy": "^3.5.0",
"tsdown": "^0.21.10",
"typescript": "^5.8.3",
"vitest": "^2.1.8"
},
Expand Down
16 changes: 8 additions & 8 deletions packages/antd/src/hooks/form/index.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
export { useForm, UseFormProps, UseFormReturnType } from "./useForm";
export { useForm, type UseFormProps, type UseFormReturnType } from "./useForm";
export {
useModalForm,
UseModalFormProps,
UseModalFormReturnType,
type UseModalFormProps,
type UseModalFormReturnType,
} from "./useModalForm";
export {
useDrawerForm,
UseDrawerFormProps,
UseDrawerFormConfig,
UseDrawerFormReturnType,
type UseDrawerFormProps,
type UseDrawerFormConfig,
type UseDrawerFormReturnType,
} from "./useDrawerForm";
export {
useStepsForm,
UseStepsFormProps,
UseStepsFormReturnType,
type UseStepsFormProps,
type UseStepsFormReturnType,
} from "./useStepsForm";
6 changes: 3 additions & 3 deletions packages/antd/src/hooks/form/useDrawerForm/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export {
useDrawerForm,
UseDrawerFormProps,
UseDrawerFormConfig,
UseDrawerFormReturnType,
type UseDrawerFormProps,
type UseDrawerFormConfig,
type UseDrawerFormReturnType,
} from "./useDrawerForm";
4 changes: 2 additions & 2 deletions packages/antd/src/hooks/form/useModalForm/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export {
useModalForm,
UseModalFormProps,
UseModalFormReturnType,
type UseModalFormProps,
type UseModalFormReturnType,
} from "./useModalForm";
4 changes: 2 additions & 2 deletions packages/antd/src/hooks/form/useStepsForm/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export {
useStepsForm,
UseStepsFormProps,
UseStepsFormReturnType,
type UseStepsFormProps,
type UseStepsFormReturnType,
} from "./useStepsForm";
6 changes: 5 additions & 1 deletion packages/antd/src/hooks/table/useTable/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
export { useTable, useTableProps, useTableReturnType } from "./useTable";
export {
useTable,
type useTableProps,
type useTableReturnType,
} from "./useTable";
3 changes: 2 additions & 1 deletion packages/antd/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"./src/types",
"./node_modules/@types",
"../../node_modules/@types"
]
],
"verbatimModuleSyntax": true
}
}
64 changes: 64 additions & 0 deletions packages/antd/tsdown.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import { defineConfig } from "tsdown";
import type { Plugin } from "rolldown";
import copy from "rollup-plugin-copy";

import { removeTestIdsPlugin } from "../shared/remove-test-ids-plugin.ts";
import { dayJsEsmReplacePlugin } from "../shared/dayjs-esm-replace-plugin.ts";
import { markAsExternalPlugin } from "../shared/mark-as-external-plugin.ts";

const ANTD_TARGET_REGEX =
/\/src\/components\/antd\/(antd|calendar|datePicker|timePicker).*/;

/**
* Replaces CJS imports (antd/lib/, rc-picker/lib/) with ESM equivalents (antd/es/, rc-picker/es/)
*/
const antdLibToEsPlugin = (): Plugin => ({
name: "antd-lib-2-es-module-replacement",
renderChunk(code, chunk, options) {
if (options.format === "cjs") return null;

if (!ANTD_TARGET_REGEX.test(chunk.fileName)) return null;

return {
code: code
.replace(/antd\/lib\//g, "antd/es/")
.replace(/rc-picker\/lib\//g, "rc-picker/es/"),
map: null,
};
},
});

export default defineConfig((options) => ({
entry: ["src/index.tsx"],
outputOptions: {
codeSplitting: false,
keepNames: true,
},
banner: {
js: '"use client"',
},
sourcemap: true,
clean: false,
minify: false,
format: ["cjs", "esm"],
outExtensions({ format }) {
return {
js: format === "cjs" ? ".cjs" : ".mjs",
};
},
platform: "browser",
plugins: [
removeTestIdsPlugin,
antdLibToEsPlugin(),
dayJsEsmReplacePlugin,
copy({
targets: [{ src: "src/assets/styles/reset.css", dest: "dist" }],
hook: "writeBundle",
}),
markAsExternalPlugin,
],
loader: {
".svg": "dataurl",
},
onSuccess: options.watch ? "pnpm types" : undefined,
}));
Loading