Skip to content

Commit 2278a56

Browse files
committed
fix: added cjs exports to react package for NextJS projects
1 parent 2438708 commit 2278a56

File tree

5 files changed

+564
-16
lines changed

5 files changed

+564
-16
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"react": "^18.2.0",
4646
"rimraf": "^5.0.5",
4747
"tslib": "^2.6.2",
48+
"tsup": "^8.0.1",
4849
"typescript": "^5.3.3"
4950
},
5051
"resolutions": {

packages/react/package.json

+15-11
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,28 @@
44
"description": "React bindings for @skyra/discord-components-core",
55
"author": "@skyra",
66
"license": "MIT",
7-
"main": "dist/index.js",
8-
"module": "dist/index.js",
9-
"typings": "dist/index.d.ts",
7+
"main": "dist/cjs/index.cjs",
8+
"module": "dist/esm/index.mjs",
9+
"typings": "dist/cjs/index.d.cts",
1010
"type": "module",
1111
"exports": {
1212
"import": {
13-
"types": "./dist/index.d.ts",
14-
"default": "./dist/index.js"
13+
"types": "./dist/esm/index.d.mts",
14+
"default": "./dist/esm/index.mjs"
15+
},
16+
"require": {
17+
"types": "./dist/cjs/index.d.cts",
18+
"default": "./dist/cjs/index.cjs"
1519
}
1620
},
1721
"sideEffects": [
18-
"./dist/index.js"
22+
"./dist/cjs/index.cjs",
23+
"./dist/esm/index.mjs"
1924
],
2025
"homepage": "https://github.com/skyra-project/discord-components/tree/main/packages/react#readme",
2126
"scripts": {
22-
"clean": "rimraf dist coverage",
23-
"build": "yarn clean && tsc -b src"
27+
"build": "tsup && yarn build:rename-esm-index",
28+
"build:rename-esm-index": "node scripts/rename-esm-index.mjs"
2429
},
2530
"dependencies": {
2631
"@lit/react": "^1.0.2",
@@ -30,16 +35,15 @@
3035
},
3136
"devDependencies": {
3237
"@types/react": "^18.2.48",
38+
"colorette": "^2.0.20",
3339
"rimraf": "^5.0.5",
40+
"tsup": "^8.0.1",
3441
"typescript": "^5.3.3"
3542
},
3643
"peerDependencies": {
3744
"react": "16.8.x || 17.x || 18.x",
3845
"react-dom": "16.8.x || 17.x || 18.x"
3946
},
40-
"directories": {
41-
"lib": "src"
42-
},
4347
"files": [
4448
"dist/",
4549
"CHANGELOG.md"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { rename } from 'node:fs/promises';
2+
import { join } from 'node:path';
3+
import { green } from 'colorette';
4+
5+
const inputPath = 'dist/esm/index.d.ts';
6+
const outputPath = 'dist/esm/index.d.mts';
7+
8+
const fullInputPathUrl = join(process.cwd(), inputPath);
9+
const fullOutputPathUrl = join(process.cwd(), outputPath);
10+
11+
await rename(fullInputPathUrl, fullOutputPathUrl);
12+
13+
console.log(green(`✅ Renamed index.d.ts to index.d.mts`));

packages/react/tsup.config.ts

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { defineConfig, type Options } from 'tsup';
2+
import { dependencies } from './package.json';
3+
4+
const baseOptions: Options = {
5+
clean: true,
6+
dts: true,
7+
entry: ['src/index.ts'],
8+
minify: false,
9+
external: Object.keys(dependencies),
10+
sourcemap: true,
11+
target: 'es2022',
12+
tsconfig: 'src/tsconfig.json',
13+
keepNames: true,
14+
treeshake: true
15+
};
16+
17+
export default [
18+
defineConfig({
19+
...baseOptions,
20+
outDir: 'dist/cjs',
21+
format: 'cjs',
22+
outExtension: () => ({ js: '.cjs' })
23+
}),
24+
defineConfig({
25+
...baseOptions,
26+
outDir: 'dist/esm',
27+
format: 'esm',
28+
outExtension: () => ({ js: '.mjs' })
29+
})
30+
];

0 commit comments

Comments
 (0)