Skip to content

Commit

Permalink
chore!: Change noir-lang/noir-source-resolver to `noir-lang/source-…
Browse files Browse the repository at this point in the history
…resolver` (#2718)

Co-authored-by: Tom French <[email protected]>
  • Loading branch information
kevaundray and TomAFrench authored Sep 15, 2023
1 parent 8d85e53 commit 31e489e
Show file tree
Hide file tree
Showing 19 changed files with 67 additions and 76 deletions.
29 changes: 1 addition & 28 deletions .github/workflows/release-source-resolver.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@ name: Release and Publish Source Resolver

on:
workflow_dispatch:
inputs:
version:
description: "Version number"
required: false

jobs:
release-source-resolver:
Expand All @@ -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 [email protected]
- 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
13 changes: 13 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test-source-resolver.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion .github/workflows/wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down
2 changes: 1 addition & 1 deletion compiler/fm/src/file_reader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)]
Expand Down
2 changes: 1 addition & 1 deletion compiler/integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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;
});
Expand Down
2 changes: 1 addition & 1 deletion compiler/source-resolver/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
10 changes: 5 additions & 5 deletions compiler/source-resolver/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
}
6 changes: 3 additions & 3 deletions compiler/source-resolver/src/index_node.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/// <reference types="node" />

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");
Expand All @@ -15,6 +15,6 @@ initialiseResolver((source_id: String) => {
return fileContent;
});

export { initialiseResolver, read_file };
export { initializeResolver, read_file };


10 changes: 5 additions & 5 deletions compiler/source-resolver/test/cjs_initialization.test.cjs
Original file line number Diff line number Diff line change
@@ -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 => {

Expand All @@ -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;
});

Expand All @@ -28,22 +28,22 @@ 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);
});

const error = t.throws(() => {
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');
Expand Down
14 changes: 7 additions & 7 deletions compiler/source-resolver/test/esm_initialization.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
*/
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)');

});

test('It calls function from initializer within read_file function.', t => {

const RESULT_RESPONSE = "TEST";

initialiseResolver((source) => {
initializeResolver((source) => {
return source;
});

Expand All @@ -35,22 +35,22 @@ 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);
});

const error = t.throws(() => {
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');
Expand Down
2 changes: 1 addition & 1 deletion compiler/source-resolver/types/index.d.ts
Original file line number Diff line number Diff line change
@@ -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;
4 changes: 2 additions & 2 deletions compiler/source-resolver/types/index_node.d.ts
Original file line number Diff line number Diff line change
@@ -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 };
2 changes: 1 addition & 1 deletion compiler/wasm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion compiler/wasm/test/index.d.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
declare module '@noir-lang/noir-source-resolver';
declare module '@noir-lang/source-resolver';
4 changes: 2 additions & 2 deletions compiler/wasm/test/shared.ts
Original file line number Diff line number Diff line change
@@ -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";
Expand All @@ -8,7 +8,7 @@ export const nargoArtifactPath =
export async function compileNoirSource(noir_source: string): Promise<any> {
console.log("Compiling Noir source...");

initialiseResolver((id: String) => {
initializeResolver((id: String) => {
console.log(`Resolving source ${id}`);

const source = noir_source;
Expand Down
5 changes: 5 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@
"type": "json",
"path": "tooling/noir_js/package.json",
"jsonpath": "$.version"
},
{
"type": "json",
"path": "compiler/source-resolver/package.json",
"jsonpath": "$.version"
}
]
}
Expand Down
24 changes: 12 additions & 12 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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

Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 31e489e

Please sign in to comment.