Skip to content

Commit a09980c

Browse files
committed
✨ Add a src parameter to SetupConfig
1 parent d8dd4c2 commit a09980c

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

scripts/nursery/index.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ interface SetupConfig {
2222
treeSitterPackage: string
2323
/** Test cases running in CI */
2424
testRunner: (parse: (c: string) => SgRoot) => void
25+
/** Path of the `src` directory inside the `tree-sitter-*` package. Useful for
26+
* `tree-sitter-php`, `tree-sitter-typescript` and `tree-sitter-yaml`.
27+
* @default "src" */
28+
src?: string
2529
}
2630

2731
function test(setupConfig: SetupConfig) {
@@ -44,13 +48,15 @@ export function setup(setupConfig: SetupConfig) {
4448
function copySrcIfNeeded(config: SetupConfig) {
4549
const { dirname, treeSitterPackage } = config
4650
const existing = path.join(dirname, 'src')
47-
const src = path.join(dirname, 'node_modules', treeSitterPackage, 'src')
51+
const src = config.src || 'src'
52+
const source = path.join(dirname, 'node_modules', treeSitterPackage, src)
4853
if (fs.existsSync(existing)) {
4954
log('src exists, skipping copy')
5055
return
5156
}
57+
5258
log('copying tree-sitter src')
53-
fs.cpSync(src, 'src', { recursive: true })
59+
fs.cpSync(source, 'src', { recursive: true })
5460
}
5561

5662
interface NodeBasicInfo {

0 commit comments

Comments
 (0)