@akanjs/cli 0.0.80 → 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -2084,6 +2084,7 @@ var AiSession = class _AiSession {
2084
2084
 
2085
2085
  // pkgs/@akanjs/cli/src/library/library.runner.ts
2086
2086
  var import_compare_versions = require("compare-versions");
2087
+ var import_dotenv = __toESM(require("dotenv"));
2087
2088
  var LibraryRunner = class {
2088
2089
  async scanSync(lib) {
2089
2090
  const akanConfig = await lib.getConfig();
@@ -2136,13 +2137,30 @@ var LibraryRunner = class {
2136
2137
  );
2137
2138
  lib.logger.log(`${lib.name} library pulled from ${branch} branch`);
2138
2139
  }
2140
+ #getEnv(lib, env = {}) {
2141
+ const rootEnv = import_dotenv.default.parse(lib.workspace.readFile(".env"));
2142
+ return {
2143
+ ...process.env,
2144
+ ...rootEnv,
2145
+ NEXT_PUBLIC_APP_NAME: lib.name,
2146
+ AKAN_WORKSPACE_ROOT: lib.workspace.workspaceRoot,
2147
+ ...env
2148
+ };
2149
+ }
2139
2150
  async testLibrary(lib) {
2140
- await lib.workspace.spawn("node", [
2141
- "node_modules/jest/bin/jest.js",
2142
- `libs/${lib.name}`,
2143
- "-c",
2144
- `libs/${lib.name}/jest.config.ts`
2145
- ]);
2151
+ await lib.workspace.spawn(
2152
+ "node",
2153
+ ["node_modules/jest/bin/jest.js", `libs/${lib.name}`, "-c", `libs/${lib.name}/jest.config.ts`],
2154
+ {
2155
+ env: {
2156
+ ...this.#getEnv(lib),
2157
+ NEXT_PUBLIC_ENV: "testing",
2158
+ NEXT_PUBLIC_OPERATION_MODE: "local",
2159
+ NEXT_PUBLIC_APP_NAME: lib.name,
2160
+ NODE_TLS_REJECT_UNAUTHORIZED: "0"
2161
+ }
2162
+ }
2163
+ );
2146
2164
  }
2147
2165
  };
2148
2166
 
@@ -2186,7 +2204,7 @@ var import_prompts6 = require("@langchain/core/prompts");
2186
2204
  var import_runnables2 = require("@langchain/core/runnables");
2187
2205
  var import_openai3 = require("@langchain/openai");
2188
2206
  var import_plugin_react = __toESM(require("@vitejs/plugin-react"));
2189
- var import_dotenv = __toESM(require("dotenv"));
2207
+ var import_dotenv2 = __toESM(require("dotenv"));
2190
2208
  var esbuild = __toESM(require("esbuild"));
2191
2209
  var import_fs11 = __toESM(require("fs"));
2192
2210
  var import_promises2 = __toESM(require("fs/promises"));
@@ -3177,6 +3195,7 @@ var ApplicationRunner = class {
3177
3195
  }
3178
3196
  });
3179
3197
  workspace.setTsPaths("app", appName);
3198
+ return AppExecutor.from(workspace, appName);
3180
3199
  }
3181
3200
  async scanSync(app) {
3182
3201
  const akanConfig = await getAppConfig(app.cwdPath, { ...getBaseDevEnv(), appName: app.name, command: "serve" });
@@ -3184,20 +3203,21 @@ var ApplicationRunner = class {
3184
3203
  await app.syncAssets(scanResult.akanConfig.libs);
3185
3204
  return scanResult;
3186
3205
  }
3206
+ #getEnv(app, env = {}) {
3207
+ const rootEnv = import_dotenv2.default.parse(app.workspace.readFile(".env"));
3208
+ return {
3209
+ ...process.env,
3210
+ ...rootEnv,
3211
+ NEXT_PUBLIC_APP_NAME: app.name,
3212
+ AKAN_WORKSPACE_ROOT: app.workspace.workspaceRoot,
3213
+ ...env
3214
+ };
3215
+ }
3187
3216
  async #prepareCommand(app, distApp, type, target) {
3188
3217
  await distApp.exec(`rm -rf ${target}`);
3189
- const env = import_dotenv.default.parse(app.workspace.readFile(".env"));
3190
3218
  if (target === "frontend")
3191
3219
  app.writeFile("next.config.ts", defaultNextConfigFile);
3192
- return {
3193
- env: {
3194
- ...process.env,
3195
- ...env,
3196
- AKAN_COMMAND_TYPE: type,
3197
- NEXT_PUBLIC_APP_NAME: app.name,
3198
- AKAN_WORKSPACE_ROOT: app.workspace.workspaceRoot
3199
- }
3200
- };
3220
+ return { env: this.#getEnv(app, { AKAN_COMMAND_TYPE: type }) };
3201
3221
  }
3202
3222
  async buildBackend(app, distApp) {
3203
3223
  await this.#prepareCommand(app, distApp, "serve", "backend");
@@ -3636,12 +3656,19 @@ var ApplicationRunner = class {
3636
3656
  };
3637
3657
  }
