Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore!: Change noir-lang/noir-source-resolver to noir-lang/source-resolver #2718

Merged
merged 9 commits into from
Sep 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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",
TomAFrench marked this conversation as resolved.
Show resolved Hide resolved
"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