From a200ac43477401c754453735b0f811040e6524b4 Mon Sep 17 00:00:00 2001 From: Dusk Banks Date: Tue, 10 Dec 2024 18:44:51 -0800 Subject: [PATCH 1/4] refactor!: move to `App.run` --- packages/architect-core/src/index.mts | 3 ++- packages/architect-core/src/project.mts | 4 ---- packages/architect-k8s/src/index.mts | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/architect-core/src/index.mts b/packages/architect-core/src/index.mts index 8976f5e..5dbd205 100644 --- a/packages/architect-core/src/index.mts +++ b/packages/architect-core/src/index.mts @@ -3,6 +3,7 @@ import { Reflect } from "@dx/reflect"; import * as fs from 'node:fs/promises'; import path from 'node:path'; +import { App } from './cli/index.mts'; import { PluginRegistry } from './plugin.mts'; import { Target, TargetResolveParams } from './target.mts'; import winston from 'winston'; @@ -148,5 +149,5 @@ export class ArchitectCoreProject extends Project { }; if (import.meta.main) { - await Project.run(ArchitectCoreProject); + await App.run(ArchitectCoreProject); }; diff --git a/packages/architect-core/src/project.mts b/packages/architect-core/src/project.mts index 2ebd644..8510d85 100644 --- a/packages/architect-core/src/project.mts +++ b/packages/architect-core/src/project.mts @@ -109,10 +109,6 @@ export abstract class Project { public static decorate(model: ProjectConfig): (target: T) => void { return (target: T) => { new ProjectMetadata(model).assign(target); }; }; - - public static async run(ctor: ProjectClass): Promise { - await App.run(ctor); - }; } export class ProjectMetadata { diff --git a/packages/architect-k8s/src/index.mts b/packages/architect-k8s/src/index.mts index e9a10f5..0a62c2b 100644 --- a/packages/architect-k8s/src/index.mts +++ b/packages/architect-k8s/src/index.mts @@ -8,7 +8,7 @@ export * from './component.mts'; export * from './plugin.mts'; export * from './target.mts'; -import { Project, PluginClass } from "@perdition/architect-core"; +import { App, Project, PluginClass } from "@perdition/architect-core"; import * as components from "./components/index.mts"; import model from './../architect.json' with { type: 'json' }; @@ -26,5 +26,5 @@ export class ArchitectK8SProject extends Project { }; if (import.meta.main) { - await Project.run(ArchitectK8SProject); + await App.run(ArchitectK8SProject); }; From f50719ef79c7f7fafa608fb76fbac6c7fb6f8bd0 Mon Sep 17 00:00:00 2001 From: Alex Zero Date: Wed, 11 Dec 2024 02:56:04 +0000 Subject: [PATCH 2/4] feat: add GitHub action to lint and run tests --- .github/actions/test.yml | 29 +++++++++++++++++++ packages/architect-core/src/component.mts | 1 + packages/architect-core/src/utils/modules.mts | 1 + packages/architect-core/src/utils/types.mts | 1 + .../src/components/crds/index.mts | 8 ++--- 5 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 .github/actions/test.yml diff --git a/.github/actions/test.yml b/.github/actions/test.yml new file mode 100644 index 0000000..a73cbf2 --- /dev/null +++ b/.github/actions/test.yml @@ -0,0 +1,29 @@ +name: Test +on: + push: true + pull_request: true +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: denoland/setup-deno@v2 + with: + deno-version: v2.x + - name: Install dependencies + run: deno install + - name: Lint files + run: deno lint + - name: Typecheck files + run: deno task check + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: denoland/setup-deno@v2 + with: + deno-version: v2.x + - name: Install dependencies + run: deno install + - name: Run tests + run: deno task test diff --git a/packages/architect-core/src/component.mts b/packages/architect-core/src/component.mts index 1191562..9e99511 100644 --- a/packages/architect-core/src/component.mts +++ b/packages/architect-core/src/component.mts @@ -33,6 +33,7 @@ export interface ComponentArgs { export abstract class Component< TResult extends object = object, TArgs extends ComponentArgs = ComponentArgs, + // deno-lint-ignore no-explicit-any TParent extends Component = any, > { public context: Context; diff --git a/packages/architect-core/src/utils/modules.mts b/packages/architect-core/src/utils/modules.mts index 71060dc..e1aa1d6 100644 --- a/packages/architect-core/src/utils/modules.mts +++ b/packages/architect-core/src/utils/modules.mts @@ -6,6 +6,7 @@ export interface ModulePackageEntry { } export class ModuleUtilities { + // deno-lint-ignore no-explicit-any public static collectClasses(module: any, matcher: (clazz: constructor) => boolean): constructor[] { const result: constructor[] = []; diff --git a/packages/architect-core/src/utils/types.mts b/packages/architect-core/src/utils/types.mts index 37c81cf..1d1982f 100644 --- a/packages/architect-core/src/utils/types.mts +++ b/packages/architect-core/src/utils/types.mts @@ -4,6 +4,7 @@ export const NAMED_SYMBOL = Symbol.for('architect.Named'); * Constructor type, ported from tsyringe */ export type constructor = { + // deno-lint-ignore no-explicit-any new (...args: any[]): T; }; diff --git a/packages/architect-k8s/src/components/crds/index.mts b/packages/architect-k8s/src/components/crds/index.mts index c9c8805..485761b 100644 --- a/packages/architect-k8s/src/components/crds/index.mts +++ b/packages/architect-k8s/src/components/crds/index.mts @@ -1,7 +1,7 @@ -import * as fs from 'node:fs/promises'; -import path from 'node:path'; -import { GVK, notEmpty } from '@perdition/architect-core'; -import * as fg from 'fast-glob'; +// import * as fs from 'node:fs/promises'; +// import path from 'node:path'; +import { GVK } from '@perdition/architect-core'; +// import * as fg from 'fast-glob'; import * as api from 'kubernetes-models'; import { KubeComponent, KubeComponentGenericResources } from '../../component.mts'; From dfdde5b13be6157f2f0811f39ba5ac17f7ceeb9e Mon Sep 17 00:00:00 2001 From: Alex Zero Date: Wed, 11 Dec 2024 02:56:59 +0000 Subject: [PATCH 3/4] fix: oops, wrong folder name --- .github/{actions => workflows}/test.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{actions => workflows}/test.yml (100%) diff --git a/.github/actions/test.yml b/.github/workflows/test.yml similarity index 100% rename from .github/actions/test.yml rename to .github/workflows/test.yml From f2a7d5583d59f65907d009e5f2914e0cfbd68f39 Mon Sep 17 00:00:00 2001 From: Alex Zero Date: Wed, 11 Dec 2024 02:57:29 +0000 Subject: [PATCH 4/4] fix: syntax --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a73cbf2..f164189 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,7 +1,7 @@ name: Test on: - push: true - pull_request: true + push: {} + pull_request: {} jobs: lint: runs-on: ubuntu-latest