検索
ホームページウェブフロントエンドjsチュートリアルGitHub Actions を使用して gimme_readme を npm に再公開する

今週のオープン ソース クラスでは、クラスメートと私は、独自のプログラムをそれぞれパッケージ レジストリに公開するという課題を課されました。

誰かがコード レジストリ、パッケージ レジストリ、またはレジストリと言うのを聞くと、これらの言葉は開発者や企業が他の人がダウンロードできるようにコードを公開する場所を表すものだと考えたいと思います。より正確な説明については、Mozilla の次の記事を参照してください。

Re-publishing gimme_readme to npm with GitHub Actions

パッケージ管理の基本 - Web 開発を学ぶ | MDN

これで、パッケージ マネージャーのツアーは終了です。私たちの次の行動は、これまで学んだことをすべて実践して、サンプル ツールチェーンを構築することです。

Re-publishing gimme_readme to npm with GitHub Actions

gimme_readme - npm

gimme_readme は、AI を活用したコマンドライン ツールで、プロジェクトの包括的な README.md ファイルを生成します。複数のソース コード ファイルを一度に分析し、各ファイルの目的、機能、主要コンポーネントの簡潔な説明を提供します。最新バージョン: 1.0.0、最終公開日: 16 時間前。 `npm i gimme_readme` を実行して、プロジェクトで gimme_readme の使用を開始します。 npm レジストリには、gimme_readme を使用する他のプロジェクトはありません。

Re-publishing gimme_readme to npm with GitHub Actions

上でわかるように、(開発者とは対照的に) ユーザー にとって不要なフォルダーやファイルがたくさんあります。たとえば、ユーザーは私の「tests」フォルダーで私のプログラムのコードをテストすることを望むと思いますか? おそらくそうではありません。私のソース コードをフォーマットして lint するために必要な設定ファイルがユーザーに必要だと思いますか? おそらくそうではありません。私のユーザーは何らかの特別な理由で私の「.github」フォルダーを使用する必要があると思いますか? おそらくそうではありません

この目的のために、私はユーザーがダウンロードするものを最小限に抑える解決策を見つけるために取り組んできました。具体的には、プログラムの実行に必要なソース コードのみを提供してもらいたいと考えています。

.npmignore するかしないか?それが質問です。

コードを再公開することを考えていたとき、友人の Uday Rana とも、公開したくないファイルを .npmignore ファイルを使用して「無視」するというアイデアについて話していました。

私がこのトピックについて言及した直後、Uday は .npmignore を Google で検索し、.npmignore ファイルを決して使用してはいけない理由について Jeff D が書いた記事を見つけました。はっきり言っておきますが、私は Jeff の記事に全面的に同意します。

基本的に、どのファイルを公開しないかを明示するのではなく、公開したい内容(ホワイトリスト登録)を明示的すべきであるという考え方です。 > 公開したい (ブラックリストに登録)。

npm を使用すると、公開したいファイルをホワイトリストに登録するのが簡単です。必要なのは、プログラム用にどのファイルを公開するかを示す「file」オプションを追加して package.json ファイルを編集することだけです。

以下は、package.json の「files」オプションのスクリーンショットです。「このプログラムを公開するときに src/ ディレクトリを含める」と記載されています。その後、これらの変更をコミットし、コードの v1.0.0 リリースで利用できるようになりました。

Re-publishing gimme_readme to npm with GitHub Actions

注: デフォルトでは、「files」オプションで何を指定したか指定しなかったかに関係なく、特定のファイルは常に npm に公開されます。 「files」オプションの使用方法について詳しく知りたい場合は、npm の公式ドキュメントで file オプションの使用方法を確認してください。

更新された package.json を使用してコードを npm に公開した後、gimme_readme をインストール/再インストールするユーザーのコンピューターの肥大化が大幅に軽減されます。以下の違いをご覧ください:

Re-publishing gimme_readme to npm with GitHub Actions

新しいリリースを追加するときにコードを npm に公開する GitHub アクションを追加する

(npm 経由で gimme_readme をインストールすることによる肥大化を軽減することで) ユーザーのエクスペリエンスを向上させることに加えて、新しいファイルを作成するときに npm への公開プロセスを自動化する継続的開発パイプライン (略して cd パイプライン) も追加しました。 GitHub でリリースします。これを行う方法の正確な詳細については、GitHub の Node.js パッケージの公開ガイドを参照してください。ボタンを数回クリックするだけで、(CI パイプラインに従って) 安定しているとわかっているコードを GitHub から から 公開できるので、これで良い感じです。

私の CD パイプラインのコードはここにあります。

ウダイを使ったテスト

前に述べたように、私はテストに関して友人の Uday Rana と協力していました。この記事を書いている時点では、彼は私のツールをインストールして次のように使用することができました。

Re-publishing gimme_readme to npm with GitHub Actions

私にとって物事はうまくいっているようで、私のツールに用意されているオプションのほとんどは、多かれ少なかれ彼の期待どおりに動作します。ただし、さらに最適化を追加したいため、このプロセスをもう一度繰り返す必要があります!

旅に終わりはありません…でも、だからこそ楽しいのです!

最近、コードをさらに最適化する方法についても聞きました。特に、GitHub アクションに関する複合アクションや再利用可能なワークフローについて学習することで、CI および CD パイプラインを改善する方法を学ぶことに熱心に取り組んでいます。これらのテクニックによって、作成するコードの量が減り、何らかのパフォーマンスが向上することを願っています。これらのトピックについてはまだあまり知りませんが、おそらく近いうちにブログに書くことになると思います。

そして、私の友人たち、これで私がこのブログで話したかったことは終わります。

また次回お会いしましょう!

以上がGitHub Actions を使用して gimme_readme を npm に再公開するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
舞台裏:JavaScriptをパワーする言語は何ですか?舞台裏:JavaScriptをパワーする言語は何ですか?Apr 28, 2025 am 12:01 AM

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの未来:傾向と予測PythonとJavaScriptの未来:傾向と予測Apr 27, 2025 am 12:21 AM

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

JavaScriptはCで書かれていますか?証拠を調べるJavaScriptはCで書かれていますか?証拠を調べるApr 25, 2025 am 12:15 AM

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptの役割:WebをインタラクティブでダイナミックにするJavaScriptの役割:WebをインタラクティブでダイナミックにするApr 24, 2025 am 12:12 AM

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター