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
= Built-In = Core Ecosystem = Third Party = Experimental / Partial = N/A Footnotes As this table doesn't cover every single aspect, here are some noteworthy points: Node.js has started to implement a permissions model, available under a experimental flag in Node 20. Node.js does have an external dependency view through NPM list. Node.js has an alternative approach to Web Workers called Worker Thre
昨日、HonoのNode.jsアダプタのv1.3.0をリリースしました。これまでのものより2.7倍速くなるパフォーマンス向上が含まれています。 このリリースは「2.7倍」という数値以上にHonoにとって大きなものになりますので、それについて解説します。 Request/Responseの翻訳 HonoはWebスタンダードAPIのみを利用したWebフレームワークで、WebスタンダードAPIのみで構成されたものがWebアプリになるうるランタイムのみを対象にしていました。具体的には、Cloudflare Workers、Deno、Bun、Fastly Computeなどです。 Honoを使わない例を出すと、以下のコードはWebスタンダードのみを利用してる非常に素朴なものですが、これだけでCloudflareでもBunでも立派にWebアプリになります。
I even wrote my own test runner 11 year ago: gt I personally think Node.js follows the same "minimal core" as JavaScript itself. Thus things like linters, code formatters, and test runners are better made as 3rd party tools. While this was a good idea for a long time, now any language without a standard testing tool seems weird. Deno, Rust, Go - they all have their own built-in test runners. Curre
週刊Railsウォッチ20220228でもお伝えしましたが、つい最近、dartsass-rails gemがRailsのGitHubリポジトリで正式に登場しました。 dartsass-railsは、本家Dart Sassのバイナリ実行ファイルをラップしています。現時点ではLinuxとmacOSでi32版とx64版、Windowsでx64版のバイナリ実行ファイルがあります。今回初めて気づきましたが、Dart Sassは2016年のごく初期からバイナリ実行ファイルをリリースし続けているんですね。 参考: Releases · sass/dart-sass どこかで見たような話ですね。そう、以下の記事にも書いたように、tailwindcss-rails gemもバイナリ版CLIツールをラップしています↓。最近のJSツールチェインはバイナリ版も出すのが流行りなのでしょうか。 Rails 7: im
引用元: https://nodejs.org/en/about/branding 2024年4月24日にリリースされたNode.js v22の主な変更点を紹介します。 Node.js v22はLTS(長期サポート)のバージョンになります。10月の後半にLTSとしてサポートが始まります。 nodejs.org require()がESMをサポート V8 12.4 アップデートによる JavaScript の機能 Array.fromAsync() Set methods union() intersection() difference() symmetricDifference() isSubsetOf() isSupersetOf() isDisjointFrom() Iterator Helpers map() filter() reduce() --runオプションによるpacka
We're excited to announce the release of Node.js 20! Highlights include the new Node.js Permission Model,a synchronous import.meta.resolve, a stable test_runner, updates of the V8 JavaScript engine to 11.3, Ada to 2.0, and more! The project continues to make progress across a number of areas, with many new features and fixes flowing into existing LTS releases. For that reason, the changes outlined
もともとは動的なWebサイト開発のために仕方なく(※もちろん人による)書かされていた感のあるJavaScriptですが、ES6以降の進化はめざましく、表現力の高さは他の言語に全く引けを取らないようになりました。 V8エンジンによるパフォーマンスの恩恵も相まって、私はWeb用途以外にもちょっとしたスクリプトを書く時などにも積極的にNode.jsを活用しています。 一方でかつてのJavaScriptのイメージから食わず嫌い的に避けてしまったり、そもそもJSや周辺エコシステムの進化に関心がない人も多く見られます。 そこで今回は「どうすればNode.jsの敷居を低くして、便利さを知ってもらえるか」の観点から役立ちそうな知見をまとめてみました。 動的型付けなのにかなり早い 詳しくは各ベンチマークの結果を見ていただければ分かりますが、Node.jsは動的型付け言語としてはかなり実行速度が早い部類に入り
「Deno 2」正式リリース、Deno 1/Node.js互換性を保ち、フォーマッタ、リンター、Jupyter Notebook機能など統合。LTS版で企業ニーズにも対応 JavaScript/TypeScriptランタイムのDenoを開発するDeno Landは、Denoの登場以来初となるメジャーバージョンアップ「Deno 2」正式リリースを発表しました。 4 years after Deno 1.0, the next generation of JavaScript is ready for production at scale. Deno 2 is out today: Fully backwards compatible with Node and npm Package management and node_modules and package.json Long ter
GitHub Actions: GitHub-hosted runners now run Node.js 16 by default actions December 10, 2021 In the latest update to our GitHub-hosted runners virtual environments, Node.js 16 has become the default version of node and npm 8 has become the default version of npm. To select the version of Node.js that you use for your projects, we encourage you to use the setup-node action. For questions, visit th
Node.js の exports と module.exports Node.js を使ったモジュールのエクスポートとインポート、require、exports、module.exports についての覚書です。以下は Node.js がインストールされていることを前提にしています。 Node.js では CommonJS (CJS) フォーマットが使われ、モジュールとその依存ファイルの定義には require と exports や module.exports を使います。 参考サイト:Understanding module.exports and exports in Node.js また、 CommonJS モジュールとは、Node.js 環境での JavaScript のモジュール化の仕組みです。 参考サイト:JavaScript Primer/CommonJSモジュール r
Renovateを使ってるときに、Node.jsをv15とかv17とかにあげるPull Requestが出ることがあって気になっていたところ、特定状況下だとこうなることがわかったのでブログに書いておきます。なお、Node.jsのバージョンについては https://github.com/nodejs/Release#release-plan に詳しく書いてあります。 Dockerfile内で FROM node:16-alpine のように数字のあとに文字がついてる場合はLTSを無視してアップデートしようとする ほぼほぼ以下のDiscussionに書いてある通りです。 github.com 例えば .node-version ファイルがあって 14.20.1 と書いてあるとしたら、Renovateはこれを 16.17.1 にあげるPull Requestを作ってくれます。(v15は飛ばして
JSer.info #671 - Node.js v18.19.0がリリースされました。 Node v18.19.0 (LTS) | Node.js npm 10へアップデート、node:moduleにregister APIの追加、import.meta.resolveのサポートが追加されています。 また、.jsのデフォルトの扱いをCJSからESMへと変更できる--experimental-default-typeフラグがバックポートされています。 Biome v1.4.0がリリースされました。 Biome formatter wins the Prettier challenge | Biome Release CLI v1.4.0 · biomejs/biome PrettierのJS/TS/JSXに関するテストケースを95%以上通すRust実装を募集するThe Prettier C
nodenvで欲しいバージョンのnodeが見つからない…… プロジェクトで指定されたバージョンのNode.jsをインストールしようとして とうっても、欲しいバージョンがリストに出てこないときってありませんか? どうやらnodenvはインストール時に登録されているバージョンしか表示してくれないようです。 調べてみても、nodenvを消してから再インストールするみたいな、ええっ🙄という情報が多いです。 nodenvをアップデートする一番簡単な方法 anyenvのプラグインであるanyenv-updateを使いましょう。 ※ そもそもanyenv使っていない人は、こちらなどが参考になります。anyenv、オススメです。 anyenv-updateのインストール anyenvのルートディレクトリ(デフォルトでは~/.anyenv)の下に、pluginsディレクトリを作り、リポジトリをクローンしま
渡辺です。 Node.js 8.10のEOLが迫っていますが、10.xのみしかなくなると思いきや、12.xのサポートが始まりました。 Node.js はランタイムのライフサイクルが早いですね。 サーバレスで開発をしている場合、ランタイムのアップデートが不可欠になるため、テストを出来る体制は不可欠になるのではないでしょうか。 なお、CloudFormationによる、インラインコードでの指定はまだできません。 Array.flatを使ってみる ネストした配列をフラット化する Array.flat がNodejs12から利用できるので使ってみました。 exports.handler = async (event) => { const array = [[1, 2], [3, 4]]; const result = array.flat(); return result; }; Nodejs1
以前より、ロードマップにてAmazon Linux 2のサポートが進んでいましたが、一気に4つの言語でGA開始となりました。 AWS Elastic Beanstalk Announces General Availability of Amazon Linux 2 Based Node.js, PHP, Go, and Ruby Platforms PHPアプリケーションで試してみる 業務の都合で個人的に首を長くして待っていたのがPHPプラットフォームのサポートだったので、PHPで試してみたいと思います。 今回はコンソールから作ります。「プラットフォームのブランチ」にAmazon Linux2を選択することができます。最新の「PHP7.4 runnning on 64bit Amazon Linux 2」を選択します! 「プラットフォームのブランチ」のプルダウンを見ると、「PHP7.2」
Collected, curated and written by: Yoni Goldberg, Bruno Scheufler, Kevyn Bruyere and Kyle Martin Welcome to our comprehensive list of Docker best practices that are exemplified under the realm of Node.js. Note that each and every bullet has a link to detailed information and code examples. The entire list can be found in our repository Node.js Best Practices. It covers the basics but goes all the
ChatGPTでは、全ての回答の生成を待たずに、回答が順次画面に表示されていきます。 実は、OpenAIのChat APIを使う場合も、同じ挙動を実現できます。 アプリの例 方法1. ブラウザで直接OpenAI APIを叩く 以下の記事で紹介されているように、ブラウザのFetch APIを使って直接OpenAIの APIを叩く方法が一番シンプルにできそうです。 注意点として、APIキーがユーザーに知られるため、ユースケースが限られそうです。 方法2. Node.jsのサーバーを介してOpenAI APIを叩く 今回は、以下のように中間にNode.jsのサーバーを挟む例を示します。 Step1. Node.jsサーバーの実装 ※注意点として、サーバーは text/event-stream 形式のレスポンスを返す必要があり、 Next.js API Routes + VercelやAWS Am
「東京Node学園」は、Node.js日本ユーザグループ主催のNode.js勉強会です。36時限目の今回は、オンラインで開催されました。 Funaoka氏は、Rustでネイティブモジュールを作る方法について発表しました。 ネイティブモジュールを書く理由 Yukimasa Funaoka氏(以下、Funaoka):まず、自己紹介をします。私は、株式会社ディー・エヌ・エーでフロントエンドの業務をしている、船岡と申します。 本日は、どういった目的でネイティブモジュールを書くのか、具体的にRustで作るにはどうすればよいのか、そしてクロスプラットフォーム対応と、実際に書いてみて困ったことなどを紹介したいと思っています。 まず、ネイティブモジュールを書く理由ですが、ネイティブモジュールは、JS(JavaScript)の世界を超えて、ネイティブのバイナリとNode(Node.js)との架け橋になって、
どうもこんにちは。筆者はここ1年くらいnitrogqlというTypeScript + GraphQL向けコード生成ツールを開発しています。(初手宣伝) このツールの本体はRustで書かれており、コンパイルするとWASMバイナリが生成されます。このWASMバイナリをNode.jsから呼び出すようなラッパーを作って、コマンドラインツールとしてnpmで公開しています。 その性質上、Node.js側とWASM側で通信(データのやり取り)が発生します。特に、設定ファイルなどが.jsや.tsで書かれていても読み込む機能があり、その際はRust側からNode.js側に制御を渡してNode.js側でファイルを読み込み、結果をRust側に返すようになっています。 実は、nitrogqlの(Rust側)コードにはこれまで非同期処理が含まれていませんでした。しかし、パフォーマンスのことなどを考えると非同期処理に
More NPM packages on Cloudflare Workers: Combining polyfills and native code to support Node.js APIs2024-09-09 Today, we are excited to announce a preview of improved Node.js compatibility for Workers and Pages. Broader compatibility lets you use more NPM packages and take advantage of the JavaScript ecosystem when writing your Workers. Our newest version of Node.js compatibility combines the best
Don’t be that ‘screwdriver guy’, enrich your toolbox, diversify yourself Short IntroI’ve compiled below 20 skills, technologies and considerations on choosing between them. Picking the right tools became one of our greatest challenges — the Node.js ecosystem has matured and present attractive options in almost every field. Vanilla or TypeScript? Ava, Mocha or Jest? Express, Fastify or Koa? or mayb
Notable Changes Experimental Web Streams API Node.js now exposes an experimental implementation of the Web Streams API. While it is experimental, the API is not exposed on the global object and is only accessible using the new stream/web core module: import { ReadableStream, WritableStream } from 'stream/web'; // Or from 'node:stream/web' Importing the module will emit a single experimental warnin
Node.js is maturing. Many patterns and frameworks were embraced - it's my belief that developers' productivity dramatically increased in the past years. One downside of maturity is habits - we now reuse existing techniques more often. How is this a problem? In his novel book 'Atomic Habits' the author James Clear states that: "Mastery is created by habits. However, sometimes when we're on auto-pil
This blog was written by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee and project collaborators. We’re excited to announce that Node.js 17 was released today! Node.js 17 replaces Node.js 16 as our ‘current’ release line, with Node.js 16 being promoted to long-term support (LTS) next week. You can expect new releases of Node.js 17 approximately every t
特定のバージョンのNode.jsでしか動かしてほしくないパッケージがある場合、package.jsonのenginesフィールドに、Node.jsのバージョンを明記しておくと、yarn installやnpm installしたときに警告を表示できるようになる。 実行環境のバージョンを固定したいときに便利。 例: Node.js 12だけに限定したい場合 例えば、Node.js 12で実行してほしい場合、次のようにenginesフィールドをpackage.jsonに追加する: { "name": "my-module", "version": "1.0.0", "main": "index.js", "license": "MIT", "engines": { "node": "12.x" } } この設定で、Node.js 13環境下でyarn installすると、エラーを起こすことが
Notable Changes Permission Model Node.js now has an experimental feature called the Permission Model. It allows developers to restrict access to specific resources during program execution, such as file system operations, child process spawning, and worker thread creation. The API exists behind a flag --experimental-permission which when enabled will restrict access to all available permissions. B
この記事は Deno Advent Calendar 2019 10 日目の記事(大遅刻)です。 最近 WebAssembly(以下、Wasm)の text format (wat) を少しだけ勉強しています。 Wasm を動かす環境として、一番ベーシックなのはブラウザ (Chrome / Firefox など) ですが、気軽に書いて試すにはやはり Terminal 上で完結させたいと思いました。 Terminal 上で Wasm を動かすにあたっての選択肢は、下記の 2 つがあります。 Node.js (フラグ付き) Deno 本記事では、手書きWasmをコンパイルして上記の2つの環境で動かす方法を紹介します。 用意するもの Node.js v13 Deno wabt WebAssembly のツールキット wat を Wasm に変換する wat2wasm を使います 参考文献 MDN
By now you've noticed nodejs.org's fresh new look! We've taken great care in approaching this design with a nod to the past and look to the future. The site has many converging use cases, thousands of pages, and is a daily resource to many. The whole story had some dead ends and detours. But in the end it was a collective effort; coming to life with the contributions of over three dozen contributo
これは、なにをしたくて書いたもの? Node.jsでアプリケーションを書く時のロギングライブラリは、どういうものがあるのかちょっと気になりまして。 調べた感じ、以下のようなものがありそうです。 GitHub - winstonjs/winston: A logger for just about everything. GitHub - trentm/node-bunyan: a simple and fast JSON logging module for node.js services GitHub - log4js-node/log4js-node: A port of log4js to node.js GitHub - npm/npmlog: The logger that npm uses 今回は、この中でもstar数が多いwinstonを試してみることにしました。 wins
Static method: Buffer.copyBytesFrom(view[, offset[, length]])
OpenJS Foundationは2024年4月25日、Node.jsの新バージョン「Node.js 22」をリリースした。 Node.js 22 is now available! -Node.js Node.js 22 Available Now | OpenJS Foundation Node.js 22 is here 😎 Featuring: require()ing ESM graphs, WebSocket client, updates of the V8 JavaScript engine, and more. Big thank you to @_rafaelgss and @satanacchio for their work on this 🎉 pic.twitter.com/yXgR8fsMqt — Node.js (@nodejs) April 24, 2
2024-03-06, Version 21.7.0 (Current), @RafaelGSS prepared by @marco-ippolito Text Styling util.styleText(format, text): This function returns a formatted text considering the format passed. A new API has been created to format text based on util.inspect.colors, enabling you to style text in different colors (such as red, blue, ...) and emphasis (italic, bold, ...). const { styleText } = require('n
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く