You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
こんにちは, 今年の freee の新卒エンジニアで会計freee の開発をしているけむりだま (@_kemuridama) です. この記事は freee Developers Advent Calendar 2018 の 11 日目の記事になります 🎄 今回は freee の中で最も大きなプロダクトである会計freee で使っている JavaScript パッケージマネージャを yarn から npm に出戻ろうとしている話をしていこうと思います. なぜやるのか 🤔 yarn から npm に戻ろうとしている理由は, 下記のブログで説明されている通り, npm がアップデートしていくのに従って yarn と性能が変わらなくなってきたためです. engineering.mixmax.com まず, yarn は並列インストールができるため npm よりパッケージインストールが高速でし
概要 今風の手法でJavaScriptアプリを作ろうとすると色々ツールがあって便利な反面、複雑でわからないことがたくさんあります。 わからないことがあったら、それを放置せず、しっかり理解して大いに寄り道しつつブラウザで動作するJavaScriptアプリをゼロから作っていきます ブラウザ上で動作するフロントエンドアプリを作ったら、ライブラリ化してnpmモジュールとして公開します 対象読者=今風のJavaScript開発の入門者、初心者 11年前からタイムトラベルしてきたひと ブラウザ用アプリを作りたいが今風の手法の初心者(jQueryだけでなんとか生きてきた人とか) Node.jsの環境をつかってフロンドエンドアプリかいているけど、「何となく」理解している人 来年の新人教育係 キーワード 本投稿では、以下のようなキーワードが出てきます。 Node.js、npm、ES6(ECMAScript6
gulp なしの Web フロントエンド開発から 1 年あまり。その間、特に問題もなく npm-scripts で Web フロントエンド開発を管理できているので、この間に得られた運用知見や所感などをまとめてみる。 npm-scrips とは? 最近の Web フロントエンド開発では AltJS/AltCSSのビルドやリリース用イメージ作成などに Node.js + npm を利用することが一般化してきた。そのためプロジェクトは package.json で管理することになる。package.json の提供する代表的な機能として プロジェクト情報の定義 プロジェクトの成果物を npm として配布するための情報 プロジェクト名、バージョン、作者などのメタデータを定義する 依存モジュール管理 プロジェクトが依存する npm とバージョンを管理する この情報へ基づき npm install コ
Grunt、 gulpなどを使うのではなく、npmをビルドタスクを使うためにちょっとおさらいした。 npmのpathnpmでインストールすると、 モジュールは ./node_modules/にインストールされ、 node_modules/.bin配下に各パッケージのbinへのシンボリックリンクが作成される。 これは実際にnpm binを実行するとパスがわかる。 たとえば、node_modules/jshint/bin/jshint は$(npm bin)/jshintで実行できる。 実際にはnpm経由で実行すると、$(npm bin)はPATHは追加されている。 package.jsonに以下を追加して でパスが通っていることが確認できる。 つまり、npm run TASKではモジュールのパスに$(npm bin)は必要無い。 pre、postフックnpmコマンドにpre、postというp
Last year, we decided to move all of our JavaScript projects from npm to Yarn. We did so for two primary reasons: yarn install was 20x faster than npm install. npm install was taking upward of 20 minutes in many of our larger projects. Yarn's dependency locking was singificantly more reliable than npm's. Check out last year's blog post (linked above) for more details. 13 months with Yarn Yarn solv
似たようなワードプレスのウェブサイトを沢山運用しているのですが、 どのテンプレートのフォルダにも全く同じ構成のnode_modulesが重複して存在しており 無駄にローカルのディスク・スペースを消費しています。 毎回同じgulpfileを使っているので、gulpパッケージはグローバルにインストールして 使おうと試してみたのですが、グローバルにインストールされたパッケージはなぜか notfoundとなり、gulpが認識してくれませんでした。 requireに絶対パスを指定してみたり、いろいろ試してみたのですがダメでした。 gulpパッケージはローカルにインストールしなければいけないのでしょうか? あるいは、私の方法が間違っているのでしょうか? とりあえず、各プロジェクトのフォルダにnode_modulesのシンボリックリンクを 作って対応しようかと思っていますが、何か他によい方法があれば、ご
追記: [email protected]で別のパッケージを特定のパッケージ名で指定できるpackage aliasesが追加されました。 rfcs/0001-package-aliases.md at latest · npm/rfcs 注意: この手法はnpm ciで壊れてる場合があります npm ci fails with transitive local packages - 🐞 bugs - npm forum Add support for ESLint v2 by Daniel15 · Pull Request #107 · fkling/astexplorerを見ていて、一つのプロジェクト内で複数のバージョンの同じライブラリを使う面白い方法が使われてたのでメモです。 前述したAST explorerの場合だと、ESLint@1とESLint@2の両方に対応したPlaygr
先日アナウンスされた脆弱性とその周辺について、とりとめなく。 The npm Blog — Package install scripts vulnerability Vulnerability Note VU#319816 脆弱性の概要 VU#319816 によれば、今回問題になっているのはnpmの以下の性質を利用するとnpmパッケージでワーム(自己増殖力のあるマルウェア)を作れるというもの。 依存パッケージのバージョンをロックせず、semverにより範囲指定することが多い CLIで一度npmへloginすると、明示的にnpm logoutするまで認証が永続化される npm registry が中央集権型サーバーである 具体的な手法として、Chris Contoliniが PoC として pizza-party というリポジトリを公開している*1。以下のように動作する。 ワームが仕込まれ
atom-package-diff Diff between installed Atom packages and apm stars. Install $ npm install -g atom-package-diff Usage $ apd status $ apd sync $ apd sync --local $ apd sync --remote Blog posts インストール済みAtomパッケージとapmのスターをdiffして同期するツール「Atom Package Diff」 Contribution $ git clone https://github.com/uetchy/atom-package-diff.git $ cd atom-package-diff $ npm install $ npm run build $ npm start
本ページは npm.org 提供文書を翻訳したものです。 原文は 本家参照 、誤謬・誤記の指摘は こちら からお願いします。 × npm package.json 取扱説明書 記述方法 このドキュメントを通じて、あなたの package.json に必要な全てを 学ぶことが出来ます。記述は JavaScript のオブジェクトリテラルではなく、 正しい JSON でなければなりません。 このドキュメントの多くの振る舞いは npm-config(7) に書かれている設定に影響を受けています。 name package.json の中で最も大事な項目は "name"(名前) と "version"(バージョン) です。必須であり、パッケージはこれらなしで インストール出来ません。name と version をもってして、パッケージが 完全に一意となることが想定されています。よってパッケージ内
2015-03-23 JavaScriptでのモジュールロード方式とパッケージ管理についての勉強メモ(2015-03時点) npm Node.js Browserify Bower RequireJS webpack CommonJS AMD 2015-03時点でJSのモジュールロードとかパッケージ管理について見てみると、CommonJSだとかAMDだとかBrowserifyとかwebpackとかbowerとか色々出てきて混乱したので、整理してみた勉強メモです。各プロダクト・仕様のできることや役割について、まだまだ誤解してる部分もあると思いますので、勉強中ということで割り引いてください。 簡単な歴史と経緯 ※細かい歴史とか時系列は無視してます、というか知らないで書いてます。あくまでも自分の頭のなかでの整理用。 require.jsがブラウザ上のアプリで頑張ってモジュールロードできるようにし
Every front-end developer should be well acquainted with CanIUse, the website that lets you view browser support for browser features. When people criticize my blog posts for not detailing browser support for features within the post, I tell them to check CanIUse: always up to date, unlike posts on any blog. While I know to use the CanIUse website, I recently found out that Sam Gentle has an ac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く