Jelaskan bugnya
Baru saja ditingkatkan ke 5.3.3 dan build Angular kami gagal dengan yang berikut:
[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] ~~~~~~~~~~~~
Dari Google cepat, tampaknya repo lain menghadapi masalah yang sama karena penggunaan TypeScript 3.7.0 - tetapi Angular dibatasi hingga <3.5.0
Kesalahan serupa
https://github.com/nestjs/nest/issues/3513
https://github.com/googleapis/node-gtoken/issues/244
Saya percaya perubahan yang merusak datang dari TypeScript secara langsung https://github.com/microsoft/TypeScript/issues/33939 - tetapi sampai perbaikan dirilis, file index.d.ts
perlu dibuat ulang dengan npm i typescript@~3.6.0
(tukar ^
untuk ~
)
Sistem:
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
Saya sempat melakukan peningkatan tetapi tersesat dalam struktur paket 😅 - Hasil akhirnya (setelah file dist dibuat) harus menghasilkan @storybook/channels/dist/index.d.ts:25
pergi
Dari
get hasTransport(): boolean;
Untuk
readonly hasTransport: boolean;
Saya memiliki masalah yang sama. Saya menyelesaikannya dengan memperbarui paket Ketikan ke versi terbaru
Saya memiliki masalah yang sama. Saya menyelesaikannya dengan memperbarui paket Ketikan ke versi terbaru
@siropo Versi apa? Saya menggunakan angular 8.3.20 dan ketikan 3.5.3. Dan saya mendapat kesalahan yang sama ketika mencoba membangun proyek.
@IsharaMadawa "ketikan": "3.7.4"
@IsharaMadawa "ketikan": "3.7.4"
@siropo Bisakah Anda
@Isharaadawa kenapa? Coba saja perbarui versi ketikan Anda dan periksa apakah itu berfungsi
Jika Anda menjalankan Angular versi lama, misalnya 8.1.0 Anda akan melihat kesalahan berikut
The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.x.y was found instead.
Jika Anda menjalankan Angular versi lama, misalnya 8.1.0 Anda akan melihat kesalahan berikut
The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.x.y was found instead.
Iya. Saya mendapat kesalahan ini dan harus memperbarui sudut juga
@IsharaMadawa Apakah Anda meningkatkan ke versi 9 rc angular?
Saya melihat kesalahan di bawah ini
The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.x.y was found instead.
dalam sudut 8.2.3 juga
Ini juga menghentikan kami menggunakan versi terbaru Angular 8.2.x: /
Saya memiliki Typecript versi 3.7.4 dan Angular versi 8.3.21 dan saya mendapatkan pesan yang sama! Tolong bantu! :-)
Memperbarui dengan ng update --next @angular/cli --force
menjadi 9.0.0-rc.12
yang menggunakan typescript @ "3.7.5"
, memang telah membantu masalah tersebut.
Mendapatkan masalah yang sama ini dengan typescript 3.7.5
dan storybook/react 5.3.9
pembaruan --next @ angular / cli --force
npm instal skrip ketikan @ terbaru
;)
ng update - berikutnya @ angular / cli --force
npm instal skrip ketikan @ terbaru;)
Berhasil, Terima kasih Snargol.
Dikonfirmasi, memutakhirkan ke Angular 9 (dan dengan ekstensi Skrip Ketik 3.7.5), masalah ini teratasi
Mengupgrade ke TypeScript 3.7.x bukanlah pilihan yang bagus untuk pengelola perpustakaan. Ini berarti bahwa perubahan dari 3,6 ke 3,7 (secara teknis merupakan perubahan besar) diturunkan ke konsumen kami dan kami tidak dapat berasumsi bahwa mereka juga dapat dengan mudah memutakhirkan TypeScript.
@ndelangen Saya pikir ini dapat diperbaiki dengan mengubah https://github.com/storybookjs/storybook/blob/next/package.json#L218 menjadi typescript@~3.6.0
, karena typescript@^3.4.0
menjadi 3.7.5
sekarang. Kemudian kita dapat menyimpan upgrade 3.7 hingga Storybook 6.0 karena ini sebenarnya merupakan perubahan yang melanggar.
Bagaimana menurut anda?
Kedengarannya seperti rencana @lychyi
Ingin membuka PR terhadap cabang next
?
Kami akan memilihnya menjadi master
dan merilisnya sebagai tambalan @shilman
Benar!
@ndelangen @shilman
Haruskah Storybook 6 menggunakan TypeScript 3.7 karena itu akan ditawarkan sebagai perubahan besar? Jika demikian, saya pikir ini seharusnya diubah di master
dan bukan next
. PR # 9826 saat ini melawan next
tetapi saya dapat mengulanginya untuk menunjuk ke master
sebagai gantinya, beri tahu saya.
Akibatnya, jika TS 3.7+ tidak terlalu penting, itu bisa ditingkatkan sebagai bagian dari Buku Cerita 7 atau lebih?
bekerja untuk saya @lychyi. terima kasih banyak telah mengurus ini & memikirkannya !!! 💯
re: 3.7 di buku cerita 6.0. Saya tidak yakin apakah 3.7 diperlukan, akan membiarkan salah satu juru ketik berbicara dengan @ndelangen @kroeder @gaetanmaisse itu
FWIW, next
sudah menggunakan 3.7, yang menurut kelebihannya, memiliki fitur yang sangat rapi seperti opsional chaining ( foo?.bar
) dan operator penggabungan nullish ( foo ?? bar
). Mengubah ini hanya di master
untuk Storybook 5.3.x akan menjadi hal yang paling tidak mengganggu kondisi saat ini.
Juga, saya baru saja mengetahui bahwa getter / setter emit hanya merupakan perubahan besar untuk "typescript": "<=3.5"
. TS 3.6 membuktikan fitur ini di masa mendatang sehingga opsi lainnya adalah meminta orang meningkatkan ke TS3.6 jika mereka tidak dapat meningkatkan ke TS3.7 karena alasan apa pun. Memutus perubahan di TS3.6 tidak terlalu buruk.
Namun, menggunakan TS3.7 masih merugikan orang-orang Angular yang belum dapat meningkatkan ke 9.x. Angular 8.x dikunci pada ~3.5.3
.
Jadi pengorbanan utama yang saya sarankan untuk dipertimbangkan adalah: _ "Apakah kita akan merasa nyaman mengatakan bahwa Storybook 6 tidak kompatibel dengan Angular 8 sehingga kita dapat memanfaatkan yang terbaru dan terhebat yang ditawarkan TypeScript 3.7?" _
@lychyi Ringkasan yang bagus. Perasaan usus yang kurang informasi mengatakan pasti 3,7 untuk 6.0. Rebut masa depan !! 😈
@lychyi Terima kasih atas kerja
Akankah kita nyaman mengatakan bahwa Storybook 6 tidak kompatibel dengan Angular 8 sehingga kita dapat memanfaatkan yang terbaru dan terhebat yang ditawarkan TypeScript 3.7?
Bagi saya, agak kasar membuat SB 6 tidak kompatibel dengan Angular <9 karena Angular 9 hanya keluar beberapa hari. Banyak paket belum siap untuk versi baru ini, yang bagi pemula Angular adalah versi mayor yang nyata yang memperkenalkan kompilasi dan pipeline rendering baru, sehingga migrasi ke Angular 9 tidak dapat dilakukan untuk beberapa proyek monorepo besar (seperti yang saya kerjakan sedang bekerja).
Karena perangkat tambahan yang dibawa oleh TS 3.7 saat ini tidak banyak digunakan di SB monorepo, kita mungkin dapat menyimpan TS 3.6 (jadi gabungkan PR di next
+ cherry pick pada master
) sampai kita menemukan cara untuk bekerja seputar masalah ini. Mungkin proyek untuk dilihat: https://github.com/sandersn/downlevel-dts memungkinkan pembuatan file definisi lama berdasarkan yang baru 🤷♂
@gaetanmaisse Anda jauh lebih berhubungan dengan dunia TS / Angular, jadi pada akhirnya saya akan mengikuti penilaian Anda tentang ini. Namun, saya ingin menunjukkan beberapa hal:
1) Estimasi saat ini pada SB6 adalah akhir April dan pada saat itu NG9 akan berumur beberapa bulan
2) Jika ini memang merupakan perubahan yang merusak dan kami tidak mengubahnya sekarang, waktu berikutnya kami dapat mengubahnya adalah 7.0, yang kemungkinan akan menjadi satu tahun libur.
Tentu saja, jika kita bisa memperbaikinya dengan 3,6 maka itu lebih baik! Di dalam Storybook, akan sangat bagus untuk mulai menggunakan rangkaian opsional dll., Yang menurut saya itu relevan dengan ketergantungan dev dan bukan ketergantungan.
@shilman Saya sangat setuju dengan Anda 💯 dan saya cukup kecewa harus menyimpan 3,6 hingga SB7.
Karena SB6 masih dalam alpha selama berminggu-minggu, saya pikir kami harus mengatakan bahwa tujuan kami adalah memiliki TS 3.7+ di SB6 dan menemukan cara agar tetap kompatibel dengan Angular <= 8. Dan jika tidak memungkinkan, lihat di akhir Maret atau awal Apris bagaimana NG9 telah diadopsi dan membahas tentang menjatuhkan dukungan dari dukungan Angular <= 8.
@gaetanmaisse Saya bermain-main dengan cabang untuk memanfaatkan downlevel-dts. Pada awalnya saya menolaknya karena ini bukan bagian dari TypeScript yang dipelihara tetapi setelah memikirkannya sedikit, ini bisa menjadi opsi yang layak untuk membiarkan kami menggunakan TS3.7 + dan masih kompatibel dengan pengguna <= TS3.5. Beri saya sedikit untuk memverifikasi perubahan dan kemudian kita dapat melihat apakah itu sepadan dengan pemeliharaan. Skrip build cukup rapi jadi ini seharusnya tidak terlalu sulit.
@gaetanmaisse PR sudah habis, beri tahu saya jika Anda memiliki pertanyaan.
Terima kasih atas kesempatan untuk berkontribusi!
Memperbarui dengan
ng update --next @angular/cli --force
menjadi9.0.0-rc.12
yang menggunakantypescript @ "3.7.5"
, memang telah membantu masalah tersebut.
Ini juga memecahkan masalah saya! Terima kasih banyak!
Ok tapi bagaimana cara mengatasi masalah ini tanpa pembaruan skrip?
@ColCh kami sedang mengerjakannya https://github.com/storybookjs/storybook/pull/9847 itu akan segera tersedia! 👏 👏 @lychyi
Terima kasih! Humas itu sepertinya memperbaiki masalah.
Ok sabar menunggu :) tidak usah terburu-buru
Wow, cepat sekali!
Tapi, @gaetanmaisse , bolehkah kami berharap komitmen ini di-backport ke versi v5? Itu akan menyenangkan
@ColCh Itu akan! Kami sedang menguji bahwa semuanya baik-baik saja di 6.0.0-alpha terbaru dan kemudian kami akan merilisnya dalam versi 5.3.x 😉
Oh baiklah. Terima kasih 🙂
Saya memiliki konfigurasi berikut dan saya masih mendapatkan kesalahan:
""
@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 perbaikan bug belum dirilis di 5.3.x, itu harus di yang berikutnya 😉
Terima kasih, saya salah paham dan mengira begitu.
Apa ETA Anda untuk rilis berikutnya?
Adakah cara untuk menggunakan Storybook versi lama untuk menghindari masalah hingga masalah tersebut diperbaiki?
Angular 9 belum diperiksa di perusahaan saya, jadi saya harus menunggu sebentar sebelum dapat meningkatkan.
@ cnestor1 ETA dalam 5 hari ke depan
Saya menyelesaikan kesalahan ini untuk sementara waktu dengan mengunjungi file nodemodules (file .d.ts) yang disebutkan dalam kesalahan dan kemudian menyimpannya dengan ctrl + s ini akan menyelesaikan kesalahan karena kode Anda akan dikompilasi tetapi kesalahan masih ada
Brengsek !! Saya baru saja merilis https://github.com/storybookjs/storybook/releases/tag/v5.3.14 berisi PR # 9847 yang mereferensikan masalah ini. Tingkatkan versi hari ini untuk mencobanya!
Menutup masalah ini. Harap buka kembali jika menurut Anda masih banyak yang harus dilakukan.
Mendapatkan masalah yang sama :)
@rohittagadiya apakah Anda memperbarui ke yang terbaru?
Coba " skipLibCheck": true , di dalam tsconfig.json mis.
"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"
]
},
Semoga ini akan membantu Anda !!
Coba " skipLibCheck": true , dalam tsconfig.json, misalnya.
"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" ] },
Saya harap ini membantu Anda !!
Bekerja !!!! Terima kasih
Coba " skipLibCheck": true , di dalam tsconfig.json mis.
"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" ] },
Semoga ini akan membantu Anda !!
Bekerja dengan baik, Terima kasih <3
Menambahkan "skipLibCheck": true, di compilerOptions di dalam file tsconfig.json berhasil untuk saya. Terima kasih banyak .
Menimpali - skipLibCheck: true
bekerja dengan sangat baik. Ini bagus untuk mereka yang tidak bisa mengambil risiko siklus pertengahan QA ng update
. Terima kasih!
Coba " skipLibCheck": true , di dalam tsconfig.json mis.
"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" ] },
Semoga ini akan membantu Anda !!
Terima kasih. Bekerja dengan baik.
Coba " skipLibCheck": true , di dalam tsconfig.json mis.
"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" ] },
Semoga ini akan membantu Anda !!
Terima kasih <3
ubah versi menjadi:
"ngx-swiper-wrapper": "~ 8.0.1"
Bisa mengatasi masalah ini
pembaruan --next @ angular / cli --force
npm instal skrip ketikan @ terbaru;)
Saya menggunakan angular 5 apakah mungkin menggunakan ngx-file-upload
perbarui @ angular-devkit / build-angular
Komentar yang paling membantu
Coba " skipLibCheck": true , di dalam tsconfig.json mis.
Semoga ini akan membantu Anda !!