Recently I landed experimental support for require()-ing synchronous ES modules in Node.js, a feature that has been long overdue. In the pull request, I commented with my understanding about whyit did not happen sooner before this pull request in 2024. This post expands on that comment a bit more. The opinions in this post are my own and reflect my perception of the ESM development in Node.js as
Secretlint v7でCommonJS からES Modulesへの移行を行いました。 Secretlint v7.0.0をリリースしました。Pure ESMへの書き直し この記事では、CommonJS(CJS)からES Modules(ESM)への移行を行った経緯と、移行する方法について紹介します。 CJSからESMへの移行は、率直に言えば単調な作業で、メリットが見えにくい作業です。 しかし、将来的にCJSよりもESMが主流になることは間違いないので、移行することは必要です。 移行の作業は、移行方法が決まれば大部分は機械的な書き換えが可能です。 では、実際にどうやって移行したのかを紹介します。 ESMへの移行の影響は依存元へと連鎖する Secretlintのリポジトリはmonorepoになっていて、だいたい40コぐらいのパッケージが含まれています。 そしてパッケージ間で依存関係があ
We're hiring C/C++ andZig engineers tobuild the future ofJavaScript!Join our team → Some may be surprised to see the recent releasenotes forBun mention CommonJS support. After all, CommonJS is a legacy module system, and the future ofJavaScript is ES Modules (ESM), right? As a "forward-thinking" "next-gen" runtime, why wouldBun put so much effort into improving CommonJS support? The latest
[[toc]] ESM & CJS ESM - ECMAScript modules CJS - CommonJS In the past decade, due to the lack of a standard module system ofJavaScript, CommonJS (a.k.a the require('xxx') and module.exports syntax) has been the way how Node.js and NPM packages work. Until 2015, when ECMAScript modules finally show up as the standard solution, the community start migrating to native ESM gradually. // CJS const cir
Dan Fabulich is a Principal Engineer at Redfin. (We’re hiring!) In Node 14, there are now two kinds of scripts: there are old-style CommonJS (CJS) scripts and new-style ESM scripts (aka MJS). CJS scripts use require() and module.exports; ESM scripts use import and export. ESM and CJS are completely different animals. Superficially, ESM looks verysimilar to CJS, but their implementations couldn’t
Jan 29, 2009 14:00 · 816 words · 4 minute read Server sideJavaScripttechnology has been around for a long time.Netscape offered server sideJavaScript in their server software back in 1996, and Helma has existed for a number of years as well. But, server side development has changed a lot over the past few years. Aptana’s Jaxer gives an innovative view of how you can leverage aJavaScript envir
昨年のAdvent Calendarを眺めたり、JS周りの記事を見ていると、RequireJSとか、CommonJSとか、AMD、Browserify、webpackあたりが、同じような文脈で登場するんですが、それぞれ何を指しているのかよくわからなかったため、今更ながらまとめてみます。 前提 小規模にしかJavaScriptを使っていないWebサイトでは、jQueryを使ってDomイベントで色んな処理をして、Domに反映させる。というような処理が、ごちゃっとまとめて書くことが多いかと思います。ごちゃっととは、特にDomにしか情報を保持していない状態を指していて、イメージとしてはこのようなコードです。 $(function() { # イベントハンドラ $("#btn").on("click", function(){ $.ajax({ url: "api/resources", dataT
Runs in browsers without manual compilation. Supports node built-ins. Offers a plugin system. Deprecated QuickStart is no longer maintained.It will still exist in npm, but no more updates will happen. We no longer use QuickStart at Spotify, and instead recommend otherbundlers such as Browserify orWebpack.
QuickStartというのは、名前がややこしいですがSpotify社が出してるツールのことです。 このツールはCommonJSで書いたJavaScriptのモジュールの依存関係を解決してビルドしたり、ローダとして使えるものです。 前者のビルドする機能は簡単にいえばBrowserifyです。 QuickStartもBrowserifyと同じく、nodeのcoreモジュール等をブラウザで使える様になってます。(CoreモジュールはBrowserifyが使ってるものと同じshimが使われてる) もう一つのローダとして使えるのがこのQuickStartの面白い所なんじゃないかなと思います。 この記事では、適当に試して見たQuickStartの使い方について見ていきます。 サンプルプロジェクトは以下に置いてあります。 azu/quickstart-example ビルド ビルドする場合はBrose
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く