Skip to content

Commit b15f302

Browse files
feat: Split docsearch-react package exports (#2764)
* feat: Split docsearch-react package exports * Adds more explicit exports from @docsearch/react package * fix: docusaurus import --------- Co-authored-by: Dylan Tientcheu <dylan.tientcheu@algolia.com> Co-authored-by: Dylan Tientcheu <dylantientcheu@gmail.com>
1 parent 9a908b8 commit b15f302

8 files changed

Lines changed: 108 additions & 26 deletions

File tree

packages/docsearch-react/button.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export { DocSearchButton } from './dist/esm';
1+
export { DocSearchButton } from './dist/esm/DocSearchButton.js';

packages/docsearch-react/modal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export { DocSearchModal } from './dist/esm';
1+
export { DocSearchModal } from './dist/esm/DocSearchModal.js';

packages/docsearch-react/package.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,22 @@
1616
"sideEffects": false,
1717
"files": [
1818
"dist/",
19-
"style/",
2019
"button.js",
21-
"modal.js"
20+
"modal.js",
21+
"useTheme.js",
22+
"useDocSearchKeyboardEvents.js",
23+
"version.js",
24+
"style/"
2225
],
26+
"exports": {
27+
".": "./dist/esm/index.js",
28+
"./button": "./dist/esm/DocSearchButton.js",
29+
"./modal": "./dist/esm/DocSearchModal.js",
30+
"./style": "./style/index.js",
31+
"./useDocSearchKeyboardEvents": "./dist/esm/useDocSearchKeyboardEvents.js",
32+
"./useTheme": "./dist/esm/useTheme.js",
33+
"./version": "./dist/esm/version.js"
34+
},
2335
"source": "src/index.ts",
2436
"types": "dist/esm/index.d.ts",
2537
"module": "dist/esm/index.js",

packages/docsearch-react/rollup.config.js

Lines changed: 82 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,96 @@ import { getBundleBanner } from '../../scripts/getBundleBanner';
88

99
import pkg from './package.json';
1010

11+
const sourcePlugins = [
12+
commonjs(),
13+
...plugins,
14+
replace({
15+
preventAssignment: true,
16+
'process.env.NODE_ENV': JSON.stringify('production'),
17+
}),
18+
];
19+
20+
function sourceOutput(fileName) {
21+
return [
22+
{
23+
globals: {
24+
react: 'React',
25+
'react-dom': 'ReactDOM',
26+
},
27+
file: `dist/umd/${fileName}`,
28+
format: 'umd',
29+
sourcemap: true,
30+
name: pkg.name,
31+
banner: getBundleBanner(pkg),
32+
},
33+
{ dir: 'dist/esm', format: 'es' },
34+
];
35+
}
36+
1137
export default [
1238
{
1339
input: 'src/index.ts',
1440
external: ['react', 'react-dom'],
15-
output: [
16-
{
17-
globals: {
18-
react: 'React',
19-
'react-dom': 'ReactDOM',
20-
},
21-
file: 'dist/umd/index.js',
22-
format: 'umd',
23-
sourcemap: true,
24-
name: pkg.name,
25-
banner: getBundleBanner(pkg),
26-
},
27-
{ dir: 'dist/esm', format: 'es' },
28-
],
29-
plugins: [
30-
commonjs(),
31-
...plugins,
32-
replace({
33-
preventAssignment: true,
34-
'process.env.NODE_ENV': JSON.stringify('production'),
35-
}),
36-
],
41+
output: sourceOutput('index.js'),
42+
plugins: sourcePlugins,
43+
},
44+
{
45+
input: 'src/DocSearchButton.tsx',
46+
external: ['react', 'react-dom'],
47+
output: sourceOutput('DocsearchButton.js'),
48+
plugins: sourcePlugins,
49+
},
50+
{
51+
input: 'src/DocSearchModal.tsx',
52+
external: ['react', 'react-dom'],
53+
output: sourceOutput('DocSearchModal.js'),
54+
plugins: sourcePlugins,
55+
},
56+
{
57+
input: 'src/useDocSearchKeyboardEvents.ts',
58+
external: ['react', 'react-dom'],
59+
output: sourceOutput('useDocSearchKeyboardEvents.js'),
60+
plugins: sourcePlugins,
61+
},
62+
{
63+
input: 'src/useTheme.tsx',
64+
external: ['react', 'react-dom'],
65+
output: sourceOutput('useTheme.js'),
66+
plugins: sourcePlugins,
67+
},
68+
{
69+
input: 'src/version.ts',
70+
output: sourceOutput('version.js'),
71+
plugins: sourcePlugins,
3772
},
3873
{
3974
input: 'dist/esm/types/index.d.ts',
4075
output: [{ file: 'dist/esm/index.d.ts', format: 'es' }],
4176
plugins: [dts()],
4277
},
78+
{
79+
input: 'dist/esm/types/DocSearchModal.d.ts',
80+
output: [{ file: 'dist/esm/DocSearchModal.d.ts', format: 'es' }],
81+
plugins: [dts()],
82+
},
83+
{
84+
input: 'dist/esm/types/DocSearchButton.d.ts',
85+
output: [{ file: 'dist/esm/DocSearchButton.d.ts', format: 'es' }],
86+
plugins: [dts()],
87+
},
88+
{
89+
input: 'dist/esm/types/useDocSearchKeyboardEvents.d.ts',
90+
output: [{ file: 'dist/esm/useDocSearchKeyboardEvents.d.ts', format: 'es' }],
91+
plugins: [dts()],
92+
},
93+
{
94+
input: 'dist/esm/types/useTheme.d.ts',
95+
output: [{ file: 'dist/esm/useTheme.d.ts', format: 'es' }],
96+
plugins: [dts()],
97+
},
98+
{
99+
input: 'dist/esm/types/version.d.ts',
100+
output: [{ file: 'dist/esm/version.d.ts', format: 'es' }],
101+
plugins: [dts()],
102+
},
43103
];
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
{
22
"extends": "../../tsconfig.declaration",
3+
"include": [
4+
"./src/DocSearchButton.tsx",
5+
"./src/DocSearchModal.tsx",
6+
"./src/useDocSearchKeyboardEvents.ts",
7+
"./src/useTheme.tsx",
8+
"./src/version.ts"
9+
]
310
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { useDocSearchKeyboardEvents } from './dist/esm/useDocSearchKeyboardEvents.js';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { useTheme } from './dist/esm/useTheme.js';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { version } from './dist/esm/version.js';

0 commit comments

Comments
 (0)