Skip to content

Commit c68406c

Browse files
committed
✨ legendary RE2JS ✨
0 parents  commit c68406c

File tree

11 files changed

+14141
-0
lines changed

11 files changed

+14141
-0
lines changed

.github/workflows/yee.yml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
lint:
9+
name: Lint
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: Setup Node.js {{ matrix.node-version }}
14+
uses: actions/setup-node@v4
15+
with:
16+
node-version: 'lts/*'
17+
persist-credentials: false
18+
19+
- name: Install dependencies
20+
run: npm install --ignore-scripts --only=dev
21+
22+
- name: Run lint
23+
run: npm run lint
24+
25+
test:
26+
strategy:
27+
fail-fast: false
28+
matrix:
29+
os: [ubuntu-latest, windows-latest]
30+
node-version:
31+
- '0.10'
32+
- '0.12'
33+
- '4'
34+
- '5'
35+
- '6'
36+
- '7'
37+
- '8'
38+
- '9'
39+
- '10'
40+
- '11'
41+
- '12'
42+
- '13'
43+
- '14'
44+
- '15'
45+
- '16'
46+
- '17'
47+
- '18'
48+
- '19'
49+
- '20'
50+
- '21'
51+
- '22'
52+
# Node.js release schedule: https://nodejs.org/en/about/releases/
53+
54+
name: Node ${{ matrix.node-version }} on ${{ matrix.os }}
55+
56+
runs-on: ${{ matrix.os }}
57+
steps:
58+
- uses: actions/checkout@v4
59+
with:
60+
persist-credentials: false
61+
62+
- name: Setup Node.js ${{ matrix.node-version }}
63+
uses: actions/setup-node@v4
64+
with:
65+
node-version: ${{ matrix.node-version }}
66+
67+
- name: Install mocha
68+
run: npm i [email protected]
69+
70+
- name: Output Node and NPM versions
71+
run: |
72+
echo "Node.js version: $(node -v)"
73+
echo "NPM version: $(npm -v)"
74+
75+
- name: Run tests
76+
shell: bash
77+
run: |
78+
npm test

.gitignore

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
.pnpm-debug.log*
9+
10+
# Diagnostic reports (https://nodejs.org/api/report.html)
11+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12+
13+
# Runtime data
14+
pids
15+
*.pid
16+
*.seed
17+
*.pid.lock
18+
19+
# Directory for instrumented libs generated by jscoverage/JSCover
20+
lib-cov
21+
22+
# Coverage directory used by tools like istanbul
23+
coverage
24+
*.lcov
25+
26+
# nyc test coverage
27+
.nyc_output
28+
29+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30+
.grunt
31+
32+
# Bower dependency directory (https://bower.io/)
33+
bower_components
34+
35+
# node-waf configuration
36+
.lock-wscript
37+
38+
# Compiled binary addons (https://nodejs.org/api/addons.html)
39+
build/Release
40+
41+
# Dependency directories
42+
node_modules/
43+
jspm_packages/
44+
45+
# Snowpack dependency directory (https://snowpack.dev/)
46+
web_modules/
47+
48+
# TypeScript cache
49+
*.tsbuildinfo
50+
51+
# Optional npm cache directory
52+
.npm
53+
54+
# Optional eslint cache
55+
.eslintcache
56+
57+
# Optional stylelint cache
58+
.stylelintcache
59+
60+
# Microbundle cache
61+
.rpt2_cache/
62+
.rts2_cache_cjs/
63+
.rts2_cache_es/
64+
.rts2_cache_umd/
65+
66+
# Optional REPL history
67+
.node_repl_history
68+
69+
# Output of 'npm pack'
70+
*.tgz
71+
72+
# Yarn Integrity file
73+
.yarn-integrity
74+
75+
# dotenv environment variable files
76+
.env
77+
.env.development.local
78+
.env.test.local
79+
.env.production.local
80+
.env.local
81+
82+
# parcel-bundler cache (https://parceljs.org/)
83+
.cache
84+
.parcel-cache
85+
86+
# Next.js build output
87+
.next
88+
out
89+
90+
# Nuxt.js build / generate output
91+
.nuxt
92+
dist
93+
94+
# Gatsby files
95+
.cache/
96+
# Comment in the public line in if your project uses Gatsby and not Next.js
97+
# https://nextjs.org/blog/next-9-1#public-directory-support
98+
# public
99+
100+
# vuepress build output
101+
.vuepress/dist
102+
103+
# vuepress v2.x temp and cache directory
104+
.temp
105+
.cache
106+
107+
# Docusaurus cache and generated files
108+
.docusaurus
109+
110+
# Serverless directories
111+
.serverless/
112+
113+
# FuseBox cache
114+
.fusebox/
115+
116+
# DynamoDB Local files
117+
.dynamodb/
118+
119+
# TernJS port file
120+
.tern-port
121+
122+
# Stores VSCode versions used for testing VSCode extensions
123+
.vscode-test
124+
125+
# yarn v2
126+
.yarn/cache
127+
.yarn/unplugged
128+
.yarn/build-state.yml
129+
.yarn/install-state.gz
130+
.pnp.*
131+
132+
.DS_Store

.npmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package-lock=false

.vscode/settings.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"editor.codeActionsOnSave": {
3+
"source.fixAll.eslint": "explicit"
4+
}
5+
}

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Chris de Almeida
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# re2js-legendary
2+
3+
a node v0.10 compatible build of [RE2JS]
4+
5+
## install
6+
7+
```sh
8+
npm i re2js-legendary
9+
```
10+
11+
## usage
12+
13+
usage instructions are the same as [RE2JS]
14+
15+
## updating
16+
17+
`index.cjs` and `index.cjs.map` are generated directly by [RE2JS] by running `npm i core-js@3`, using the following babel config, and then building:
18+
19+
```js
20+
presets: [
21+
[
22+
'@babel/preset-env',
23+
{
24+
targets: { 'node': '0.10' },
25+
'useBuiltIns': 'usage',
26+
'corejs': '3'
27+
}
28+
]
29+
],
30+
```
31+
32+
[RE2JS]: https://github.com/le0pard/re2js

eslint.config.mjs

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import ultraMegaConfig from 'eslint-config-ultra-mega';
2+
3+
export default [
4+
...ultraMegaConfig,
5+
{
6+
languageOptions: {
7+
ecmaVersion: 'latest',
8+
globals: {
9+
// mocha globals
10+
describe: 'readonly',
11+
it: 'readonly',
12+
},
13+
},
14+
},
15+
{
16+
files: ['test/**'],
17+
languageOptions: { ecmaVersion: 5 },
18+
rules: { 'no-var': 'off' },
19+
},
20+
{ ignores: ['index.cjs'] },
21+
];

0 commit comments

Comments
 (0)