diff --git a/.github/workflows/release-source-resolver.yml b/.github/workflows/release-source-resolver.yml index 9b699cae969..aad9ec9618c 100644 --- a/.github/workflows/release-source-resolver.yml +++ b/.github/workflows/release-source-resolver.yml @@ -2,10 +2,6 @@ name: Release and Publish Source Resolver on: workflow_dispatch: - inputs: - version: - description: "Version number" - required: false jobs: release-source-resolver: @@ -15,37 +11,14 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Bump version - working-directory: ./compiler/source-resolver - id: bump_version - run: | - if [ -z "${{ github.event.inputs.version }}" ]; then - NEW_VERSION=$(npm version patch --no-git-tag-version) - else - NEW_VERSION=$(npm version ${{ github.event.inputs.version }} --no-git-tag-version) - fi - echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV - - name: Install dependencies run: yarn install --immutable - name: Build noir-source-resolver - run: yarn workspace @noir-lang/noir-source-resolver build + run: yarn workspace @noir-lang/source-resolver build - name: Publish to NPM working-directory: ./compiler/source-resolver run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Configure git - run: | - git config user.name kevaundray - git config user.email kevtheappdev@gmail.com - - - name: Commit updates - run: | - git add yarn.lock - git add compiler/source-resolver/package.json - git commit -m "chore: Update source-resolver to ${{ env.NEW_VERSION }}" - git push diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1be360068da..f7bdc2017bd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -93,6 +93,19 @@ jobs: ref: master token: ${{ secrets.NOIR_REPO_TOKEN }} + publish-source-resolver: + name: Publish source resolver package + needs: [release-please] + if: ${{ needs.release-please.outputs.tag-name }} + runs-on: ubuntu-latest + steps: + - name: Dispatch to source resolver + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: release-source-resolver.yml + ref: master + token: ${{ secrets.NOIR_REPO_TOKEN }} + dispatch-publish-abi-wasm: name: Dispatch to publish-abi_wasm workflow needs: [release-please] diff --git a/.github/workflows/test-source-resolver.yml b/.github/workflows/test-source-resolver.yml index 87ffc96e866..b5fdf987fd1 100644 --- a/.github/workflows/test-source-resolver.yml +++ b/.github/workflows/test-source-resolver.yml @@ -19,8 +19,8 @@ jobs: - name: Install dependencies run: yarn install --immutable - - name: Build noir-source-resolver - run: yarn workspace @noir-lang/noir-source-resolver build + - name: Build @noir-lang/source-resolver + run: yarn workspace @noir-lang/source-resolver build - name: Run tests - run: yarn workspace @noir-lang/noir-source-resolver test + run: yarn workspace @noir-lang/source-resolver test diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 89d790cb00e..c54f5e31b53 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -139,7 +139,7 @@ jobs: cp -r ./compiler/wasm/downloaded/nodejs ./compiler/wasm cp -r ./compiler/wasm/downloaded/web ./compiler/wasm yarn install --immutable - yarn workspace @noir-lang/noir-source-resolver build + yarn workspace @noir-lang/source-resolver build - name: Run tests run: | diff --git a/compiler/fm/src/file_reader.rs b/compiler/fm/src/file_reader.rs index 1a9b31ed949..887d0b12f88 100644 --- a/compiler/fm/src/file_reader.rs +++ b/compiler/fm/src/file_reader.rs @@ -25,7 +25,7 @@ cfg_if::cfg_if! { if #[cfg(target_arch = "wasm32")] { use wasm_bindgen::{prelude::*, JsValue}; - #[wasm_bindgen(module = "@noir-lang/noir-source-resolver")] + #[wasm_bindgen(module = "@noir-lang/source-resolver")] extern "C" { #[wasm_bindgen(catch)] diff --git a/compiler/integration-tests/package.json b/compiler/integration-tests/package.json index beb392a591d..96f89b6a5cc 100644 --- a/compiler/integration-tests/package.json +++ b/compiler/integration-tests/package.json @@ -13,9 +13,9 @@ "dependencies": { "@aztec/bb.js": "^0.5.1", "@noir-lang/acvm_js": "^0.26.0", - "@noir-lang/noir-source-resolver": "workspace:*", "@noir-lang/noir_wasm": "workspace:*", "@noir-lang/noirc_abi": "workspace:*", + "@noir-lang/source-resolver": "workspace:*", "@web/dev-server-esbuild": "^0.3.6", "@web/test-runner": "^0.15.3", "@web/test-runner-playwright": "^0.10.0", diff --git a/compiler/integration-tests/test/integration/browser/compile_prove_verify.test.ts b/compiler/integration-tests/test/integration/browser/compile_prove_verify.test.ts index e48a75acb51..e2a88e331d0 100644 --- a/compiler/integration-tests/test/integration/browser/compile_prove_verify.test.ts +++ b/compiler/integration-tests/test/integration/browser/compile_prove_verify.test.ts @@ -1,5 +1,5 @@ import { expect } from '@esm-bundle/chai'; -import { initialiseResolver } from "@noir-lang/noir-source-resolver"; +import { initializeResolver } from "@noir-lang/source-resolver"; import newCompiler, { compile, init_log_level as compilerLogLevel @@ -66,7 +66,7 @@ test_cases.forEach((testInfo) => { expect(noir_source).to.be.a.string; - initialiseResolver((id: String) => { + initializeResolver((id: String) => { console.log("Resolving:", id); return noir_source; }); diff --git a/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs b/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs index a2943596a53..1a58386c139 100644 --- a/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs +++ b/compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs @@ -556,14 +556,13 @@ impl Context { let predicate_index = self.acir_context.mul_var(index_var, self.current_side_effects_enabled_var)?; let new_value = if let Some(store) = store_value { - let store_var = Some(self.convert_value(store, dfg).into_var()?); + let store_var = self.convert_value(store, dfg).into_var()?; if self.acir_context.is_constant_one(&self.current_side_effects_enabled_var) { - store_var + Some(store_var) } else { let dummy = self.array_get(instruction, array, predicate_index, dfg)?; - let true_pred = self - .acir_context - .mul_var(store_var.unwrap(), self.current_side_effects_enabled_var)?; + let true_pred = + self.acir_context.mul_var(store_var, self.current_side_effects_enabled_var)?; let one = self.acir_context.add_constant(FieldElement::one()); let not_pred = self.acir_context.sub_var(one, self.current_side_effects_enabled_var)?; diff --git a/compiler/noirc_evaluator/src/ssa/ir/map.rs b/compiler/noirc_evaluator/src/ssa/ir/map.rs index 10d6adfbd6a..b6055973f1c 100644 --- a/compiler/noirc_evaluator/src/ssa/ir/map.rs +++ b/compiler/noirc_evaluator/src/ssa/ir/map.rs @@ -52,7 +52,7 @@ impl std::hash::Hash for Id { impl PartialOrd for Id { fn partial_cmp(&self, other: &Self) -> Option { - self.index.partial_cmp(&other.index) + Some(self.cmp(other)) } } diff --git a/compiler/noirc_evaluator/src/ssa/opt/constant_folding.rs b/compiler/noirc_evaluator/src/ssa/opt/constant_folding.rs index 9eda52e0475..e71e23d2032 100644 --- a/compiler/noirc_evaluator/src/ssa/opt/constant_folding.rs +++ b/compiler/noirc_evaluator/src/ssa/opt/constant_folding.rs @@ -125,7 +125,7 @@ impl Context { fn resolve_instruction( instruction_id: InstructionId, dfg: &DataFlowGraph, - constrained_values: &mut HashMap, + constrained_values: &HashMap, ) -> Instruction { let instruction = dfg[instruction_id].clone(); diff --git a/compiler/noirc_evaluator/src/ssa/ssa_gen/mod.rs b/compiler/noirc_evaluator/src/ssa/ssa_gen/mod.rs index 652869bdc9d..20250f5470e 100644 --- a/compiler/noirc_evaluator/src/ssa/ssa_gen/mod.rs +++ b/compiler/noirc_evaluator/src/ssa/ssa_gen/mod.rs @@ -527,9 +527,7 @@ impl<'a> FunctionContext<'a> { ) -> Values { match expr { // If we're constraining an equality to be true then constrain the two sides directly. - Expression::Binary(Binary { lhs, operator, rhs, .. }) - if operator == &BinaryOpKind::Equal => - { + Expression::Binary(Binary { lhs, operator: BinaryOpKind::Equal, rhs, .. }) => { let lhs = self.codegen_non_tuple_expression(lhs); let rhs = self.codegen_non_tuple_expression(rhs); self.builder.set_location(location).insert_constrain(lhs, rhs, assert_message); diff --git a/compiler/noirc_frontend/src/ast/statement.rs b/compiler/noirc_frontend/src/ast/statement.rs index 51afa688082..3d9ab1e6ec4 100644 --- a/compiler/noirc_frontend/src/ast/statement.rs +++ b/compiler/noirc_frontend/src/ast/statement.rs @@ -125,7 +125,7 @@ impl PartialEq for Ident { impl PartialOrd for Ident { fn partial_cmp(&self, other: &Self) -> Option { - self.0.contents.partial_cmp(&other.0.contents) + Some(self.cmp(other)) } } diff --git a/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs b/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs index c55335e4443..11321d673a7 100644 --- a/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs +++ b/compiler/noirc_frontend/src/hir/def_collector/dc_crate.rs @@ -530,13 +530,13 @@ fn take_errors_filter_self_not_resolved(resolver: Resolver<'_>) -> Vec { &ident.0.contents != "Self" } _ => true, }) + .cloned() .collect() } diff --git a/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs b/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs index 2679059cebd..813c222319e 100644 --- a/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs +++ b/compiler/noirc_frontend/src/hir/def_collector/dc_mod.rs @@ -470,7 +470,7 @@ impl<'a> ModCollector<'a> { }; // Parse the AST for the module we just found and then recursively look for it's defs - let ast = parse_file(&mut context.file_manager, child_file_id, errors); + let ast = parse_file(&context.file_manager, child_file_id, errors); // Add module into def collector and get a ModuleId if let Some(child_mod_id) = diff --git a/compiler/noirc_frontend/src/hir/def_map/mod.rs b/compiler/noirc_frontend/src/hir/def_map/mod.rs index 1a7c6674e01..576a348383a 100644 --- a/compiler/noirc_frontend/src/hir/def_map/mod.rs +++ b/compiler/noirc_frontend/src/hir/def_map/mod.rs @@ -86,7 +86,7 @@ impl CrateDefMap { // First parse the root file. let root_file_id = context.crate_graph[crate_id].root_file_id; - let ast = parse_file(&mut context.file_manager, root_file_id, errors); + let ast = parse_file(&context.file_manager, root_file_id, errors); #[cfg(feature = "aztec")] let ast = aztec_library::transform(ast, &crate_id, context, errors); @@ -237,7 +237,7 @@ pub struct Contract { /// Given a FileId, fetch the File, from the FileManager and parse it's content pub fn parse_file( - fm: &mut FileManager, + fm: &FileManager, file_id: FileId, all_errors: &mut Vec, ) -> ParsedModule { diff --git a/compiler/noirc_frontend/src/hir/type_check/mod.rs b/compiler/noirc_frontend/src/hir/type_check/mod.rs index ea1793b7e76..a2f9361ad3a 100644 --- a/compiler/noirc_frontend/src/hir/type_check/mod.rs +++ b/compiler/noirc_frontend/src/hir/type_check/mod.rs @@ -90,10 +90,7 @@ pub fn type_check_func(interner: &mut NodeInterner, func_id: FuncId) -> Vec (noirc_errors::Span, bool) { +fn function_info(interner: &NodeInterner, function_body_id: &ExprId) -> (noirc_errors::Span, bool) { let (expr_span, empty_function) = if let HirExpression::Block(block) = interner.expression(function_body_id) { let last_stmt = block.statements().last(); diff --git a/compiler/source-resolver/package.json b/compiler/source-resolver/package.json index 380125ecdbb..76ce4657c10 100644 --- a/compiler/source-resolver/package.json +++ b/compiler/source-resolver/package.json @@ -1,5 +1,5 @@ { - "name": "@noir-lang/noir-source-resolver", + "name": "@noir-lang/source-resolver", "version": "1.1.4", "license": "MIT", "main": "./lib-node/index_node.js", diff --git a/compiler/source-resolver/src/index.ts b/compiler/source-resolver/src/index.ts index a83b6b03728..7d8e254f7db 100644 --- a/compiler/source-resolver/src/index.ts +++ b/compiler/source-resolver/src/index.ts @@ -9,15 +9,15 @@ export let read_file = function (source_id: any): string { if (typeof result === "string") { return result; } else { - throw new Error("Noir source resolver funtion MUST return String synchronously. Are you trying to return anything else, eg. `Promise`?"); + throw new Error("Noir source resolver function MUST return String synchronously. Are you trying to return anything else, eg. `Promise`?"); } } else { - throw new Error('Not yet initialised. Use initialiseResolver(() => string)'); + throw new Error('Not yet initialized. Use initializeResolver(() => string)'); } }; -function initialise(noir_resolver: (source_id: String) => string): (source_id: String) => string { +function initialize(noir_resolver: (source_id: String) => string): (source_id: String) => string { if (typeof noir_resolver === "function") { return noir_resolver; @@ -26,6 +26,6 @@ function initialise(noir_resolver: (source_id: String) => string): (source_id: S } } -export function initialiseResolver(resolver: (source_id: String) => string): void { - resolveFunction = initialise(resolver); +export function initializeResolver(resolver: (source_id: String) => string): void { + resolveFunction = initialize(resolver); } \ No newline at end of file diff --git a/compiler/source-resolver/src/index_node.ts b/compiler/source-resolver/src/index_node.ts index faa0d3efcdb..396af74c058 100644 --- a/compiler/source-resolver/src/index_node.ts +++ b/compiler/source-resolver/src/index_node.ts @@ -1,8 +1,8 @@ /// -import { initialiseResolver, read_file } from './index.js'; +import { initializeResolver, read_file } from './index.js'; -initialiseResolver((source_id: String) => { +initializeResolver((source_id: String) => { let fileContent = ""; try { const fs = require("fs"); @@ -15,6 +15,6 @@ initialiseResolver((source_id: String) => { return fileContent; }); -export { initialiseResolver, read_file }; +export { initializeResolver, read_file }; diff --git a/compiler/source-resolver/test/cjs_initialization.test.cjs b/compiler/source-resolver/test/cjs_initialization.test.cjs index d83f5b1b7cb..1dc7784fa40 100644 --- a/compiler/source-resolver/test/cjs_initialization.test.cjs +++ b/compiler/source-resolver/test/cjs_initialization.test.cjs @@ -1,6 +1,6 @@ const test = require('ava'); -const { initialiseResolver, read_file } = require("../lib-node/index_node.js"); +const { initializeResolver, read_file } = require("../lib-node/index_node.js"); test('It reads file from file system within read_file using default implementation.', t => { @@ -14,7 +14,7 @@ test('It calls function from initializer within read_file function.', t => { const RESULT_RESPONSE = "TEST"; - initialiseResolver((source) => { + initializeResolver((source) => { return source; }); @@ -28,7 +28,7 @@ test('It communicates error when resolver returns non-String to read_file functi const RESULT_RESPONSE = "TEST"; - initialiseResolver((source) => { + initializeResolver((source) => { return Promise.resolve(source); }); @@ -36,14 +36,14 @@ test('It communicates error when resolver returns non-String to read_file functi read_file(RESULT_RESPONSE); }, { instanceOf: Error }); - t.is(error.message, 'Noir source resolver funtion MUST return String synchronously. Are you trying to return anything else, eg. `Promise`?'); + t.is(error.message, 'Noir source resolver function MUST return String synchronously. Are you trying to return anything else, eg. `Promise`?'); }); test('It communicates error when resolver is initialized to anything but a function.', t => { const error = t.throws(() => { - initialiseResolver(null); + initializeResolver(null); }, { instanceOf: Error }); t.is(error.message, 'Provided Noir Resolver is not a function, hint: use function(module_id) => NoirSource as second parameter'); diff --git a/compiler/source-resolver/test/esm_initialization.test.mjs b/compiler/source-resolver/test/esm_initialization.test.mjs index 30f77dcf7a0..197b48e48d0 100644 --- a/compiler/source-resolver/test/esm_initialization.test.mjs +++ b/compiler/source-resolver/test/esm_initialization.test.mjs @@ -5,15 +5,15 @@ */ import test from 'ava'; -import { initialiseResolver, read_file } from "../lib-node/index.js"; +import { initializeResolver, read_file } from "../lib-node/index.js"; -test('It communicates error when read_file was called before initialiseResolver.', t => { +test('It communicates error when read_file was called before initializeResolver.', t => { const error = t.throws(() => { const readResult = read_file("./package.json"); }, { instanceOf: Error }); - t.is(error.message, 'Not yet initialised. Use initialiseResolver(() => string)'); + t.is(error.message, 'Not yet initialized. Use initializeResolver(() => string)'); }); @@ -21,7 +21,7 @@ test('It calls function from initializer within read_file function.', t => { const RESULT_RESPONSE = "TEST"; - initialiseResolver((source) => { + initializeResolver((source) => { return source; }); @@ -35,7 +35,7 @@ test('It communicates error when resolver returns non-String to read_file functi const RESULT_RESPONSE = "TEST"; - initialiseResolver((source) => { + initializeResolver((source) => { return Promise.resolve(source); }); @@ -43,14 +43,14 @@ test('It communicates error when resolver returns non-String to read_file functi read_file(RESULT_RESPONSE); }, { instanceOf: Error }); - t.is(error.message, 'Noir source resolver funtion MUST return String synchronously. Are you trying to return anything else, eg. `Promise`?'); + t.is(error.message, 'Noir source resolver function MUST return String synchronously. Are you trying to return anything else, eg. `Promise`?'); }); test('It communicates error when resolver is initialized to anything but a function.', t => { const error = t.throws(() => { - initialiseResolver(null); + initializeResolver(null); }, { instanceOf: Error }); t.is(error.message, 'Provided Noir Resolver is not a function, hint: use function(module_id) => NoirSource as second parameter'); diff --git a/compiler/source-resolver/types/index.d.ts b/compiler/source-resolver/types/index.d.ts index 14f4c17445b..22d9a98fa1f 100644 --- a/compiler/source-resolver/types/index.d.ts +++ b/compiler/source-resolver/types/index.d.ts @@ -1,2 +1,2 @@ export declare let read_file: (source_id: any) => string; -export declare function initialiseResolver(resolver: (source_id: String) => string): void; +export declare function initializeResolver(resolver: (source_id: String) => string): void; diff --git a/compiler/source-resolver/types/index_node.d.ts b/compiler/source-resolver/types/index_node.d.ts index 75e87c00efb..3a109e47e73 100644 --- a/compiler/source-resolver/types/index_node.d.ts +++ b/compiler/source-resolver/types/index_node.d.ts @@ -1,2 +1,2 @@ -import { initialiseResolver, read_file } from './index.js'; -export { initialiseResolver, read_file }; +import { initializeResolver, read_file } from './index.js'; +export { initializeResolver, read_file }; diff --git a/compiler/wasm/package.json b/compiler/wasm/package.json index 54f2c409c3e..de703b91068 100644 --- a/compiler/wasm/package.json +++ b/compiler/wasm/package.json @@ -25,7 +25,7 @@ "test:browser": "web-test-runner" }, "peerDependencies": { - "@noir-lang/noir-source-resolver": "^1.1.3" + "@noir-lang/source-resolver": "workspace:*" }, "devDependencies": { "@web/dev-server-esbuild": "^0.3.6", diff --git a/compiler/wasm/test/index.d.ts b/compiler/wasm/test/index.d.ts index 4c66dc4c1cc..b64901ebda2 100644 --- a/compiler/wasm/test/index.d.ts +++ b/compiler/wasm/test/index.d.ts @@ -1 +1 @@ -declare module '@noir-lang/noir-source-resolver'; \ No newline at end of file +declare module '@noir-lang/source-resolver'; \ No newline at end of file diff --git a/compiler/wasm/test/shared.ts b/compiler/wasm/test/shared.ts index 1d601560e74..24a09cc1a04 100644 --- a/compiler/wasm/test/shared.ts +++ b/compiler/wasm/test/shared.ts @@ -1,4 +1,4 @@ -import { initialiseResolver } from "@noir-lang/noir-source-resolver"; +import { initializeResolver } from "@noir-lang/source-resolver"; import { compile } from "@noir-lang/noir_wasm"; export const noirSourcePath = "../../noir-script/src/main.nr"; @@ -8,7 +8,7 @@ export const nargoArtifactPath = export async function compileNoirSource(noir_source: string): Promise { console.log("Compiling Noir source..."); - initialiseResolver((id: String) => { + initializeResolver((id: String) => { console.log(`Resolving source ${id}`); const source = noir_source; diff --git a/release-please-config.json b/release-please-config.json index 01df7d1a7a5..ef222bef77f 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -27,6 +27,11 @@ "type": "json", "path": "tooling/noir_js/package.json", "jsonpath": "$.version" + }, + { + "type": "json", + "path": "compiler/source-resolver/package.json", + "jsonpath": "$.version" } ] } diff --git a/yarn.lock b/yarn.lock index 4f75c7e1345..55b19e3e2ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -385,22 +385,19 @@ __metadata: languageName: node linkType: hard -"@noir-lang/acvm_js@npm:0.26.1, @noir-lang/acvm_js@npm:^0.26.0": +"@noir-lang/acvm_js@npm:0.26.1": version: 0.26.1 resolution: "@noir-lang/acvm_js@npm:0.26.1" checksum: ae8cb6e31610cd8aa392855342d0c953a1bc4cd9e07236340341afa5815696a69a6635c38241f1d6a5dd30c5a8ae49234f2ba8b71d46c5d1a46756ff6f4dde3a languageName: node linkType: hard -"@noir-lang/noir-source-resolver@workspace:*, @noir-lang/noir-source-resolver@workspace:compiler/source-resolver": - version: 0.0.0-use.local - resolution: "@noir-lang/noir-source-resolver@workspace:compiler/source-resolver" - dependencies: - "@types/node": ^20.5.7 - ava: ^5.2.0 - typescript: 4.9.4 - languageName: unknown - linkType: soft +"@noir-lang/acvm_js@npm:^0.26.0": + version: 0.26.0 + resolution: "@noir-lang/acvm_js@npm:0.26.0" + checksum: 3325b611fec4531363cb67682d50ea40cbeaf8da7672c8373cb11bc7786308a14c61804950b4805e071edc9298005039847621a8d79fae185eda2cf981c64b39 + languageName: node + linkType: hard "@noir-lang/noir_js@workspace:tooling/noir_js": version: 0.0.0-use.local @@ -422,7 +419,7 @@ __metadata: "@web/test-runner-webdriver": ^0.7.0 mocha: ^10.2.0 peerDependencies: - "@noir-lang/noir-source-resolver": ^1.1.3 + "@noir-lang/source-resolver": "workspace:*" languageName: unknown linkType: soft @@ -458,6 +455,16 @@ __metadata: languageName: unknown linkType: soft +"@noir-lang/source-resolver@workspace:*, @noir-lang/source-resolver@workspace:compiler/source-resolver": + version: 0.0.0-use.local + resolution: "@noir-lang/source-resolver@workspace:compiler/source-resolver" + dependencies: + "@types/node": ^20.5.7 + ava: ^5.2.0 + typescript: 4.9.4 + languageName: unknown + linkType: soft + "@npmcli/fs@npm:^3.1.0": version: 3.1.0 resolution: "@npmcli/fs@npm:3.1.0" @@ -4284,9 +4291,9 @@ __metadata: dependencies: "@aztec/bb.js": ^0.5.1 "@noir-lang/acvm_js": ^0.26.0 - "@noir-lang/noir-source-resolver": "workspace:*" "@noir-lang/noir_wasm": "workspace:*" "@noir-lang/noirc_abi": "workspace:*" + "@noir-lang/source-resolver": "workspace:*" "@web/dev-server-esbuild": ^0.3.6 "@web/test-runner": ^0.15.3 "@web/test-runner-playwright": ^0.10.0