@tailorkit/app 0.1.0-beta.3 → 0.1.0-beta.33

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.
Files changed (58) hide show
  1. package/LICENSE.md +74 -0
  2. package/README.md +115 -0
  3. package/dist/chunk-7ZQPXG7O.js +34 -0
  4. package/dist/chunk-PJBDA2RU.js +415 -0
  5. package/dist/chunk-UDXPIO6D.js +618 -0
  6. package/dist/chunk-YX3JURMG.js +262 -0
  7. package/dist/client/connection.d.ts +31 -0
  8. package/dist/client/query-store.d.ts +23 -0
  9. package/dist/client/reference.d.ts +20 -0
  10. package/dist/client/session.d.ts +41 -0
  11. package/dist/client/tools.d.ts +16 -0
  12. package/dist/client-connection.js +16 -0
  13. package/dist/client.d.ts +11 -0
  14. package/dist/client.js +40 -0
  15. package/dist/database/definition.d.ts +8 -0
  16. package/dist/database/schema.d.ts +78 -0
  17. package/dist/database/types.d.ts +8 -0
  18. package/dist/errors.d.ts +6 -0
  19. package/dist/index.d.ts +2 -72
  20. package/dist/index.js +91 -76
  21. package/dist/preact.d.ts +52 -0
  22. package/dist/protocol.d.ts +74 -0
  23. package/dist/protocol.js +30 -0
  24. package/dist/routing.d.ts +34 -0
  25. package/dist/server/builder.d.ts +45 -0
  26. package/dist/server/bundle.d.ts +12 -0
  27. package/dist/server/functions.d.ts +105 -0
  28. package/dist/server/instances.d.ts +17 -0
  29. package/dist/server.d.ts +11 -0
  30. package/dist/server.js +60 -0
  31. package/dist/views.d.ts +126 -0
  32. package/package.json +56 -34
  33. package/LICENSE +0 -674
  34. package/dist/builder/index.d.ts +0 -11
  35. package/dist/builder/index.d.ts.map +0 -1
  36. package/dist/builder/upload-manifest.d.ts +0 -10
  37. package/dist/builder/upload-manifest.d.ts.map +0 -1
  38. package/dist/builder.js +0 -135
  39. package/dist/chunk-7L6ZZHCK.js +0 -26
  40. package/dist/chunk-AGGRUUWG.js +0 -22
  41. package/dist/config/config.d.ts +0 -17
  42. package/dist/config/config.d.ts.map +0 -1
  43. package/dist/config/index.d.ts +0 -2
  44. package/dist/config/index.d.ts.map +0 -1
  45. package/dist/config/loader.d.ts +0 -8
  46. package/dist/config/loader.d.ts.map +0 -1
  47. package/dist/config-loader.js +0 -7
  48. package/dist/config.js +0 -8
  49. package/dist/index.d.ts.map +0 -1
  50. package/dist/preact-version.d.ts +0 -8
  51. package/dist/preact-version.d.ts.map +0 -1
  52. package/src/builder/index.ts +0 -116
  53. package/src/builder/upload-manifest.ts +0 -18
  54. package/src/config/config.ts +0 -24
  55. package/src/config/index.ts +0 -1
  56. package/src/config/loader.ts +0 -35
  57. package/src/index.ts +0 -206
  58. package/src/preact-version.ts +0 -31
@@ -1,11 +0,0 @@
1
- export { createTailorKitUploadManifest, tailorkitUploadManifestSchema, type TailorKitUploadManifest, } from "./upload-manifest";
2
- export interface BuildAppOptions {
3
- configPath?: string;
4
- cwd?: string;
5
- entry?: string;
6
- mode?: string;
7
- outDir?: string;
8
- watch?: boolean;
9
- }
10
- export declare const buildApp: (options?: BuildAppOptions) => Promise<unknown>;
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builder/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,QAAQ,aAAmB,eAAe,KAAQ,OAAO,CAAC,OAAO,CAoE7E,CAAC"}
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- export declare const tailorkitUploadManifestSchema: z.ZodObject<{
3
- assets: z.ZodObject<{
4
- client: z.ZodLiteral<"client.js">;
5
- }, z.core.$strip>;
6
- version: z.ZodLiteral<1>;
7
- }, z.core.$strip>;
8
- export type TailorKitUploadManifest = z.output<typeof tailorkitUploadManifestSchema>;
9
- export declare const createTailorKitUploadManifest: () => TailorKitUploadManifest;
10
- //# sourceMappingURL=upload-manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-manifest.d.ts","sourceRoot":"","sources":["../../src/builder/upload-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAErF,eAAO,MAAM,6BAA6B,QAAO,uBAM7C,CAAC"}
package/dist/builder.js DELETED
@@ -1,135 +0,0 @@
1
- import {
2
- loadTailorKitConfig
3
- } from "./chunk-7L6ZZHCK.js";
4
- import "./chunk-AGGRUUWG.js";
5
-
6
- // src/builder/index.ts
7
- import path from "path";
8
- import { createRequire } from "module";
9
- import { writeFile } from "fs/promises";
10
- import { build as viteBuild } from "vite";
11
-
12
- // src/preact-version.ts
13
- var MINIMUM_PREACT_MAJOR_VERSION = 10;
14
- var parsePreactVersion = (version) => {
15
- const match = /^(\d+)\./u.exec(version);
16
- if (!match?.[1]) {
17
- throw new Error(`Unable to parse Preact version "${version}".`);
18
- }
19
- return {
20
- major: Number.parseInt(match[1], 10),
21
- version
22
- };
23
- };
24
- var assertSupportedPreactVersion = (version) => {
25
- const check = parsePreactVersion(version);
26
- if (check.major < MINIMUM_PREACT_MAJOR_VERSION) {
27
- throw new Error(
28
- `TailorKit requires Preact ${MINIMUM_PREACT_MAJOR_VERSION}.0.0 or newer, but found ${version}.`
29
- );
30
- }
31
- return check;
32
- };
33
-
34
- // src/builder/upload-manifest.ts
35
- import { z } from "zod";
36
- var tailorkitUploadManifestSchema = z.object({
37
- assets: z.object({
38
- client: z.literal("client.js")
39
- }),
40
- version: z.literal(1)
41
- });
42
- var createTailorKitUploadManifest = () => tailorkitUploadManifestSchema.parse({
43
- assets: {
44
- client: "client.js"
45
- },
46
- version: 1
47
- });
48
-
49
- // src/builder/index.ts
50
- var preactExternal = /^preact(?:\/.*)?$/u;
51
- var preactPackageJson = "preact/package.json";
52
- var preactPackageJsonModuleId = "\0tailorkit-preact-package-json";
53
- var buildApp = async (options = {}) => {
54
- const loaded = await loadTailorKitConfig(options.configPath, options.cwd);
55
- const entry = options.entry ?? loaded.config.client?.entry ?? "./src/client.ts";
56
- const outDir = options.outDir ?? loaded.config.build?.outDir ?? ".tailorkit";
57
- const preactVersion = getInstalledPreactVersion(loaded.root);
58
- assertSupportedPreactVersion(preactVersion);
59
- const resolvedOutDir = path.resolve(loaded.root, outDir);
60
- const result = await viteBuild({
61
- build: {
62
- emptyOutDir: true,
63
- lib: {
64
- entry: path.resolve(loaded.root, entry),
65
- fileName: "client",
66
- formats: ["es"]
67
- },
68
- outDir: resolvedOutDir,
69
- watch: options.watch ? {} : null,
70
- minify: "oxc",
71
- rollupOptions: {
72
- external: (id) => id !== preactPackageJson && id !== preactPackageJsonModuleId && preactExternal.test(id),
73
- output: {
74
- comments: {
75
- annotation: false,
76
- jsdoc: false,
77
- legal: false
78
- },
79
- minify: true,
80
- minifyInternalExports: true
81
- }
82
- }
83
- },
84
- configFile: false,
85
- mode: options.mode,
86
- plugins: [
87
- {
88
- name: "tailorkit-preact-package-json",
89
- enforce: "pre",
90
- resolveId(id) {
91
- if (id === preactPackageJson) {
92
- return preactPackageJsonModuleId;
93
- }
94
- return null;
95
- },
96
- load(id) {
97
- if (id === preactPackageJsonModuleId) {
98
- const version = JSON.stringify(preactVersion);
99
- return `export const version = ${version}; export default { version: ${version} };`;
100
- }
101
- return null;
102
- }
103
- }
104
- ],
105
- root: loaded.root
106
- });
107
- await writeFile(
108
- path.join(resolvedOutDir, "tailorkit-upload.json"),
109
- `${JSON.stringify(createTailorKitUploadManifest(), null, 2)}
110
- `,
111
- "utf-8"
112
- );
113
- return result;
114
- };
115
- function getInstalledPreactVersion(root) {
116
- const require2 = createRequire(path.join(root, "package.json"));
117
- try {
118
- const packageJsonPath = require2.resolve("preact/package.json");
119
- const packageJson = require2(packageJsonPath);
120
- if (typeof packageJson.version === "string") {
121
- return packageJson.version;
122
- }
123
- } catch (error) {
124
- throw new Error(
125
- `TailorKit requires Preact to build an app. Install preact@^10 and try again.`,
126
- { cause: error }
127
- );
128
- }
129
- throw new Error("Unable to read the installed Preact version.");
130
- }
131
- export {
132
- buildApp,
133
- createTailorKitUploadManifest,
134
- tailorkitUploadManifestSchema
135
- };
@@ -1,26 +0,0 @@
1
- import {
2
- tailorkitConfigSchema
3
- } from "./chunk-AGGRUUWG.js";
4
-
5
- // src/config/loader.ts
6
- import { cosmiconfig } from "cosmiconfig";
7
- import path from "path";
8
- var explorer = cosmiconfig("tailorkit", {
9
- searchPlaces: ["tailorkit.config.ts", "tailorkit.config.mjs", "tailorkit.config.js"]
10
- });
11
- var loadTailorKitConfig = async (configPath, cwd = process.cwd()) => {
12
- const searchFrom = path.resolve(cwd);
13
- const result = configPath === void 0 ? await explorer.search(searchFrom) : await explorer.load(path.resolve(searchFrom, configPath));
14
- if (result === null) {
15
- throw new Error(`Could not find tailorkit config from ${searchFrom}.`);
16
- }
17
- return {
18
- config: tailorkitConfigSchema.parse(result.config),
19
- filepath: result.filepath,
20
- root: path.dirname(result.filepath)
21
- };
22
- };
23
-
24
- export {
25
- loadTailorKitConfig
26
- };
@@ -1,22 +0,0 @@
1
- // src/config/config.ts
2
- import { z } from "zod";
3
- var clientConfigSchema = z.object({
4
- entry: z.string().default("./src/client.ts")
5
- });
6
- var buildConfigSchema = z.object({
7
- outDir: z.string().default(".tailorkit")
8
- });
9
- var tailorkitConfigSchema = z.object({
10
- appId: z.string().min(1).optional(),
11
- build: buildConfigSchema.optional(),
12
- client: clientConfigSchema.optional(),
13
- host: z.string().url()
14
- });
15
- var defineConfig = (config) => config;
16
- var defineTailorKitConfig = defineConfig;
17
-
18
- export {
19
- tailorkitConfigSchema,
20
- defineConfig,
21
- defineTailorKitConfig
22
- };
@@ -1,17 +0,0 @@
1
- import { z } from "zod";
2
- declare const tailorkitConfigSchema: z.ZodObject<{
3
- appId: z.ZodOptional<z.ZodString>;
4
- build: z.ZodOptional<z.ZodObject<{
5
- outDir: z.ZodDefault<z.ZodString>;
6
- }, z.core.$strip>>;
7
- client: z.ZodOptional<z.ZodObject<{
8
- entry: z.ZodDefault<z.ZodString>;
9
- }, z.core.$strip>>;
10
- host: z.ZodString;
11
- }, z.core.$strip>;
12
- export type TailorKitConfig = z.input<typeof tailorkitConfigSchema>;
13
- export type ResolvedTailorKitConfig = z.output<typeof tailorkitConfigSchema>;
14
- export { tailorkitConfigSchema };
15
- export declare const defineConfig: (config: TailorKitConfig) => TailorKitConfig;
16
- export declare const defineTailorKitConfig: typeof defineConfig;
17
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,QAAA,MAAM,qBAAqB;;;;;;;;;iBAKzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,eAAO,MAAM,YAAY,WAAY,eAAe,KAAG,eAAyB,CAAC;AACjF,eAAO,MAAM,qBAAqB,qBAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { defineConfig, defineTailorKitConfig, type TailorKitConfig } from "./config";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { ResolvedTailorKitConfig } from "./config";
2
- export interface LoadedTailorKitConfig {
3
- config: ResolvedTailorKitConfig;
4
- filepath: string;
5
- root: string;
6
- }
7
- export declare const loadTailorKitConfig: (configPath: string | undefined, cwd?: string) => Promise<LoadedTailorKitConfig>;
8
- //# sourceMappingURL=loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGxD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,eAAO,MAAM,mBAAmB,eAClB,MAAM,GAAG,SAAS,mBAE7B,OAAO,CAAC,qBAAqB,CAgB/B,CAAC"}
@@ -1,7 +0,0 @@
1
- import {
2
- loadTailorKitConfig
3
- } from "./chunk-7L6ZZHCK.js";
4
- import "./chunk-AGGRUUWG.js";
5
- export {
6
- loadTailorKitConfig
7
- };
package/dist/config.js DELETED
@@ -1,8 +0,0 @@
1
- import {
2
- defineConfig,
3
- defineTailorKitConfig
4
- } from "./chunk-AGGRUUWG.js";
5
- export {
6
- defineConfig,
7
- defineTailorKitConfig
8
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export declare const MINIMUM_PREACT_MAJOR_VERSION = 10;
2
- export interface PreactVersionCheck {
3
- major: number;
4
- version: string;
5
- }
6
- export declare const parsePreactVersion: (version: string) => PreactVersionCheck;
7
- export declare const assertSupportedPreactVersion: (version: string) => PreactVersionCheck;
8
- //# sourceMappingURL=preact-version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preact-version.d.ts","sourceRoot":"","sources":["../src/preact-version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,kBAWpD,CAAC;AAEF,eAAO,MAAM,4BAA4B,YAAa,MAAM,KAAG,kBAU9D,CAAC"}
@@ -1,116 +0,0 @@
1
- import path from "node:path";
2
- import { createRequire } from "node:module";
3
- import { writeFile } from "node:fs/promises";
4
- import { build as viteBuild } from "vite";
5
- import { loadTailorKitConfig } from "../config/loader";
6
- import { assertSupportedPreactVersion } from "../preact-version";
7
- import { createTailorKitUploadManifest } from "./upload-manifest";
8
-
9
- export {
10
- createTailorKitUploadManifest,
11
- tailorkitUploadManifestSchema,
12
- type TailorKitUploadManifest,
13
- } from "./upload-manifest";
14
-
15
- const preactExternal = /^preact(?:\/.*)?$/u;
16
- const preactPackageJson = "preact/package.json";
17
- const preactPackageJsonModuleId = "\0tailorkit-preact-package-json";
18
-
19
- export interface BuildAppOptions {
20
- configPath?: string;
21
- cwd?: string;
22
- entry?: string;
23
- mode?: string;
24
- outDir?: string;
25
- watch?: boolean;
26
- }
27
-
28
- export const buildApp = async (options: BuildAppOptions = {}): Promise<unknown> => {
29
- const loaded = await loadTailorKitConfig(options.configPath, options.cwd);
30
- const entry = options.entry ?? loaded.config.client?.entry ?? "./src/client.ts";
31
- const outDir = options.outDir ?? loaded.config.build?.outDir ?? ".tailorkit";
32
- const preactVersion = getInstalledPreactVersion(loaded.root);
33
-
34
- assertSupportedPreactVersion(preactVersion);
35
-
36
- const resolvedOutDir = path.resolve(loaded.root, outDir);
37
- const result = await viteBuild({
38
- build: {
39
- emptyOutDir: true,
40
- lib: {
41
- entry: path.resolve(loaded.root, entry),
42
- fileName: "client",
43
- formats: ["es"],
44
- },
45
- outDir: resolvedOutDir,
46
- watch: options.watch ? {} : null,
47
- minify: "oxc",
48
- rollupOptions: {
49
- external: (id) =>
50
- id !== preactPackageJson && id !== preactPackageJsonModuleId && preactExternal.test(id),
51
- output: {
52
- comments: {
53
- annotation: false,
54
- jsdoc: false,
55
- legal: false,
56
- },
57
- minify: true,
58
- minifyInternalExports: true,
59
- },
60
- },
61
- },
62
- configFile: false,
63
- mode: options.mode,
64
- plugins: [
65
- {
66
- name: "tailorkit-preact-package-json",
67
- enforce: "pre",
68
- resolveId(id) {
69
- if (id === preactPackageJson) {
70
- return preactPackageJsonModuleId;
71
- }
72
-
73
- return null;
74
- },
75
- load(id) {
76
- if (id === preactPackageJsonModuleId) {
77
- const version = JSON.stringify(preactVersion);
78
-
79
- return `export const version = ${version}; export default { version: ${version} };`;
80
- }
81
-
82
- return null;
83
- },
84
- },
85
- ],
86
- root: loaded.root,
87
- });
88
-
89
- await writeFile(
90
- path.join(resolvedOutDir, "tailorkit-upload.json"),
91
- `${JSON.stringify(createTailorKitUploadManifest(), null, 2)}\n`,
92
- "utf-8",
93
- );
94
-
95
- return result;
96
- };
97
-
98
- function getInstalledPreactVersion(root: string): string {
99
- const require = createRequire(path.join(root, "package.json"));
100
-
101
- try {
102
- const packageJsonPath = require.resolve("preact/package.json");
103
- const packageJson = require(packageJsonPath) as { version?: unknown };
104
-
105
- if (typeof packageJson.version === "string") {
106
- return packageJson.version;
107
- }
108
- } catch (error) {
109
- throw new Error(
110
- `TailorKit requires Preact to build an app. Install preact@^10 and try again.`,
111
- { cause: error },
112
- );
113
- }
114
-
115
- throw new Error("Unable to read the installed Preact version.");
116
- }
@@ -1,18 +0,0 @@
1
- import { z } from "zod";
2
-
3
- export const tailorkitUploadManifestSchema = z.object({
4
- assets: z.object({
5
- client: z.literal("client.js"),
6
- }),
7
- version: z.literal(1),
8
- });
9
-
10
- export type TailorKitUploadManifest = z.output<typeof tailorkitUploadManifestSchema>;
11
-
12
- export const createTailorKitUploadManifest = (): TailorKitUploadManifest =>
13
- tailorkitUploadManifestSchema.parse({
14
- assets: {
15
- client: "client.js",
16
- },
17
- version: 1,
18
- });
@@ -1,24 +0,0 @@
1
- import { z } from "zod";
2
-
3
- const clientConfigSchema = z.object({
4
- entry: z.string().default("./src/client.ts"),
5
- });
6
-
7
- const buildConfigSchema = z.object({
8
- outDir: z.string().default(".tailorkit"),
9
- });
10
-
11
- const tailorkitConfigSchema = z.object({
12
- appId: z.string().min(1).optional(),
13
- build: buildConfigSchema.optional(),
14
- client: clientConfigSchema.optional(),
15
- host: z.string().url(),
16
- });
17
-
18
- export type TailorKitConfig = z.input<typeof tailorkitConfigSchema>;
19
- export type ResolvedTailorKitConfig = z.output<typeof tailorkitConfigSchema>;
20
-
21
- export { tailorkitConfigSchema };
22
-
23
- export const defineConfig = (config: TailorKitConfig): TailorKitConfig => config;
24
- export const defineTailorKitConfig = defineConfig;
@@ -1 +0,0 @@
1
- export { defineConfig, defineTailorKitConfig, type TailorKitConfig } from "./config";
@@ -1,35 +0,0 @@
1
- import { cosmiconfig } from "cosmiconfig";
2
- import path from "node:path";
3
- import type { ResolvedTailorKitConfig } from "./config";
4
- import { tailorkitConfigSchema } from "./config";
5
-
6
- export interface LoadedTailorKitConfig {
7
- config: ResolvedTailorKitConfig;
8
- filepath: string;
9
- root: string;
10
- }
11
-
12
- const explorer = cosmiconfig("tailorkit", {
13
- searchPlaces: ["tailorkit.config.ts", "tailorkit.config.mjs", "tailorkit.config.js"],
14
- });
15
-
16
- export const loadTailorKitConfig = async (
17
- configPath: string | undefined,
18
- cwd = process.cwd(),
19
- ): Promise<LoadedTailorKitConfig> => {
20
- const searchFrom = path.resolve(cwd);
21
- const result =
22
- configPath === undefined
23
- ? await explorer.search(searchFrom)
24
- : await explorer.load(path.resolve(searchFrom, configPath));
25
-
26
- if (result === null) {
27
- throw new Error(`Could not find tailorkit config from ${searchFrom}.`);
28
- }
29
-
30
- return {
31
- config: tailorkitConfigSchema.parse(result.config),
32
- filepath: result.filepath,
33
- root: path.dirname(result.filepath),
34
- };
35
- };