TypeScript升级(v3到v4)后,故事书中断



在将TypeScript从3.9.6升级到4.4.4之后,我们的故事书出现了几个类似的错误:

ERROR in ../pilot-mock-service/dist/mocks/image.js 3:7
Module parse failed: Unexpected token (3:7)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import { generateRandomInteger, generateRandomString, removeNullValues } from './mock.utils';
| export class ImagePilotData {
>     alt;
|     caption;
|     credit;
@ ../pilot-mock-service/dist/mocks/index.js 61:0-41 61:0-41
@ ./stories/pages/qa/Post Page/postPagePrague.stories.tsx
@ ./stories sync .stories.tsx$
@ ./.storybook/preview.js
@ multi ../node_modules/@storybook/core/dist/server/common/polyfills.js ../node_modules/@storybook/core/dist/server/preview/globals.js ./.storybook/preview.js ../node_modules/webpack-hot-middleware/client.js?reload=true&quiet=true

关于我们项目的一些可能相关的细节:

  • 我们使用:
    • 纱线工作区
    • 故事书5.3.19
    • 反应16.13
    • Webpack 4
    • 巴别塔7
    • eslint 6

有问题(纱线(工作区中的依赖项:

{
"dependencies": {
"@babel/polyfill": "^7.10.1",
"aphrodite": "^2.2.3",
"axios": "^0.19.0",
"body-parser": "^1.18.3",
"consent-string": "^1.4.1",
"current-device": "^0.10.0",
"iframe-resizer": "^4.3.2",
"intersection-observer": "^0.7.0",
"luxon": "^1.22.0",
"mm-client-core": "1.0.0",
"mm-theme-configuration": "1.0.0",
"mm-ui-components": "1.0.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-helmet": "^6.1.0",
"react-redux": "^7.1.1",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0",
"traffic-source-analyzer": "1.0.0",
"web-vitals": "^2.1.4"
},
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/plugin-proposal-class-properties": "^7.10.1",
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
"@babel/preset-env": "^7.10.2",
"@babel/preset-react": "^7.10.1",
"@babel/preset-typescript": "^7.10.1",
"@storybook/addon-actions": "^5.3.19",
"@storybook/addon-info": "^5.3.21",
"@storybook/addon-knobs": "^5.3.19",
"@storybook/addon-links": "^5.3.19",
"@storybook/addon-viewport": "^5.3.19",
"@storybook/addons": "^5.3.19",
"@storybook/react": "^5.3.19",
"@types/iframe-resizer": "^3.5.8",
"@types/luxon": "^1.21.0",
"@types/nock": "^11.1.0",
"@types/react-redux": "^7.1.0",
"@types/storybook__addon-info": "^5.2.4",
"@typescript-eslint/eslint-plugin": "^2.10.0",
"@typescript-eslint/parser": "^2.10.0",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.1.0",
"copy-webpack-plugin": "^5.0.5",
"core-js": "^3.4.7",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.6.0",
"eslint": "^6.7.2",
"eslint-config-mm": "git+https://github.com/FTBpro/eslint-config-mm.git#v3.1",
"eslint-loader": "3.0.2",
"jest": "^24.0.0",
"jest-junit": "^10.0.0",
"mm-pilot-mock": "1.0.0",
"nock": "^11.7.0",
"npm-run-all": "^4.1.3",
"terser-webpack-plugin": "^2.2.1",
"typescript": "4.4.4",
"webpack": "^4.29.6",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.1.4",
"webpack-merge": "^4.1.3",
"webpack-node-externals": "^1.7.2"
}
}

我几乎尝试了我能找到的所有可能的解决方案,但都无济于事。任何想法都将不胜感激。

切换到故事书v6.1或更高版本。

最新版本是v6.7、v6.6或v6.5。

最新更新