Skip to content

Yarn PNP and TypeScript doesn't compile out of the box #6157

Closed
@alamothe

Description

Have you read the Contributing Guidelines on issues?

Prerequisites

  • I'm using the latest version of Docusaurus.
  • I have tried the npm run clear or yarn clear command.
  • I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
  • I have tried creating a repro with https://new.docusaurus.io.
  • I have read the console error message carefully (if applicable).

Description

Yarn PNP and TypeScript doesn't compile out of the box. I had to add the following entries to .yarnrc.yml to make it work:

.yarnrc.yml
  "@docusaurus/module-type-aliases@*":
    dependencies:
      "@types/history": "*"
      "@types/react-loadable": "*"
  "@docusaurus/plugin-content-blog@*":
    peerDependencies:
      "@docusaurus/types": "*"
  "@docusaurus/plugin-content-pages@*":
    peerDependencies:
      "@docusaurus/types": "*"
  "@docusaurus/plugin-content-docs@*":
    peerDependencies:
      "@docusaurus/types": "*"
    dependencies:
      "@docusaurus/module-type-aliases": "2.0.0-beta.14"
  "@docusaurus/theme-common@*":
    peerDependencies:
      "@docusaurus/types": "*"
      "@types/react": "*"
  "@docusaurus/theme-classic@*":
    peerDependencies:
      "@docusaurus/types": "*"
    dependencies:
      "utility-types": "*"
  "@docusaurus/preset-classic@*":
    peerDependencies:
      "@docusaurus/types": "*"
    dependencies:
      "@docusaurus/theme-common": "2.0.0-beta.14"
  "@docusaurus/mdx-loader@*":
    dependencies:
      "unified": "*"
  "@docusaurus/utils@*":
    peerDependencies:
      "@docusaurus/types": "*"

These are all dependencies that are missing or not properly declared.

Steps to reproduce

  1. yarn set version berry
  2. npx create-docusaurus@latest carsync-help classic --typescript
  3. yarn tsc

Expected behavior

Compiles without errors.

Actual behavior

Compilation errors reported:
../.yarn/__virtual__/@docusaurus-mdx-loader-virtual-adf7a41f60/0/cache/@docusaurus-mdx-loader-npm-2.0.0-beta.14-971ea241f9-248a8f73b4.zip/node_modules/@docusaurus/mdx-loader/src/mdx-loader.d.ts:8:27 - error TS2307: Cannot find module 'unified' or its corresponding type declarations.

8 import type {Plugin} from 'unified';
                            ~~~~~~~~~

../.yarn/__virtual__/@docusaurus-plugin-content-blog-virtual-e96af830a4/0/cache/@docusaurus-plugin-content-blog-npm-2.0.0-beta.14-3465a1b1cb-9d98707faa.zip/node_modules/@docusaurus/plugin-content-blog/src/plugin-content-blog.d.ts:29:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

29   import type {TOCItem} from '@docusaurus/types';
                                ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-plugin-content-docs-virtual-f0cdf7992e/0/cache/@docusaurus-plugin-content-docs-npm-2.0.0-beta.14-5f7a4ed55b-d7c1951f18.zip/node_modules/@docusaurus/plugin-content-docs/src/plugin-content-docs.d.ts:81:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

81   import type {TOCItem} from '@docusaurus/types';
                                ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-plugin-content-docs-virtual-f0cdf7992e/0/cache/@docusaurus-plugin-content-docs-npm-2.0.0-beta.14-5f7a4ed55b-d7c1951f18.zip/node_modules/@docusaurus/plugin-content-docs/src/types.ts:8:23 - error TS2688: Cannot find type definition file for '@docusaurus/module-type-aliases'.

8 /// <reference types="@docusaurus/module-type-aliases" />
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-plugin-content-pages-virtual-dbf42224e5/0/cache/@docusaurus-plugin-content-pages-npm-2.0.0-beta.14-0bbd113bd5-1372f554d8.zip/node_modules/@docusaurus/plugin-content-pages/src/plugin-content-pages.d.ts:13:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

13   import type {TOCItem} from '@docusaurus/types';
                                ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-preset-classic-virtual-ab54b4a240/0/cache/@docusaurus-preset-classic-npm-2.0.0-beta.14-c882f4954f-67019820c8.zip/node_modules/@docusaurus/preset-classic/src/preset-classic.d.ts:19:34 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

19 export type ThemeConfig = import('@docusaurus/types').ThemeConfig &
                                    ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-preset-classic-virtual-ab54b4a240/0/cache/@docusaurus-preset-classic-npm-2.0.0-beta.14-c882f4954f-67019820c8.zip/node_modules/@docusaurus/preset-classic/src/preset-classic.d.ts:20:10 - error TS2307: Cannot find module '@docusaurus/theme-common' or its corresponding type declarations.

20   import('@docusaurus/theme-common').UserThemeConfig & {
            ~~~~~~~~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-classic-virtual-ec17751a11/0/cache/@docusaurus-theme-classic-npm-2.0.0-beta.14-ecbe2a9dfe-ebb4c362e4.zip/node_modules/@docusaurus/theme-classic/src/theme-classic.d.ts:602:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

602   import type {TOCItem} from '@docusaurus/types';
                                 ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-classic-virtual-ec17751a11/0/cache/@docusaurus-theme-classic-npm-2.0.0-beta.14-ecbe2a9dfe-ebb4c362e4.zip/node_modules/@docusaurus/theme-classic/src/theme-classic.d.ts:617:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

617   import type {TOCItem} from '@docusaurus/types';
                                 ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-classic-virtual-ec17751a11/0/cache/@docusaurus-theme-classic-npm-2.0.0-beta.14-ecbe2a9dfe-ebb4c362e4.zip/node_modules/@docusaurus/theme-classic/src/theme-classic.d.ts:642:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

642   import type {TOCItem} from '@docusaurus/types';
                                 ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-classic-virtual-ec17751a11/0/cache/@docusaurus-theme-classic-npm-2.0.0-beta.14-ecbe2a9dfe-ebb4c362e4.zip/node_modules/@docusaurus/theme-classic/src/theme-classic.d.ts:655:30 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

655   import type {TOCItem} from '@docusaurus/types';
                                 ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-classic-virtual-ec17751a11/0/cache/@docusaurus-theme-classic-npm-2.0.0-beta.14-ecbe2a9dfe-ebb4c362e4.zip/node_modules/@docusaurus/theme-classic/src/theme-classic.d.ts:809:31 - error TS2307: Cannot find module 'utility-types' or its corresponding type declarations.

809   import type {Optional} from 'utility-types';
                                  ~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-common-virtual-58b8d3e7b7/0/cache/@docusaurus-theme-common-npm-2.0.0-beta.14-de796828fc-dbe969d676.zip/node_modules/@docusaurus/theme-common/lib/utils/historyUtils.d.ts:7:15 - error TS2305: Module '"@docusaurus/history"' has no exported member 'Location'.

7 import type { Location, Action } from '@docusaurus/history';
                ~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-common-virtual-58b8d3e7b7/0/cache/@docusaurus-theme-common-npm-2.0.0-beta.14-de796828fc-dbe969d676.zip/node_modules/@docusaurus/theme-common/lib/utils/historyUtils.d.ts:7:25 - error TS2305: Module '"@docusaurus/history"' has no exported member 'Action'.

7 import type { Location, Action } from '@docusaurus/history';
                          ~~~~~~

../.yarn/__virtual__/@docusaurus-theme-common-virtual-58b8d3e7b7/0/cache/@docusaurus-theme-common-npm-2.0.0-beta.14-de796828fc-dbe969d676.zip/node_modules/@docusaurus/theme-common/lib/utils/tocUtils.d.ts:7:25 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

7 import { TOCItem } from '@docusaurus/types';
                          ~~~~~~~~~~~~~~~~~~~

../.yarn/__virtual__/@docusaurus-theme-common-virtual-58b8d3e7b7/0/cache/@docusaurus-theme-common-npm-2.0.0-beta.14-de796828fc-dbe969d676.zip/node_modules/@docusaurus/theme-common/lib/utils/useLocationChange.d.ts:7:10 - error TS2305: Module '"@docusaurus/history"' has no exported member 'Location'.

7 import { Location } from '@docusaurus/history';
           ~~~~~~~~

../.yarn/__virtual__/@docusaurus-utils-virtual-064bf14a46/0/cache/@docusaurus-utils-npm-2.0.0-beta.14-d4176db19a-f527eeeca5.zip/node_modules/@docusaurus/utils/lib/index.d.ts:7:76 - error TS2307: Cannot find module '@docusaurus/types' or its corresponding type declarations.

7 import { ReportingSeverity, TranslationFileContent, TranslationFile } from '@docusaurus/types';
                                                                             ~~~~~~~~~~~~~~~~~~~

../.yarn/cache/@docusaurus-module-type-aliases-npm-2.0.0-beta.14-2a8c7bc4e7-d4bb46da11.zip/node_modules/@docusaurus/module-type-aliases/src/index.d.ts:99:44 - error TS2307: Cannot find module 'react-loadable' or its corresponding type declarations.

99   import type {LoadingComponentProps} from 'react-loadable';
                                              ~~~~~~~~~~~~~~~~

../.yarn/cache/@docusaurus-module-type-aliases-npm-2.0.0-beta.14-2a8c7bc4e7-d4bb46da11.zip/node_modules/@docusaurus/module-type-aliases/src/index.d.ts:233:17 - error TS2307: Cannot find module 'history' or its corresponding type declarations.

233   export * from 'history';
                    ~~~~~~~~~

../.yarn/cache/@docusaurus-module-type-aliases-npm-2.0.0-beta.14-2a8c7bc4e7-d4bb46da11.zip/node_modules/@docusaurus/module-type-aliases/src/index.d.ts:275:29 - error TS2307: Cannot find module 'react-loadable' or its corresponding type declarations.

275   import type Loadable from 'react-loadable';
                                ~~~~~~~~~~~~~~~~


Found 20 errors.

Your environment

  • Docusaurus version used: 2.0.0-beta.14

Reproducible demo

No response

Self-service

  • I'd be willing to fix this bug myself.

Metadata

Assignees

No one assigned

    Labels

    bugAn error in the Docusaurus core causing instability or issues with its executionhelp wantedAsking for outside help and/or contributions to this particular issue or PR.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions