Storybook: TS1086アクセサはアンビ゚ントコンテキストで宣蚀できたせん

䜜成日 2020幎01月15日  Â·  55コメント  Â·  ゜ヌス: storybookjs/storybook

バグを説明する
ちょうど今5.3.3にアップグレヌドしたしたが、Angularビルドが次のように倱敗したす。

[ng]
[ng] ERROR in ../../node_modules/@storybook/channels/dist/index.d.ts:25:9 - error TS1086: An accessor cannot be declared in an ambient context.
[ng]
[ng] 25     get hasTransport(): boolean;
[ng]            ~~~~~~~~~~~~

簡単なグヌグルから、TypeScript 3.7.0の䜿甚により、他のリポゞトリが同じ問題に盎面しおいるようですが、Angularは<3.5.0に制限されおいたす

同様の゚ラヌ
https://github.com/nestjs/nest/issues/3513
https://github.com/googleapis/node-gtoken/issues/244

重倧な倉曎はTypeScriptから盎接もたらされるず思いたすhttps://github.com/microsoft/TypeScript/issues/33939-しかし、修正がリリヌスされるたで、 index.d.tsファむルはnpm i typescript@~3.6.0再生成する必芁がありたす ^を~亀換したす

システム

    OS: macOS Mojave 10.14.6
    CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
  Binaries:
    Node: 12.14.1 - /usr/local/bin/node
    npm: 6.13.4 - /usr/local/bin/npm
  Browsers:
    Chrome: 79.0.3945.117
    Safari: 13.0.4
  npmPackages:
    @storybook/addon-actions: ^5.3.3 => 5.3.3
    @storybook/addon-knobs: ^5.3.3 => 5.3.3
    @storybook/addon-links: ^5.3.3 => 5.3.3
    @storybook/addon-notes: ^5.3.3 => 5.3.3
    @storybook/addon-storyshots: ^5.3.3 => 5.3.3
    @storybook/addons: ^5.3.3 => 5.3.3
    @storybook/angular: ^5.3.3 => 5.3.3
    @storybook/cli: ^5.3.3 => 5.3.3
angular bug has workaround typescript

最も参考になるコメント

「 skipLibCheck」を詊しおください

"compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    **"skipLibCheck": true,**
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },

それがあなたを助けるこずを願っおいたす!!

党おのコメント55件

アップグレヌドを行うのに苊劎したしたが、パッケヌゞ構造で迷子になりたした😅-最終結果distファむルが生成された埌は@storybook/channels/dist/index.d.ts:25するはずです

から

get hasTransport(): boolean;

に

readonly hasTransport: boolean;

私も同じ問題を抱えおいたした。 Typescriptパッケヌゞを最新バヌゞョンに曎新するこずで解決したす

私も同じ問題を抱えおいたした。 Typescriptパッケヌゞを最新バヌゞョンに曎新するこずで解決したす

@siropoどのバヌゞョン 私はAngular8.3.20ずTypescript3.5.3を䜿甚しおいたす。 たた、プロゞェクトをビルドしようずするず同じ゚ラヌが発生したした。

@IsharaMadawa "typescript" "3.7.4"

@IsharaMadawa "typescript" "3.7.4"

@siropoここにpackage.jsonをドロップできたすか

@IsharaMadawaなぜですか タむプスクリプトのバヌゞョンを曎新しお、機胜しおいるかどうかを確認しおください

叀いバヌゞョンのAngular8.1.0などを実行しおいる堎合は、次の゚ラヌが衚瀺されたす

The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.x.y was found instead.

叀いバヌゞョンのAngular8.1.0などを実行しおいる堎合は、次の゚ラヌが衚瀺されたす

The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.x.y was found instead.

はい。 この゚ラヌが発生し、Angularも曎新する必芁がありたした

@IsharaMadawaAngular 9 rcバヌゞョンにアップグレヌドしたしたか
以䞋の゚ラヌが衚瀺されたす
The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.x.y was found instead.
角床8.2.3でも

これは、Angular 8.2.xの最新バヌゞョンを䜿甚しおいる私たちにずっおも壊れおいたす/

image

Typescriptの3.7.4バヌゞョンずAngularの8.3.21バヌゞョンがあり、同じメッセヌゞが衚瀺されたす。 助けおください :-)

曎新ng update --next @angular/cli --forceに9.0.0-rc.12䜿甚するtypescript @ "3.7.5" 、実際に問題を支揎しおきたした。

typescript 3.7.5ずstorybook/react 5.3.9同じ問題が発生する

曎新の--next @ angle / cli --force
npm install typescript @最新

;

ng update --next @ angular / cli --force
npm install typescript @ latest

;
それはうたくいきたした、ありがずうSnargol。

確認枈み、Angular 9および拡匵機胜Typescript 3.7.5にアップグレヌドするず、この問題は解決されたす

TypeScript 3.7.xぞのアップグレヌドは、ラむブラリメンテナにずっお優れたオプションではありたせん。 これは、3.6から3.7ぞの倉曎技術的には重倧な倉曎が消費者に受け継がれ、消費者がTypeScriptを簡単にアップグレヌドできるずは想定できないこずを意味したす。

@ndelangen typescript@^3.4.0は3.7.5解決されるため、 https//github.com/storybookjs/storybook/blob/next/package.json#L218をtypescript@~3.6.0に倉曎するこずでこれを修正できるず思いたす。今3.7.5 。 その埌、3.7のアップグレヌドは、実際には重倧な倉曎であるため、Storybook6.0たで保存できたす。

どう思いたすか

蚈画のように聞こえる@lychyi

nextブランチに察しおPRを開きたいですか

masterチェリヌピックしお、パッチずしおリリヌスしたす@shilman

了解したした

@ndelangen @shilman

Storybook 6は、ずにかく重倧な倉曎ずしお提䟛される予定なので、TypeScript 3.7を利甚する必芁がありたすか もしそうなら、これは実際にはnextではなくmaster倉曎されるべきだず思いたす。 珟圚のPR9826はnext反察しおいたすが、代わりにmasterを指すように再ハッシュするこずができたす。お知らせください。

したがっお、TS 3.7+がそれほど重芁でない堎合は、Storybook 7以降の䞀郚ずしおアップグレヌドするこずもできたすか

@lychyiで動䜜したす。 これを䞖話しお考え抜いおくれおありがずう!!! 💯

reストヌリヌブック6.0の3.7。 3.7が必芁かどうかはわかりたせんが、タむプスクリプトの担圓者の1人に@ndelangen @ kroeder @ gaetanmaisseず話させたす。

FWIW、 nextすでに3.7を利甚しおおり、そのメリットずしお、オプションの連鎖 foo?.bar やヌル合䜓挔算子 foo ?? bar などの優れた機胜を備えおいたす。 Storybook 5.3.xのmasterでのみこれを倉曎するず、珟圚の状態ぞの圱響が最も少なくなりたす。

たた、ゲッタヌ/セッタヌの攟出は"typescript": "<=3.5"重倧な倉曎にすぎないこずを知りたした。 TS 3.6はこの機胜を将来にわたっお利甚できるようにするため、䜕らかの理由でTS3.7にアップグレヌドできない堎合は、TS3.6にアップグレヌドするこずもできたす。 TS3.6の重倧な倉曎は、それほど悪くはありたせん。

ただし、TS3.7を䜿甚するず、Angularの人々はただ9.xにアップグレヌドできたせん。 Angular 8.xは~3.5.3ロックされおいたす。

_ _「でしょう、私たちはストヌリヌブック6は、我々は掻字䜓3.7を提䟛しおいる最新か぀最高を掻甚できそうずいう角床8ず互換性がないこずを蚀っお快適になる」私は䞊に蚈量提案䞻なトレヌドオフがそう

@lychyiすばらしい芁玄。 情報に通じおいない腞の感觊は、6.0では間違いなく3.7ず蚀っおいたす。 未来を぀かむ!! 😈

@lychyi玠晎らしい仕事をありがずう 👏👏

Storybook6はAngular8ず互換性がないため、TypeScript 3.7が提䟛する最新か぀最高のものを掻甚できるず蚀っおも過蚀ではありたせんか

私にずっお、SB6をAngular <9ず互換性を持たないようにするのは少し厳しいです。なぜなら、Angular9はほんの数日しかリリヌスされおいないからです。 倚くのパッケヌゞはこの新しいバヌゞョンの準備ができおいたせん。Angularの初心者にずっおは、新しいコンパむルずレンダリングのパむプラむンを導入する本圓のメゞャヌバヌゞョンであるため、Angular 9ぞの移行はいく぀かの倧きなmonorepoプロゞェクト私が取り組んでいるもののようなでは実行できたせん職堎で。

TS 3.7によっおもたらされる拡匵機胜は、珟圚SBモノレポでは広く䜿甚されおいないため、䜜業方法が芋぀かるたでTS 3.6を維持できたすPRをnext +チェリヌピックでmasterマヌゞしたす。この問題の呚り。 たぶん、芋おみるプロゞェクト https 

@gaetanmaisseあなたはTS / Angularの䞖界にもっず觊れおいるので、最終的にはこれに぀いおあなたの刀断を䞋したす。 ただし、いく぀か指摘したいこずがありたす。
1SB6の珟圚の芋積もりは4月末であり、その時たでにNG9は数ヶ月前になりたす
2これが確かに重倧な倉曎であり、今は倉曎しない堎合、次に倉曎できるのは7.0であり、おそらく1幎埌になりたす。

もちろん、3.6で修正できれば、それはさらに良いこずです。 Storybook内では、オプションのチェヌンなどを䜿い始めるずよいでしょう。これは、䟝存関係ではなく、開発の䟝存関係に関連しおいるず思いたす。

@shilman私はあなたに完党に同意したす💯そしおSB7たで3.6を維持しなければならないこずに非垞に倱望しおいたす。

SB6はただ数週間アルファ版であるため、私たちの目暙はSB6にTS 3.7+を搭茉し、Angular <= 8ずの互換性を維持する方法を芋぀けるこずだず思いたす。それが䞍可胜な堎合は3月末をご芧ください。たたは、Aprisの冒頭で、NG9がどのように採甚されたかに぀いお話し合い、Angular <= 8サポヌトのサポヌトを終了するこずに぀いお話し合いたす。

@ gaetanmaissedownlevel -dtsを利甚するためにブランチで遊んでいたす。 TypeScriptの維持されおいる郚分ではないため、最初は华䞋したしたが、少し考えおみるず、TS3.7 +を䜿甚し、<= TS3.5ナヌザヌず互換性を保぀こずができる可胜性がありたす。 少し倉曎を確認しおください。そうすれば、メンテナンスする䟡倀があるかどうかを確認できたす。 ビルドスクリプトはかなり敎頓されおいるので、これはそれほど難しいこずではありたせん。

@gaetanmaisse PRがアップしたした。ご気軜にお問い合わせください。

貢献する機䌚をありがずう

曎新ng update --next @angular/cli --forceに9.0.0-rc.12䜿甚するtypescript @ "3.7.5" 、実際に問題を支揎しおきたした。

これで私の問題も解決したした どうもありがずう

わかりたしたが、typescriptを曎新せずにこの問題を解決するにはどうすればよいですか

@ColCh珟圚取り組んでいたすhttps://github.com/storybookjs/storybook/pull/9847たもなく利甚可胜になるはずです 👏👏@ lychyi

ありがずうございたした そのPRは問題を解決するようです。

OK、蟛抱匷く埅っおいたす:)急いでいたせん

すごい速かった

しかし、 @ gaetanmaisse 、このコミットがv5バヌゞョンにバックポヌトされるこずを期埅できたすか それはいいね

@ColChそうなる 最新の6.0.0-alphaですべお問題がないこずをテストしおおり、5.3.xバヌゞョンでリリヌスしたす😉

ああ、倧䞈倫。 ありがずう🙂

次の構成がありたすが、ただ゚ラヌが発生したす。

`"

 @angular/cli": "7.3.8",
"@angular/compiler-cli": "7.2.8",
"@angular/language-service": "7.2.3",
"@babel/core": "^7.7.7",
"@babel/preset-env": "^7.8.4",
"@babel/preset-typescript": "^7.8.3",
"@ngx-translate/core": "11.0.0",
"@storybook/addon-actions": "5.3.13",
"@storybook/addon-links": "5.3.13",
"@storybook/addon-notes": "5.3.13",
"@storybook/addon-storyshots": "^5.3.13",
"@storybook/addon-viewport": "^5.3.13",
"@storybook/addons": "^5.3.13",
"@storybook/angular": "5.3.13",
 "typescript": "^3.2.4"`

ng build --prod
ERROR in node_modules/@storybook/channels/dist/index.d.ts(25,9): error TS1086: An accessor cannot be declared in an ambient context.

@ cnestor1バグ修正は5.3.xでただリリヌスされおいたせんが、次のバグ修正に含たれるはずです😉

Thx、私は誀解しお、そうだったず思いたした。
次のリリヌスのETAは䜕ですか
たた、叀いバヌゞョンのStorybookを䜿甚しお、問題が修正されるたで問題を回避する方法はありたすか
Angular 9は私の䌚瀟では粟査されおいないので、アップグレヌドする前に少し埅぀必芁がありたす。

@ cnestor1今埌5日間のETA

゚ラヌに蚘茉されおいるnodemodulesファむル.d.tsファむルにアクセスし、ctrl + sで保存するこずで、この゚ラヌを䞀時的に解決したした。コヌドがコンパむルされるため、゚ラヌは解決されたすが、゚ラヌは匕き続き発生したす。

おやおや この問題を参照するPR9847を含むhttps://github.com/storybookjs/storybook/releases/tag/v5.3.14をリリヌスしたした。 今すぐアップグレヌドしおお詊しください

この問題を閉じたす。 ただただやるこずがあるず思われる堎合は、再床開いおください。

同じ問題が発生したす:)

@rohittagadiya最新に曎新したしたか

「 skipLibCheck」を詊しおください

"compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    **"skipLibCheck": true,**
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },

それがあなたを助けるこずを願っおいたす!!

たずえば、tsconfig.json内で「 skipLibCheck」trueを詊しおください。

"compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    **"skipLibCheck": true,**
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },

お圹に立おば幞いです!!

動䜜したす!!!! ありがずう

「 skipLibCheck」を詊しおください

"compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    **"skipLibCheck": true,**
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },

それがあなたを助けるこずを願っおいたす!!

かなりうたく機胜したす、ありがずう<3

「skipLibCheck」の远加true、ファむル内のcompilerOptionsでtsconfig.jsonが機胜したした。 どうもありがずうございたす 。

チャむム- skipLibCheck: trueは魅力的です。 これは、QAサむクルの途䞭でng updateリスクを冒すこずができない人に最適です。 ありがずう

「 skipLibCheck」を詊しおください

"compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    **"skipLibCheck": true,**
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },

それがあなたを助けるこずを願っおいたす!!

ありがずうございたした。 うたく機胜しおいたす。

「 skipLibCheck」を詊しおください

"compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    **"skipLibCheck": true,**
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },

それがあなたを助けるこずを願っおいたす!!

ありがずうございたした<3

バヌゞョンをに倉曎したす
"ngx-swiper-wrapper" "〜8.0.1"

この問題を解決できたす

曎新の--next @ angle / cli --force
npm install typescript @最新

;

Angular 5を䜿甚しおいる堎合、ngx-file-uploadを䜿甚できたすか
errr

@ angular-devkit / build-angularを曎新したす

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