esprima
jquery.terminal
esprima | jquery.terminal | |
---|---|---|
8 | 16 | |
6,962 | 3,044 | |
0.0% | - | |
0.0 | 8.8 | |
about 1 year ago | 2 days ago | |
TypeScript | JavaScript | |
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.
jquery.terminal
-
How to Create an Interactive Terminal-Based Portfolio
This article will show more advanced usage of the jQuery Terminal library. If you want something more basic, you can check this article: How to create interactive terminal like website with JavaScript that is written for more entry level programmers. You can also read it first before you begin reading this one.
-
May I see some of your projects? :)
Few of my Open Source projects: * jQuery terminal * LIPS Scheme * Gaiman * Sysend * Wayne
-
Hack to Run React Application inside Service Worker
But then I realized that I should probably will need to use jsDOM. This is the library that can be used in nodejs to mock the DOM. This is what jest testing framework is using and this is what I was using to test jQuery Terminal library in Jasmine before jest was created.
- jQuery Terminal: JavaScript Web Based Terminal Emulator
-
How to create interactive terminal like website with JavaScript?
Creating such a styled console website or fake terminal website is easier if you have a library that will give you the look and feel of the real terminal emulator, with a nice API to create commands, so you don’t need to create it from scratch. We will use the JavaScript Terminal library: jQuery Terminal, which gives a simple, but powerful API to create interactive terminals on any website. The library doesn’t use any HTML5 features and uses ES5 so it will work on any Browser even in IE11.
-
Explanation of the .ANS file format?
There is way more than in the Wikipedia article. I was implementing an interpreter for ANSI Art some time ago, maybe you will find it helpful. After a lot of struggle with my own parser using regular expressions, someone suggested that I should use a real parser which I use now. My project is in JavaScript and I used Node Ansi parser. It handles all ANSI escape code including cursor movements. There are no good documentation, I got help from one of the contributors that were also a contributor to the XTerm.js library. You can see my code that uses the library here: unix_formatting.js the file includes NodeAnsiParser.
-
How to make your own programming language in JavaScript
I've wanted to have my own programming language, that will make it easier to create text-based adventure games for my Open Source project jQuery Terminal. The idea for the language came after I've created a paid gig for one person, let's call him Ken, that needed this type of game, where the user interacted with the terminal and was asked a bunch of questions and it was like an adventure game, related to Crypo. The code I've written, that Ken needed, was data-driven by a JSON file. It was working nicely, Ken could easily change the JSON and have the game changed however he wanted. I've asked if I could share the code since it was a very cool project and Ken agreed that I can do that two months after he publish the game. But after a while, I've realized that I can have something much better. My own DSL language, that will make it simpler to create text-based adventure games. A person with a bit of programming knowledge like Ken, could easily edit the game, because the language will be much simpler than complex JavaScript code that is needed for something like this. And even if I would be asked to create a game like the one for Ken, it would be much easier and faster for me. This is how Gaiman programming language has started.
-
Ask HN: Single person creations that have stood the test of time
My jQuery Termial: https://terminal.jcubic.pl/ library. It started more the 10 years ago. It's written in ES5, I didn't wanted to do that, but I'm thinking about creating version 3.0 that would be a rewrite in latest JavaScript or TypeScript.
-
Ideas of defining mini parser that handle text adventure text-based input
I'm working on a language called Gaiman similar to ruby that compiles to JavaScript. The purpose of the language is to simplify creating interactive text games, first for the Web later maybe for the normal terminal. The web part is based on my jQuery Terminal library.
What are some alternatives?
estree - The ESTree Spec
fake-terminal-website - A fully customizable terminal-like website template
babel-handbook - :blue_book: A guided handbook on how to use Babel and how to create plugins for Babel.
viciious - A Commodore 64 emulator in JavaScript
estraverse - ECMAScript JS AST traversal functions
parsedmarc - A Python package and CLI for parsing aggregate and forensic DMARC reports
esbuild-loader - Webpack loader for esbuild: Speed up your build ⚡️
parchment - The Interactive Fiction web app
escodegen - ECMAScript code generator
watasu - customizable abstract function layer for your JavaScript application
vite-plugin-vue2 - Vue2 plugin for Vite