esprima
esbuild-loader
esprima | esbuild-loader | |
---|---|---|
8 | 14 | |
6,962 | 3,521 | |
0.0% | 0.7% | |
0.0 | 7.8 | |
about 1 year ago | 6 days ago | |
TypeScript | TypeScript | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
esprima
-
ESLint: under the hood
Focusing again on ESLint, the parser used by the linter is called Espree. This is an in-house parser built by the ESLint folks to fully support ECMAScript 6 and JSX on top of the already existing Esprima. The Espree module provide APIs for both tokenization and parsing that you can easily test out.
-
Why you don’t need TypeScript
For TypeScript we have used AST transforms from their compiler API, and for plain JavaScript we did a similar thing using ESPrima. This helped us implement some simple optimizations like stream fusion (combining .filter and .map into a single operation) or avoiding extra object allocations in vector math, which led to nice performance improvements in code that does heavy computation (we process large amounts of data on the server and store results of physics simulations).
-
Algorithm to simplify a 100-variable Boolean expression?
I used ESPrima, but any parser would do in this case. I then wrote a simple function to extract all "atomic" non-boolean expressions from it.
-
How to make your own programming language in JavaScript
AST is an acronym for Abstract Syntax Tree. It's the way to represent code in a format that tools can understand. Usually in form of tree data structure. We will use AST in the format of an Esprima, which is a JavaScript parser that outputs AST.
-
What the heck is an Abstract Syntax Tree (AST) ?
esprima
-
Abstract Syntax Trees: They're Actually Used Everywhere -- But What Are They?
Create an AST: Esprima
-
We Switched from Webpack to Vite
The thread was originally about CRA vs Vite size on disk (or implicitly, if we're applying it to real world applications, network cost in CI job startup times). And like I said, surrogate pairs don't apply to ASCII.
See this[0] for reference. Note how the first byte must fall within a certain range in order to signal being a surrogate pair. This fact is taken advantage of by JS parsers to make parsing of ASCII code faster by special casing that range, since checking for a valid character in the entire unicode range is quite a bit more expensive[1].
[0] https://github.com/jquery/esprima/blob/0911ad869928fd218371b...
[1] https://github.com/jquery/esprima/blob/0911ad869928fd218371b...
-
How to create your own language that compile to JavaScript
If you want to learn more about parsing, reading the code of an actual recursive parser might be a better idea. Esprima is a decent place to start if you're interested in JS grammar. Then you can look at the babel handbook to learn more about AST transformations. From there, the literature gets quite a bit more heavy. If you get this far and are willing to push further, you'll probably want to grab yourself a copy of the dragon book at a minimum.
esbuild-loader
-
Create React App
i see. there are a loaders like https://github.com/privatenumber/esbuild-loader that works with webpack but i haven't given it a try yet.
-
Do you guys compile with ts-loader or babel-loader?
you can use it with webpack didn't try it myself
-
How to speed up webpack with esbuild-loader
If you are a webpack user and have heard about esbuild speed, you may start questioning your js-bundler choices. Luckily, you don't have to drop your hand-crafted webpack config just now. Thanks to esbuild-loader, you can get part of the speed improvement without doing a whole migration.
-
Blazing fast TypeScript with Webpack and ESBuild
esbuild-loader (secret sauce!) fork-ts-checker-webpack-plugin (helps us with typechecking) nodemon-webpack-plugin (We can also use webpack-dev-server)
-
We Switched from Webpack to Vite
For people already on webpack, there's esbuild-loader (https://github.com/privatenumber/esbuild-loader)
-
Speed up Next.js build with Typescript and Tailwind CSS
esbuild is a JS and TS bundler that promises ultra-fast build times. We use webpack, and there is support to leverage esbuild with esbuild-loader.
-
How we sped up our webpack (TailwindCSS) build by 57%
The first thing I did was replace babel-loader and Terser (minification tool) with esbuild-loader. This made our JS compile around 12 times faster, it went down to 1.4 seconds. It was a good start.
-
Use esbuild to speed up your Creat-React-App project
In fact, the create-react-app-esbuild is only an encapsulation of esbuild-loader.
-
Any using snowpack or esbuild or anything to improve nextjs build speeds?
I just started using this: privatenumber/esbuild-loader: ⚡️ Speed up your Webpack build with esbuild (github.com)
-
Show HN: A simple website for my JavaScript bundler
Both would be good to file. I’m happy to investigate myself if you don’t have the time.
One thing to be aware of is that some other tools that integrate esbuild do so incorrectly. For example, the 3rd-party integration of esbuild into Webpack mis-configures esbuild in a way that causes issues with JSX: https://github.com/privatenumber/esbuild-loader/pull/107. This isn’t a problem with esbuild itself.
What are some alternatives?
estree - The ESTree Spec
ts-loader - TypeScript loader for webpack
babel-handbook - :blue_book: A guided handbook on how to use Babel and how to create plugins for Babel.
vite - Next generation frontend tooling. It's fast!
estraverse - ECMAScript JS AST traversal functions
vite-plugin-vue2 - Vue2 plugin for Vite
escodegen - ECMAScript code generator
Next.js - The React Framework
purgecss - Remove unused CSS
Visual Studio Code - Visual Studio Code
source-map-explorer - Analyze and debug space usage through source maps