3638
3658
  async testApplication(app) {
3639
- await app.workspace.spawn("node", [
3640
- "node_modules/jest/bin/jest.js",
3641
- `apps/${app.name}`,
3642
- "-c",
3643
- `apps/${app.name}/jest.config.ts`
3644
- ]);
3659
+ await app.workspace.spawn(
3660
+ "node",
3661
+ ["node_modules/jest/bin/jest.js", `apps/${app.name}`, "-c", `apps/${app.name}/jest.config.ts`],
3662
+ {
3663
+ env: {
3664
+ ...this.#getEnv(app),
3665
+ NEXT_PUBLIC_ENV: "testing",
3666
+ NEXT_PUBLIC_OPERATION_MODE: "local",
3667
+ NEXT_PUBLIC_APP_NAME: app.name,
3668
+ NODE_TLS_REJECT_UNAUTHORIZED: "0"
3669
+ }
3670
+ }
3671
+ );
3645
3672
  }
3646
3673
  };
3647
3674
 
@@ -3650,11 +3677,14 @@ var ApplicationScript = class {
3650
3677
  #runner = new ApplicationRunner();
3651
3678
  libraryScript = new LibraryScript();
3652
3679
  async createApplication(appName, workspace) {
3653
- await this.#runner.createApplication(appName, workspace);
3680
+ const app = await this.#runner.createApplication(appName, workspace);
3681
+ await this.syncApplication(app);
3654
3682
  }
3655
- async scanApplication(app) {
3683
+ async scanApplication(app, verbose = false) {
3656
3684
  const scanResult = await this.#runner.scanSync(app);
3657
- app.logger.rawLog(JSON.stringify(scanResult, null, 2));
3685
+ if (verbose)
3686
+ app.logger.rawLog(JSON.stringify(scanResult, null, 2));
3687
+ return scanResult;
3658
3688
  }
3659
3689
  async syncApplication(app, { recursive = true } = {}) {
3660
3690
  const scanResult = await this.#runner.scanSync(app);
@@ -3769,7 +3799,7 @@ var ApplicationCommand = class {
3769
3799
  async removeApplication(app, workspace) {
3770
3800
  }
3771
3801
  async scanApplication(app) {
3772
- await this.applicationScript.scanApplication(app);
3802
+ await this.applicationScript.scanApplication(app, true);
3773
3803
  }
3774
3804
  async build(app) {
3775
3805
  await this.applicationScript.build(app);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "@akanjs/cli",
4
- "version": "0.0.80",
4
+ "version": "0.0.82",
5
5
  "bin": {
6
6
  "akan": "index.js"
7
7
  },
@@ -1,4 +1,4 @@
1
- import { App, DistAppExecutor, type Workspace } from "@akanjs/devkit";
1
+ import { App, AppExecutor, DistAppExecutor, type Workspace } from "@akanjs/devkit";
2
2
  export interface ReleaseSourceOptions {
3
3
  rebuild?: boolean;
4
4
  buildNum?: number;
@@ -7,7 +7,7 @@ export interface ReleaseSourceOptions {
7
7
  }
8
8
  export declare class ApplicationRunner {
9
9
  #private;
10
- createApplication(appName: string, workspace: Workspace): Promise<void>;
10
+ createApplication(appName: string, workspace: Workspace): Promise<AppExecutor>;
11
11
  scanSync(app: App): Promise<import("@akanjs/config").AppScanResult | import("@akanjs/config").LibScanResult>;
12
12
  buildBackend(app: App, distApp: DistAppExecutor): Promise<void>;
13
13
  serveBackend(app: App, distApp: DistAppExecutor): Promise<void>;
@@ -6,7 +6,7 @@ export declare class ApplicationScript {
6
6
  #private;
7
7
  libraryScript: LibraryScript;
8
8
  createApplication(appName: string, workspace: Workspace): Promise<void>;
9
- scanApplication(app: App): Promise<void>;
9
+ scanApplication(app: App, verbose?: boolean): Promise<import("@akanjs/config").AppScanResult | import("@akanjs/config").LibScanResult>;
10
10
  syncApplication(app: App, { recursive }?: {
11
11
  recursive?: boolean;
12
12
  }): Promise<void>;
@@ -1,5 +1,6 @@
1
1
  import { Lib, LibExecutor, Workspace } from "@akanjs/devkit";
2
2
  export declare class LibraryRunner {
3
+ #private;
3
4
  scanSync(lib: Lib): Promise<import("@akanjs/config").AppScanResult | import("@akanjs/config").LibScanResult>;
4
5
  installLibrary(workspace: Workspace, libName: string): Promise<LibExecutor>;
5
6
  mergeLibraryDependencies(lib: Lib): Promise<void>;
@@ -15,6 +15,7 @@
15
15
  "eslint": "^9.19.0",
16
16
  "jest": "^29.7.0",
17
17
  "jiti": "^2.4.2",
18
- "prettier": "^3.5.3"
18
+ "prettier": "^3.5.3",
19
+ "ts-jest": "^29.3.4"
19
20
  }
20
21
  }