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/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 2c3463134e0..2155ac41a2e 100644 --- a/compiler/wasm/package.json +++ b/compiler/wasm/package.json @@ -26,7 +26,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 29a07f2d1e5..774666527ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -399,16 +399,6 @@ __metadata: 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/noir_js@workspace:tooling/noir_js": version: 0.0.0-use.local resolution: "@noir-lang/noir_js@workspace:tooling/noir_js" @@ -429,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 @@ -465,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" @@ -4272,9 +4272,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