問題タブ [npm-publish]
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.
npm - 開発者ビルド用に ember アドオンをローカル NPM レジストリに公開しますか?
これらの NPM/ember アドオン シナリオをどのようにサポートできますか?
- 開発者は ember アドオン A をビルドし、A ローカル パッケージを使用するビルド ember アプリケーション B を使用します
- 開発者は、nexus NPM 統合リポジトリから A をインストールするだけで B をビルドします
- ビルド システムは、nexus NPM リリース リポジトリにインストールする ember アドオン A をビルドします
メイヴン
- 開発者デスクトップ ビルドは、後でビルドで使用するローカル リポジトリにインストールパッケージをビルドします。
- ビルド システム ビルドは、開発者が使用する内部共有リポジトリにパッケージをデプロイするため、すべてをビルドする必要はありません。
NPM
- ビルド システムのビルドでは、npm publish --registry http://ourrepo/nexus/ ....を使用してプライベート レジストリに公開できます。
- デスクトップビルドを開発する????
相対パスで DependsOnMe を使用することもできますが、そのためには、ビルドがローカルで一方向に機能し、ビルド マシン上で別の方法で機能する、ある種のルールをセットアップする必要があります。
可能ですが、これを実現するためのよりエレガントなソリューションがあることを願っています。
開発者に、後で使用するためにローカルの npm キャッシュに入れるパッケージを生成させることはできますか? もしそうなら、そのドキュメントを教えてもらえますか?
関連している
node.js - npm でモジュールを公開できません
モジュールを公開して、それがどのように機能するかを確認しようとしています。
npm をインストールしてから、非常に単純なモジュールを作成しました。
私はnpm add user
自分自身を新しいユーザーとして追加していました。次のメッセージを受け取りました。Logged in as david1994 on https://registry.npmjs.org/
次に、モジュールを で公開しようとしましnpm publish
たが、次のエラーが発生しました。
npm-debug.log
しかし、モジュールディレクトリには何も表示されません。
node.js - 公開時に .npmignore が index.ts ファイルを無視しない
npm に公開する Angular2 コンポーネント ライブラリを作成しています。ソース コード全体で、バレル ファイルとして index.ts を使用しています。.npmignore ファイルに *.ts を含めましたが、npm に発行されたコードに index.ts が含まれています。コンポーネントを消費する Angular2 プロジェクトにインストールすると、node_modules フォルダーにインストールされたコードに index.ts が含まれます。npm インストール ライブラリ全体に index.ts があると、プライマリ アプリケーションのビルドが妨げられます。これは、index.ts がルート フォルダーにないためです。驚いたことに、他のすべての .ts ファイルが npm インストールで除外されています。
ここに私の .npmignore ファイルがあります:
index.ts 以外はすべて無視されます。
すべての index.ts ファイルを手動で削除する必要があり、すべてが期待どおりに機能します。
index.ts が含まれる原因となっているのは何ですか?
npm バージョン 3.9.6 を使用しています。
ご協力いただきありがとうございます。
github - 分岐した github リポジトリの npm インストールとビルド
angular-translate という角度アプリ用のモジュールを使用しています。ただし、すべてを希望どおりに機能させるには、ソース コードにいくつかの小さな変更を加える必要がありましたnpm install
。同僚は、ソース コードのレポをフォークし、フォークしたレポを依存関係として指定することを提案しました。たとえば、これらの方法で試しました。
最初のものは、ビルドなしでこのようなディレクトリを提供します。package.json、.npmignore、およびいくつかのマークダウン ファイルのみ
2番目npm install
は完全なレポを提供しますが、コマンドを使用したときのようにビルドされませんnpm install angular-translate
。prepublish スクリプトを実行するという議論を見たことがありますが、すべてのモジュールをインストールするときにこれを行う方法がわかりません。また、フォークを独自のモジュールとして npm レジストリに公開しようとしましたが、ビルドが得られず、それが正しいことかどうかわかりません...
トピックに関する私の無知をお詫び申し上げます。npm の経験はあまりありません。この問題についてフィードバックをいただければ幸いです。パッケージのソース コードを変更する必要がある場合、よくある問題のように思えますか? たぶん、より良い解決策がありますか?
node.js - typescript コードを npm に発行するときに d.ts ファイルを処理するにはどうすればよいですか
私はこの記事に従っています:
私のtypescriptプロジェクトをセットアップしてnpmに公開しようとしています。
すべてが理にかなっているように見えますが、カバーされていないのはd.ts
ファイルの処理方法です。
私のプロジェクトは次のようになります。
したがって、これをコンパイルすると"declaration": true
、次の"outDir: "dist"
ようになります。
私のserver.ts
ファイルとclient.ts
ファイルの両方が
そのため、他の誰かがこのパッケージを使用すると、typescript のコンパイルは失敗しserver.d.ts
、client.d.ts
両方ともまだこのインポートを持っています。
ノードは正常に動作しますが、このインポートはclient.js
ありserver.js
ません。tsc
ファイルのインポートを削除する必要がありd.ts
ます。
私がやりたいことは、contracts.d.ts
ファイルがビルドの一部として dist フォルダーにコピーされることです。tsc
ビルドの一部としてそれを行うにはどうすればよいですか?
現在の回避策
これを回避するために私が現在行っているのは、私の名前contracts.d.ts
を justに変更するcontracts.ts
ことです。これは、必要なすべてのファイルがdistフォルダーに存在することを意味しますが、クライアントとサーバーの両方が、contracts.js
含まれているだけの空のファイルをロードする必要があることを意味します
maven - Mavenで特定の実行IDを実行する
npm パッケージを公開するために maven-release-plugin を使用しようとしています。このために、frontend-maven-plugin を使用しています。maven-release-plugin が pom.xml バージョンを次の開発イテレーション XXX-SNAPSHOT に変換する場合を除いて、リリース自体はうまく機能しています。
このために、mvn でゴールを指定して特定の実行 ID を実行できるようにしたいと考えています。
<completionGoals>
より具体的には、リリース プロセス後に pom.xml ファイルと package.json のバージョンを同期させるために、maven-release-pluginのタグの特定の構成で frontend-maven-plugin から目標を実行しようとしています。
以下の例では、@ 記号を使用して、ゴールで実行する実行 (「setversion」実行) を明示的に指定しようとしていますが、うまくいかないようで、「Could not find goal 'npm@リリース中に setversion'” エラーが発生しました。目標仕様でパラメータを直接使用しようとしましたが、成功しませんでした。
何か案は?
node.js - npm パブリッシング index.d.ts はモジュールをエクスポートしません
ほとんどのプロジェクトのベースとなる npm パッケージを作成しようとしていますが、次の点でいくつかの問題があります。
ベースのindex.d.ts
npm パッケージは次のようになります。
一番上の行はうまく機能し、コア フォルダー内のモジュールにアクセスできますが、2 番目の部分は機能しません。
しかし、自分のプロジェクトに同じコードを配置するとcustom.d.ts
、html ファイルのインポートがうまく機能します。
(いくつかの部分が削除されて package.json
います)は次のようになります。
フォルダ構造: