Skip to content

Commit

Permalink
refactor: better names for noir dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
alexghr committed Nov 6, 2023
1 parent 8f87216 commit 904d7cb
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { NoirDependencyConfig } from '@aztec/foundation/noir';

import { NoirPackage } from '../package.js';
import { NoirDependencyManager } from './dependency-manager.js';
import { Dependency, DependencyResolver } from './dependency-resolver.js';
import { NoirDependency, NoirDependencyResolver } from './dependency-resolver.js';

describe('DependencyManager', () => {
let manager: NoirDependencyManager;
Expand Down Expand Up @@ -49,9 +49,9 @@ describe('DependencyManager', () => {
});
});

class TestDependencyResolver implements DependencyResolver {
class TestDependencyResolver implements NoirDependencyResolver {
// eslint-disable-next-line require-await
public async resolveDependency(pkg: NoirPackage, dep: NoirDependencyConfig): Promise<Dependency | null> {
public async resolveDependency(pkg: NoirPackage, dep: NoirDependencyConfig): Promise<NoirDependency | null> {
if (!('path' in dep)) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ import { NoirDependencyConfig } from '@aztec/foundation/noir';
import { join } from 'node:path';

import { NoirPackage } from '../package.js';
import { Dependency, DependencyResolver } from './dependency-resolver.js';
import { NoirDependency, NoirDependencyResolver } from './dependency-resolver.js';

/**
* Noir Dependency Resolver
*/
export class NoirDependencyManager {
#entryPoint: NoirPackage;
#libraries = new Map<string, Dependency>();
#libraries = new Map<string, NoirDependency>();
#dependencies = new Map<string, string[]>();
#log: LogFn;
#resolvers: readonly DependencyResolver[];
#resolvers: readonly NoirDependencyResolver[];

/**
* Creates a new dependency resolver
* @param resolvers - A list of dependency resolvers to use
* @param entryPoint - The entry point of the project
*/
constructor(resolvers: readonly DependencyResolver[] = [], entryPoint: NoirPackage) {
constructor(resolvers: readonly NoirDependencyResolver[] = [], entryPoint: NoirPackage) {
this.#log = createDebugOnlyLogger('noir:dependency-resolver');
this.#resolvers = resolvers;
this.#entryPoint = entryPoint;
Expand Down Expand Up @@ -82,8 +82,8 @@ export class NoirDependencyManager {
}
}

async #resolveDependency(pkg: NoirPackage, config: NoirDependencyConfig): Promise<Dependency> {
let dependency: Dependency | null = null;
async #resolveDependency(pkg: NoirPackage, config: NoirDependencyConfig): Promise<NoirDependency> {
let dependency: NoirDependency | null = null;
for (const resolver of this.#resolvers) {
dependency = await resolver.resolveDependency(pkg, config);
if (dependency) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { NoirPackage } from '../package.js';
/**
* A Noir dependency
*/
export type Dependency = {
export type NoirDependency = {
/** version string as determined by the resolver */
version?: string;
/** the actual package source code */
Expand All @@ -15,11 +15,11 @@ export type Dependency = {
/**
* Resolves a dependency for a package.
*/
export interface DependencyResolver {
export interface NoirDependencyResolver {
/**
* Resolve a dependency for a package.
* @param pkg - The package to resolve dependencies for
* @param dep - The dependency config to resolve
*/
resolveDependency(pkg: NoirPackage, dep: NoirDependencyConfig): Promise<Dependency | null>;
resolveDependency(pkg: NoirPackage, dep: NoirDependencyConfig): Promise<NoirDependency | null>;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import { dirname, join } from 'node:path';
import { FileManager } from '../file-manager/file-manager.js';
import { createMemFSFileManager } from '../file-manager/memfs-file-manager.js';
import { NoirPackage } from '../package.js';
import { DependencyResolver } from './dependency-resolver.js';
import { NoirDependencyResolver } from './dependency-resolver.js';
import { GithubDependencyResolver, resolveGithubCodeArchive, safeFilename } from './github-dependency-resolver.js';

const fixtures = join(dirname(fileURLToPath(import.meta.url)), '../../../fixtures');

describe('GithubDependencyResolver', () => {
let resolver: DependencyResolver;
let resolver: NoirDependencyResolver;
let fm: FileManager;
let pkg: NoirPackage;
let libDependency: NoirGitDependencyConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import { unzip } from 'unzipit';

import { FileManager } from '../file-manager/file-manager.js';
import { NoirPackage } from '../package.js';
import { Dependency, DependencyResolver } from './dependency-resolver.js';
import { NoirDependency, NoirDependencyResolver } from './dependency-resolver.js';

/**
* Downloads dependencies from github
*/
export class GithubDependencyResolver implements DependencyResolver {
export class GithubDependencyResolver implements NoirDependencyResolver {
#fm: FileManager;
#log = createDebugOnlyLogger('aztec:compile:github-dependency-resolver');

Expand All @@ -25,7 +25,7 @@ export class GithubDependencyResolver implements DependencyResolver {
* @param dependency - The dependency configuration
* @returns asd
*/
async resolveDependency(_pkg: NoirPackage, dependency: NoirDependencyConfig): Promise<Dependency | null> {
async resolveDependency(_pkg: NoirPackage, dependency: NoirDependencyConfig): Promise<NoirDependency | null> {
// TODO accept ssh urls?
// TODO github authentication?
if (!('git' in dependency) || !dependency.git.startsWith('https://github.com')) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import { dirname, join } from 'node:path';
import { FileManager } from '../file-manager/file-manager.js';
import { createMemFSFileManager } from '../file-manager/memfs-file-manager.js';
import { NoirPackage } from '../package.js';
import { DependencyResolver } from './dependency-resolver.js';
import { NoirDependencyResolver } from './dependency-resolver.js';
import { LocalDependencyResolver } from './local-dependency-resolver.js';

describe('DependencyResolver', () => {
let resolver: DependencyResolver;
let resolver: NoirDependencyResolver;
let fm: FileManager;
let pkg: NoirPackage;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ import { resolve } from 'path';

import { FileManager } from '../file-manager/file-manager.js';
import { NoirPackage } from '../package.js';
import { Dependency, DependencyResolver } from './dependency-resolver.js';
import { NoirDependency, NoirDependencyResolver } from './dependency-resolver.js';

/**
* Resolves dependencies on-disk, relative to current package
*/
export class LocalDependencyResolver implements DependencyResolver {
export class LocalDependencyResolver implements NoirDependencyResolver {
#fm: FileManager;

constructor(fm: FileManager) {
this.#fm = fm;
}

resolveDependency(pkg: NoirPackage, config: NoirDependencyConfig): Promise<Dependency | null> {
resolveDependency(pkg: NoirPackage, config: NoirDependencyConfig): Promise<NoirDependency | null> {
if ('path' in config) {
return Promise.resolve({
// unknown version, Nargo.toml doesn't have a version field
Expand Down

0 comments on commit 904d7cb

Please sign in to comment.