問題タブ [yarn-workspaces]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ルート ワークスペース package.json に依存関係を追加するときに糸が警告するのはなぜですか
ワークスペース プロジェクトのルートに依存関係を追加するたびに:
例えば
yarn add assets-webpack-plugin -D
次のエラーが表示されます。
このコマンドを実行すると、ワークスペース自体ではなく、ワークスペース ルートに依存関係が追加されます。これは、意図したものではない可能性があります。本当に意図している場合は、このコマンドを -W フラグ (または --ignore-ワークスペース-ルート-チェック)。
別の方法は、それを必要とするすべてのプロジェクトに追加することです。そうすると、各プロジェクトが異なる依存関係とロック ファイルを持つという問題が発生します。
typescript - コンパイル出力に外部型定義を含める
TypeScript: でライブラリを作成しています@cjol/core
。利用可能なパッケージdep
がないJavaScript 依存関係があります。@types
代わりに、カスタムdep.d.ts
ファイルを作成しました。これにより、ライブラリを開発するときにすべての型付けが適切に機能します。すべて正常にコンパイルされますが、 mydep.d.ts
は出力のどこにも表示されません。
ライブラリを別のクライアント プロジェクトに含めようとすると@cjol/client
、クライアント プロジェクトがコンパイルされません。次のようなエラーが表示されます。
私は Yarn ワークスペースも使用しています (@cjol/core
との下の@cjol/client
同じワークスペース内の両方のパッケージです) が、ここでは関係ないと思います。カスタム定義ファイルを出力する必要がありますが、出力方法がわかりません。./core
./client
@cjol/client
編集 1:繰り返しますが、詳細が関連しているかどうかはわかりませんが、次のindex.d.ts
ようになります。前述のとおり、TypeScript によって生成されています。
編集2:次のdep.d.ts
ようになります。
編集 4:おそらく、私の質問に対する別の考え方です。カスタム.d.ts
ファイルを作成した場合、どのように配布できますか? タイプ定義を含むまったく新しいパッケージを作成する必要がありますか?
npm - 特定のバージョンを使用するようにパッケージを強制する
ここにある Jest Vue cli プラグインを使用して単体テストを実行すると、現在次の問題があります。https://www.npmjs.com/package/@vue/cli-plugin-unit-jest
私が受け取るエラーはRequires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that somet
hing in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@
babel/core" or "babel-core" to see what is calling Babel
@vue/cli-plugin-unit-jest
Yarn ワークスペースを使用していますが、強制的にバージョンの babel-core を使用する最善の方法を知りたいです。^7.0.0-0
typescript - Yarn ワークスペースで Typescript 参照を使用するときにカスタム型定義を追加する方法は?
Typescript の新しい参照機能を使用して、サンプルの糸ワークスペース リポジトリを作成しようとしています。
https://github.com/tommedema/serverless-mono-example/tree/feature/external-types
外部ライブラリにタイプ定義がない場合、これらを手動で追加できる必要があります。私がこれまでに行ったこと:
packages/types
ワークスペースを作成しましたファイル
packages/types/camelcase
とともにサンプルを追加しました:index.d.ts
declare module 'camelcase' { export default function camelCase( strs: string | string[], options: { pascalCase?: boolean } ): string }
依存パッケージ を更新して、タイプ パッケージへ
packages/random
のtsconfig.json
新しい参照を追加しました。{ "extends": "../../tsconfig.settings.json", "compilerOptions": { "outDir": "dist", "rootDir": "src" }, "references": [ { "path": "../types" } ] }
を更新し
typeRoots
ましたtsconfig.settings.json
:"typeRoots": [ "./node_modules/@types", "./packages/types" ],
しかし、参照と の両方を設定したにもかかわらずtypeRoots
、typescript は型定義を見つけることができません。
typeroots の使用は無効ですか? これを達成するために参照を使用することは理にかなっていますか? typescriptが型定義を見つけられないのはなぜですか?