Skip to content

Commit ac3e9e9

Browse files
committed
refactor(napi/parser): move JS code into src-js directory (#13899)
Pure refactor. Root of `napi/parser` was getting really crowded with tons of files, and I'm about to add a load more for the ESTree walker. Move JS source files into a `src-js` directory, like in `apps/oxlint`, so that the root of the package is just config files and scripts.
1 parent 15eb326 commit ac3e9e9

38 files changed

+54
-66
lines changed

apps/oxlint/scripts/build.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ console.log('- Created package.json');
3333
console.log('Copying files from parser...');
3434

3535
const parserFilePaths = [
36-
'raw-transfer/lazy-common.mjs',
37-
'raw-transfer/node-array.mjs',
36+
'src-js/raw-transfer/lazy-common.mjs',
37+
'src-js/raw-transfer/node-array.mjs',
3838
'generated/lazy/constructors.mjs',
3939
'generated/lazy/types.mjs',
4040
'generated/lazy/walk.mjs',

apps/oxlint/src-js/plugins/lint.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { assertIs } from './utils.js';
1010
import { addVisitorToCompiled, compiledVisitor, finalizeCompiledVisitor, initCompiledVisitor } from './visitor.js';
1111

1212
// @ts-expect-error we need to generate `.d.ts` file for this module.
13-
import { TOKEN } from '../../dist/raw-transfer/lazy-common.mjs';
13+
import { TOKEN } from '../../dist/src-js/raw-transfer/lazy-common.mjs';
1414
// @ts-expect-error we need to generate `.d.ts` file for this module.
1515
import { walkProgram } from '../../dist/generated/lazy/walk.mjs';
1616

dprint.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
"apps/oxlint/src-js/bindings.js",
2121
"apps/oxlint/src-js/bindings.d.ts",
2222
"napi/{transform,minify,playground}/index.js",
23-
"napi/{parser,transform,minify,playground}/index.d.ts",
24-
"napi/{parser,transform,minify,playground}/*.wasi-browser.js",
25-
"napi/{parser,transform,minify,playground}/*.wasi.cjs",
26-
"napi/{parser,transform,minify,playground}/wasi-worker-browser.mjs",
27-
"napi/{parser,transform,minify,playground}/wasi-worker.mjs",
28-
"napi/{parser,transform,minify,playground}/browser.js",
29-
"napi/parser/bindings.mjs",
23+
"napi/{parser,transform,minify,playground}/**/index.d.ts",
24+
"napi/{parser,transform,minify,playground}/**/*.wasi-browser.js",
25+
"napi/{parser,transform,minify,playground}/**/*.wasi.cjs",
26+
"napi/{parser,transform,minify,playground}/**/wasi-worker-browser.mjs",
27+
"napi/{parser,transform,minify,playground}/**/wasi-worker.mjs",
28+
"napi/{parser,transform,minify,playground}/**/browser.js",
29+
"napi/parser/src-js/bindings.mjs",
3030
"npm/*/package.json",
3131
"npm/oxlint/configuration_schema.json",
3232
"npm/oxc-wasm/**",

napi/parser/bench.bench.mjs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import { writeFile } from 'node:fs/promises';
22
import { join as pathJoin } from 'node:path';
33
import { bench, describe } from 'vitest';
4-
import { parseSyncRaw } from './bindings.mjs';
5-
import { parseAsync, parseSync } from './index.mjs';
4+
import { parseSyncRaw } from './src-js/bindings.mjs';
5+
import { parseAsync, parseSync } from './src-js/index.mjs';
66

77
// Internals
88
import { DATA_POINTER_POS_32, PROGRAM_OFFSET } from './generated/constants.mjs';
99
import { deserialize as deserializeJS } from './generated/deserialize/js.mjs';
1010
import { deserialize as deserializeTS } from './generated/deserialize/ts.mjs';
1111
import { walkProgram } from './generated/lazy/walk.mjs';
12-
import { isJsAst, prepareRaw, returnBufferToCache } from './raw-transfer/common.mjs';
13-
import { TOKEN } from './raw-transfer/lazy-common.mjs';
14-
import { getVisitorsArr, Visitor } from './raw-transfer/visitor.mjs';
12+
import { isJsAst, prepareRaw, returnBufferToCache } from './src-js/raw-transfer/common.mjs';
13+
import { TOKEN } from './src-js/raw-transfer/lazy-common.mjs';
14+
import { getVisitorsArr, Visitor } from './src-js/raw-transfer/visitor.mjs';
1515

1616
// Same fixtures as used in Rust parser benchmarks
1717
let fixtureUrls = [

napi/parser/build-browser-bundle.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ async function main() {
1515

1616
// bundle wasm.mjs -> browser-bundle.mjs
1717
await esbuild.build({
18-
entryPoints: ['./wasm.mjs'],
18+
entryPoints: ['./src-js/wasm.mjs'],
1919
outfile: 'browser-bundle.mjs',
2020
alias: {
21-
'@oxc-parser/binding-wasm32-wasi': './parser.wasi-browser.js',
21+
'@oxc-parser/binding-wasm32-wasi': './src-js/parser.wasi-browser.js',
2222
},
2323
bundle: true,
2424
platform: 'browser',

napi/parser/example.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import fs from 'node:fs';
22
import path from 'node:path';
33
import { parseArgs } from 'node:util';
4-
import { parseSync } from './index.mjs';
4+
import { parseSync } from './src-js/index.mjs';
55

66
// usage:
77
// node napi/parser/example.mjs test.ts

napi/parser/generated/lazy/constructors.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Auto-generated code, DO NOT EDIT DIRECTLY!
22
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer_lazy.rs`.
33

4-
import { constructorError, TOKEN } from '../../raw-transfer/lazy-common.mjs';
5-
import { NodeArray } from '../../raw-transfer/node-array.mjs';
4+
import { constructorError, TOKEN } from '../../src-js/raw-transfer/lazy-common.mjs';
5+
import { NodeArray } from '../../src-js/raw-transfer/node-array.mjs';
66

77
const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true }),
88
decodeStr = textDecoder.decode.bind(textDecoder),

napi/parser/package.json

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
"name": "oxc-parser",
33
"version": "0.90.0",
44
"type": "commonjs",
5-
"main": "index.mjs",
6-
"browser": "wasm.mjs",
5+
"main": "src-js/index.mjs",
6+
"browser": "src-js/wasm.mjs",
77
"scripts": {
8-
"build-dev": "napi build --esm --platform --js bindings.mjs",
8+
"build-dev": "napi build --esm --platform --js bindings.mjs --output-dir src-js",
99
"build-test": "pnpm run build-dev --profile coverage",
1010
"build": "pnpm run build-dev --features allocator --release",
1111
"postbuild-dev": "node patch.mjs",
1212
"build-wasi": "pnpm run build-dev --release --target wasm32-wasip1-threads",
13-
"build-npm-dir": "rm -rf npm-dir && napi create-npm-dirs --npm-dir npm-dir && pnpm napi artifacts --npm-dir npm-dir --output-dir .",
13+
"build-npm-dir": "rm -rf npm-dir && napi create-npm-dirs --npm-dir npm-dir && pnpm napi artifacts --npm-dir npm-dir --output-dir src-js",
1414
"build-browser-bundle": "node build-browser-bundle.mjs",
1515
"test": "tsc && pnpm run test-node run",
1616
"test-node": "vitest --dir ./test",
@@ -38,25 +38,8 @@
3838
"url": "https://github.com/sponsors/Boshen"
3939
},
4040
"files": [
41-
"index.d.ts",
42-
"index.mjs",
43-
"wrap.mjs",
44-
"wasm.mjs",
45-
"bindings.mjs",
46-
"webcontainer-fallback.js",
47-
"generated/constants.mjs",
48-
"generated/deserialize/js.mjs",
49-
"generated/deserialize/ts.mjs",
50-
"generated/lazy/constructors.mjs",
51-
"generated/lazy/types.mjs",
52-
"generated/lazy/walk.mjs",
53-
"raw-transfer/common.mjs",
54-
"raw-transfer/eager.mjs",
55-
"raw-transfer/lazy.mjs",
56-
"raw-transfer/lazy-common.mjs",
57-
"raw-transfer/node-array.mjs",
58-
"raw-transfer/supported.mjs",
59-
"raw-transfer/visitor.mjs"
41+
"generated",
42+
"src-js"
6043
],
6144
"publishConfig": {
6245
"registry": "https://registry.npmjs.org/",
@@ -100,6 +83,6 @@
10083
"fs": false
10184
}
10285
},
103-
"dtsHeaderFile": "header.js"
86+
"dtsHeaderFile": "src-js/header.js"
10487
}
10588
}

napi/parser/patch.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import fs from 'node:fs';
22

3-
const filename = './bindings.mjs';
3+
const filename = './src-js/bindings.mjs';
44
let data = fs.readFileSync(filename, 'utf-8');
55

66
data = data.replace(
File renamed without changes.

0 commit comments

Comments
 (0)