diff --git a/packages/hs2js/package.json b/packages/hs2js/package.json index e8d698601..1376260bb 100644 --- a/packages/hs2js/package.json +++ b/packages/hs2js/package.json @@ -29,10 +29,10 @@ }, "homepage": "https://codeberg.org/uzu/strudel/", "dependencies": { - "web-tree-sitter": "^0.24.7" + "web-tree-sitter": "^0.24.7", + "tree-sitter-haskell": "^0.23.1" }, "devDependencies": { - "tree-sitter-haskell": "^0.23.1", "vite": "^6.0.11" }, "engines": { diff --git a/packages/hs2js/src/parser.mjs b/packages/hs2js/src/parser.mjs index a5b010b4c..4ee71fe83 100644 --- a/packages/hs2js/src/parser.mjs +++ b/packages/hs2js/src/parser.mjs @@ -1,6 +1,8 @@ import Parser from 'web-tree-sitter'; +import treeSitterWasm from 'web-tree-sitter/tree-sitter.wasm?url'; +import grammarWasm from 'tree-sitter-haskell/tree-sitter-haskell.wasm?url'; -let base = '/'; +let base; export function setBase(path) { base = path; } @@ -10,11 +12,15 @@ let isReady = false, async function _loadParser() { await Parser.init({ locateFile(scriptName, scriptDirectory) { - return `${base}${scriptName}`; + if (base) { + return `${base}${scriptName}`; + } + return treeSitterWasm; }, }); parser = new Parser(); - const Lang = await Parser.Language.load(`${base}tree-sitter-haskell.wasm`); + let grammarUrl = base ? `${base}tree-sitter-haskell.wasm` : grammarWasm; + const Lang = await Parser.Language.load(grammarUrl); parser.setLanguage(Lang); isReady = true; return parser; diff --git a/packages/tidal/package.json b/packages/tidal/package.json index bd299b397..d719d2d67 100644 --- a/packages/tidal/package.json +++ b/packages/tidal/package.json @@ -3,6 +3,7 @@ "version": "0.2.0", "private": true, "description": "Experimental Tidal Code interpreter", + "main": "tidal.mjs", "module": "tidal.mjs", "repository": { "type": "git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf0931007..7efc28c12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -359,13 +359,13 @@ importers: packages/hs2js: dependencies: + tree-sitter-haskell: + specifier: ^0.23.1 + version: 0.23.1(tree-sitter@0.21.1) web-tree-sitter: specifier: ^0.24.7 version: 0.24.7 devDependencies: - tree-sitter-haskell: - specifier: ^0.23.1 - version: 0.23.1(tree-sitter@0.21.1) vite: specifier: ^6.0.11 version: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(yaml@2.7.0)