Skip to content

Commit e5bf59f

Browse files
authored
refactor: mark a few client-side packages as side-effect-free (facebook#7085)
* refactor: mark a few client-side packages as side-effect-free * fix * fix again * fix... * revert sideeffect * revert * fix again... * properly fix * fix * properly fix
1 parent 53f531e commit e5bf59f

10 files changed

Lines changed: 34 additions & 5 deletions

File tree

packages/docusaurus-plugin-content-docs/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "2.0.0-beta.18",
44
"description": "Docs plugin for Docusaurus.",
55
"main": "lib/index.js",
6+
"sideEffects": false,
67
"exports": {
78
"./client": "./lib/client/index.js",
89
"./server": "./lib/server-export.js",

packages/docusaurus-theme-classic/src/theme-classic.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -879,7 +879,7 @@ declare module '@theme/ThemedImage' {
879879
}
880880

881881
declare module '@theme/Details' {
882-
import {Details, type DetailsProps} from '@docusaurus/theme-common';
882+
import {Details, type DetailsProps} from '@docusaurus/theme-common/Details';
883883

884884
export interface Props extends DetailsProps {}
885885
export default Details;

packages/docusaurus-theme-classic/src/theme/Details/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import React from 'react';
99
import clsx from 'clsx';
10-
import {Details as DetailsGeneric} from '@docusaurus/theme-common';
10+
import {Details as DetailsGeneric} from '@docusaurus/theme-common/Details';
1111
import type {Props} from '@theme/Details';
1212
import styles from './styles.module.css';
1313

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* Copyright (c) Facebook, Inc. and its affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
// `Details` is a separate export entry because of side-effects messing with CSS
9+
// insertion order. See https://github.com/facebook/docusaurus/pull/7085.
10+
// However, because TS doesn't recognize `exports` (also a problem in
11+
// `content-docs`), we have to manually create a stub.
12+
13+
// eslint-disable-next-line import/named
14+
export {Details, type DetailsProps} from './lib/components/Details';

packages/docusaurus-theme-common/package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
"description": "Common code for Docusaurus themes.",
55
"main": "./lib/index.js",
66
"types": "./lib/index.d.ts",
7+
"sideEffects": [
8+
"lib/components/Details/*",
9+
"*.css"
10+
],
11+
"exports": {
12+
".": "./lib/index.js",
13+
"./Details": "./lib/components/Details/index.js"
14+
},
715
"scripts": {
816
"build": "node copyUntypedFiles.mjs && tsc",
917
"watch": "node copyUntypedFiles.mjs && tsc --watch"

packages/docusaurus-theme-common/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ export {useLocationChange} from './utils/useLocationChange';
6363

6464
export {useCollapsible, Collapsible} from './components/Collapsible';
6565

66-
export {Details, type DetailsProps} from './components/Details';
67-
6866
export {
6967
useDocsPreferredVersion,
7068
useDocsPreferredVersionByPluginId,

packages/docusaurus-theme-common/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
"declarationMap": true,
99
"rootDir": "src",
1010
"outDir": "lib"
11-
}
11+
},
12+
"include": ["src"]
1213
}

packages/docusaurus-theme-live-codeblock/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
"description": "Docusaurus live code block component.",
55
"main": "lib/index.js",
66
"types": "src/theme-live-codeblock.d.ts",
7+
"sideEffects": [
8+
"lib/theme/Playground/*"
9+
],
710
"publishConfig": {
811
"access": "public"
912
},

packages/docusaurus-theme-search-algolia/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
"version": "2.0.0-beta.18",
44
"description": "Algolia search component for Docusaurus.",
55
"main": "lib/index.js",
6+
"sideEffects": [
7+
"*.css"
8+
],
69
"exports": {
710
"./client": "./lib/client/index.js",
811
".": "./lib/index.js"

packages/docusaurus-utils-common/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"description": "Common (Node/Browser) utility functions for Docusaurus packages.",
55
"main": "./lib/index.js",
66
"types": "./lib/index.d.ts",
7+
"sideEffects": false,
78
"scripts": {
89
"build": "tsc",
910
"watch": "tsc --watch"

0 commit comments

Comments
 (0)