@effect-app/cli 1.24.0 → 1.26.0

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 (37) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/gist.d.ts +231 -0
  3. package/dist/gist.d.ts.map +1 -0
  4. package/dist/gist.js +447 -0
  5. package/dist/index.js +35 -65
  6. package/dist/os-command.d.ts +18 -0
  7. package/dist/os-command.d.ts.map +1 -0
  8. package/dist/os-command.js +47 -0
  9. package/package.json +12 -18
  10. package/src/gist.ts +615 -0
  11. package/src/index.ts +50 -73
  12. package/src/os-command.ts +63 -0
  13. package/test.gists.yaml +20 -0
  14. package/dist/link.d.ts +0 -2
  15. package/dist/link.d.ts.map +0 -1
  16. package/dist/link.js +0 -17
  17. package/dist/old.d.ts +0 -2
  18. package/dist/old.d.ts.map +0 -1
  19. package/dist/old.js +0 -246
  20. package/dist/sync.d.ts +0 -2
  21. package/dist/sync.d.ts.map +0 -1
  22. package/dist/sync.js +0 -16
  23. package/dist/unlink.d.ts +0 -2
  24. package/dist/unlink.d.ts.map +0 -1
  25. package/dist/unlink.js +0 -13
  26. package/src/link.ts +0 -20
  27. package/src/old.ts +0 -283
  28. package/src/sync.ts +0 -17
  29. package/src/unlink.ts +0 -14
  30. package/vitest.config.ts.timestamp-1709838404819-f2fb28517168c.mjs +0 -33
  31. package/vitest.config.ts.timestamp-1709838418683-9c399c96f9d78.mjs +0 -33
  32. package/vitest.config.ts.timestamp-1709838649058-0e8f9431c893d.mjs +0 -33
  33. package/vitest.config.ts.timestamp-1711724061889-4985ba59def8.mjs +0 -37
  34. package/vitest.config.ts.timestamp-1711743471019-3c5e0c6ca2188.mjs +0 -37
  35. package/vitest.config.ts.timestamp-1711743489536-5ca18d3f67759.mjs +0 -37
  36. package/vitest.config.ts.timestamp-1711743593444-e40a8dcd4fc31.mjs +0 -37
  37. package/vitest.config.ts.timestamp-1711744615239-6a156fd39b9c9.mjs +0 -37
@@ -1 +0,0 @@
1
- {"version":3,"file":"unlink.d.ts","sourceRoot":"","sources":["../src/unlink.ts"],"names":[],"mappings":""}
package/dist/unlink.js DELETED
@@ -1,13 +0,0 @@
1
- import cp from "child_process";
2
- import fs from "fs";
3
- import { packages } from "./shared.js";
4
- const pj = (await import(process.cwd() + "/package.json", { with: { type: "json" } })).default;
5
- pj.resolutions = Object.entries(pj.resolutions).reduce((acc, [k, v]) => {
6
- if (k.startsWith("@effect-app/") || k === "effect-app" || packages.includes(k))
7
- return acc;
8
- acc[k] = v;
9
- return acc;
10
- }, {});
11
- fs.writeFileSync("./package.json", JSON.stringify(pj, null, 2));
12
- cp.execSync("pnpm i", { stdio: "inherit" });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3VubGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDOUIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUM5RixFQUFFLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFdBQXFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUMvRixJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLFlBQVksSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFBO0lBQzFGLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDVixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUE7QUFFaEMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUUvRCxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBIn0=
package/src/link.ts DELETED
@@ -1,20 +0,0 @@
1
- import cp from "child_process"
2
- import fs from "fs"
3
- import { EFFECT_APP_LIBS, packages } from "./shared.js"
4
-
5
- const pj = (await import(process.cwd() + "/package.json", { with: { type: "json" } })).default
6
-
7
- pj.resolutions = {
8
- ...pj.resolutions,
9
- "@effect-app/eslint-codegen-model": "file:" + EFFECT_APP_LIBS + "/packages/eslint-codegen-model",
10
- "effect-app": "file:" + EFFECT_APP_LIBS + "/packages/effect-app",
11
- "@effect-app/infra": "file:" + EFFECT_APP_LIBS + "/packages/infra",
12
- "@effect-app/vue": "file:" + EFFECT_APP_LIBS + "/packages/vue",
13
- "@effect-app/vue-components": "file:" + EFFECT_APP_LIBS + "/packages/vue-components",
14
- // TODO: with hard links why would this be needed?
15
- ...packages.reduce((acc, p) => ({ ...acc, [p]: `file:${EFFECT_APP_LIBS}/node_modules/${p}` }), {})
16
- }
17
-
18
- fs.writeFileSync("./package.json", JSON.stringify(pj, null, 2))
19
-
20
- cp.execSync("pnpm i", { stdio: "inherit" })
package/src/old.ts DELETED
@@ -1,283 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
- import cp from "child_process"
4
- import fs from "fs"
5
- import w from "node-watch"
6
- import path from "path"
7
- import readline from "readline/promises"
8
- import { sync } from "./sync.js"
9
-
10
- function askQuestion(query: string) {
11
- const rl = readline.createInterface({
12
- input: process.stdin,
13
- output: process.stdout
14
- })
15
-
16
- return rl.question(query)
17
- }
18
-
19
- const _cmd = process.argv[2]
20
- const supportedCommands = [
21
- "watch",
22
- "index",
23
- "index-multi",
24
- "packagejson",
25
- "packagejson-target",
26
- "packagejson-packages",
27
- "link",
28
- "unlink",
29
- "sync",
30
- "ncu:effect",
31
- "ncu:effect-app"
32
- ] as const
33
- if (
34
- !supportedCommands.includes(_cmd as any)
35
- ) {
36
- console.log("unknown command: ", _cmd, "supported commands: ", supportedCommands.join(", "))
37
- process.exit(1)
38
- }
39
-
40
- const cmd = _cmd as typeof supportedCommands[number]
41
-
42
- const debug = process.argv.includes("--debug")
43
-
44
- function touch(path: string) {
45
- const time = new Date()
46
- try {
47
- fs.utimesSync(path, time, time)
48
- } catch (err) {
49
- fs.closeSync(fs.openSync(path, "w"))
50
- }
51
- }
52
-
53
- function* monitorIndexes_(path: string) {
54
- yield monitorChildIndexes(path)
55
- const indexFile = path + "/index.ts"
56
- if (fs.existsSync(indexFile)) {
57
- yield monitorRootIndexes(path, indexFile)
58
- }
59
- }
60
-
61
- function monitorIndexes(path: string) {
62
- return [...monitorIndexes_(path)]
63
- }
64
-
65
- function monitorChildIndexes(path: string) {
66
- return w.default(path, { recursive: true }, (evt, path) => {
67
- const pathParts = path.split("/")
68
- const isController = pathParts[pathParts.length - 1]?.toLowerCase().includes(".controllers.")
69
- if (!isController) return
70
-
71
- let i = 1
72
- const r = pathParts.toReversed()
73
- while (i < r.length) {
74
- const files = ["controllers.ts", "routes.ts"]
75
- .map((f) => [...pathParts.slice(0, pathParts.length - i), f].join("/"))
76
- .filter((f) => fs.existsSync(f))
77
- if (files.length) {
78
- if (debug) {
79
- console.log("change!", evt, path, files)
80
- }
81
- cp.execSync(`cd api && pnpm eslint --fix ${files.map((_) => `"../${_}"`).join(" ")}`)
82
- break
83
- }
84
- i++
85
- }
86
- })
87
- }
88
-
89
- function monitorRootIndexes(path: string, indexFile: string) {
90
- return w.default(path, (_, path) => {
91
- if (path.endsWith(indexFile)) return
92
- // const dirName = pathParts[pathParts.length - 2]!
93
- // console.log("change!", evt, path, dirName, indexFile)
94
- cp.execSync(`pnpm eslint --fix "${indexFile}"`)
95
- })
96
- }
97
-
98
- // TODO: cache, don't do things when it already existed before, so only file is updated, not created.
99
-
100
- const startDir = process.cwd()
101
-
102
- function packagejson(p: string, levels = 0) {
103
- const curDir = process.cwd()
104
- let r = ""
105
- // TODO: no chdir!
106
- try {
107
- process.chdir(path.resolve(startDir, p))
108
- r = cp.execSync(`sh ${p === "." ? "../.." : startDir}/scripts/extract.sh`, { encoding: "utf-8" })
109
- } finally {
110
- process.chdir(curDir)
111
- }
112
-
113
- const s = r.split("\n").sort((a, b) => a < b ? -1 : 1).join("\n")
114
- const items = JSON.parse(`{${s.substring(0, s.length - 1)} }`) as Record<string, unknown>
115
-
116
- const pkg = JSON.parse(fs.readFileSync(p + "/package.json", "utf-8"))
117
- const t = levels
118
- ? Object
119
- .keys(items)
120
- .filter((_) => _.split("/").length <= (levels + 1 /* `./` */))
121
- .reduce((prev, cur) => {
122
- prev[cur] = items[cur]
123
- return prev
124
- }, {} as Record<string, unknown>)
125
- : items
126
-
127
- const exps = {
128
- ...(fs.existsSync(p + "/src/index.ts")
129
- ? {
130
- ".": {
131
- "types": "./dist/index.d.ts",
132
- "default": "./dist/index.js"
133
- }
134
- }
135
- : undefined),
136
- ...Object
137
- .keys(t)
138
- .reduce((prev, cur) => {
139
- if (cur !== "./index" && !cur.includes("/internal/")) prev[cur] = t[cur]
140
- return prev
141
- }, {} as Record<string, unknown>)
142
- // ...pkg.name === "effect-app" ? {
143
- // "./types/awesome": { "types": "./types/awesome.d.ts" }
144
- // } : {},
145
- }
146
- pkg.exports = exps
147
- fs.writeFileSync(p + "/package.json", JSON.stringify(pkg, null, 2))
148
- }
149
-
150
- function monitorPackagejson(path: string, levels = 0) {
151
- packagejson(path, levels)
152
- w.default(path + "/src", { recursive: true }, (_, __) => {
153
- packagejson(path, levels)
154
- })
155
- }
156
-
157
- function updateEffectAppPackages() {
158
- const filters = ["effect-app", "@effect-app/*"]
159
- for (const filter of filters) {
160
- cp.execSync(`pnpm exec ncu -u --filter "${filter}"`, { stdio: "inherit" })
161
- cp.execSync(`pnpm -r exec ncu -u --filter "${filter}"`, { stdio: "inherit" })
162
- }
163
- }
164
-
165
- function updateEffectPackages() {
166
- const effectFilters = ["effect", "@effect/*", "@effect-atom/*"]
167
- for (const filter of effectFilters) {
168
- cp.execSync(`pnpm exec ncu -u --filter "${filter}"`, { stdio: "inherit" })
169
- cp.execSync(`pnpm -r exec ncu -u --filter "${filter}"`, { stdio: "inherit" })
170
- }
171
-
172
- updateEffectAppPackages()
173
- }
174
-
175
- ;(async () => {
176
- let cmds = process.argv.slice(3).filter((_) => _ !== "--debug")
177
- switch (cmd) {
178
- case "link":
179
- await import("./link.js")
180
- break
181
- case "unlink":
182
- await import("./unlink.js")
183
- break
184
- case "watch": {
185
- const dirs = ["../api/src/resources", "../api/src/models"]
186
- const viteConfigFile = "./vite.config.ts"
187
- const viteConfigExists = fs.existsSync(viteConfigFile)
188
- dirs.forEach((d) => {
189
- if (fs.existsSync(d)) {
190
- const files: string[] = []
191
- w.default(d, { recursive: true }, (t, f) => {
192
- // console.log("change!", d)
193
- touch("./tsconfig.json")
194
- if (viteConfigExists && t === "update" && !files.includes(f)) {
195
- // TODO: only on new files
196
- touch(viteConfigFile)
197
- files.push(f)
198
- }
199
- })
200
- }
201
- })
202
-
203
- break
204
- }
205
-
206
- case "index-multi": {
207
- ;[
208
- "./api/src"
209
- ]
210
- .filter(
211
- (_) => fs.existsSync(_)
212
- )
213
- .forEach(monitorIndexes)
214
- break
215
- }
216
-
217
- case "index": {
218
- monitorIndexes("./src")
219
- break
220
- }
221
-
222
- case "packagejson": {
223
- monitorPackagejson(".")
224
- break
225
- }
226
-
227
- case "packagejson-target": {
228
- const target = process.argv[3]!
229
- target.split(",").forEach((_) => monitorPackagejson(_, 1))
230
- cmds = process.argv.slice(4)
231
- break
232
- }
233
-
234
- case "packagejson-packages": {
235
- fs
236
- .readdirSync(startDir + "/packages")
237
- .map((_) => startDir + "/packages/" + _)
238
- .filter((_) =>
239
- fs.existsSync(_ + "/package.json")
240
- && fs.existsSync(_ + "/src")
241
- && !_.endsWith("eslint-codegen-model")
242
- && !_.endsWith("vue-components")
243
- )
244
- .forEach((_) => monitorPackagejson(_))
245
- break
246
- }
247
-
248
- case "sync": {
249
- console.log("Sync all snippets?")
250
-
251
- await askQuestion("Are you sure you want to sync snippets")
252
- await sync()
253
- return process.exit(0)
254
- }
255
-
256
- case "ncu:effect": {
257
- console.log("Updating effect & effect-app dependencies...")
258
-
259
- updateEffectPackages()
260
-
261
- cp.execSync("pnpm i", { stdio: "inherit" })
262
-
263
- break
264
- }
265
-
266
- case "ncu:effect-app": {
267
- console.log("Updating effect-app dependencies...")
268
-
269
- updateEffectAppPackages()
270
-
271
- cp.execSync("pnpm i", { stdio: "inherit" })
272
-
273
- break
274
- }
275
- }
276
-
277
- if (cmds.length) {
278
- const p = cp.spawn(cmds[0]!, cmds.slice(1), { stdio: "inherit" })
279
- p.on("close", (code) => process.exit(code ?? 0))
280
- p.on("exit", (code) => process.exit(code ?? 0))
281
- p.on("disconnect", () => process.exit(1))
282
- }
283
- })()
package/src/sync.ts DELETED
@@ -1,17 +0,0 @@
1
- import fs from "fs/promises"
2
-
3
- const baseUrl = `https://raw.githubusercontent.com/effect-app/boilerplate/refs/heads/main`
4
- const vscode = `${baseUrl}/.vscode`
5
- const snippets = [
6
- "model.code-snippets",
7
- "service.code-snippets"
8
- ]
9
-
10
- export async function sync() {
11
- await Promise.all(snippets.map(async (snippet) => {
12
- const url = `${vscode}/${snippet}`
13
- const res = await fetch(url)
14
- const content = await res.text()
15
- await fs.writeFile(`.vscode/${snippet}`, content, "utf-8")
16
- }))
17
- }
package/src/unlink.ts DELETED
@@ -1,14 +0,0 @@
1
- import cp from "child_process"
2
- import fs from "fs"
3
- import { packages } from "./shared.js"
4
-
5
- const pj = (await import(process.cwd() + "/package.json", { with: { type: "json" } })).default
6
- pj.resolutions = Object.entries(pj.resolutions as Record<string, string>).reduce((acc, [k, v]) => {
7
- if (k.startsWith("@effect-app/") || k === "effect-app" || packages.includes(k)) return acc
8
- acc[k] = v
9
- return acc
10
- }, {} as Record<string, string>)
11
-
12
- fs.writeFileSync("./package.json", JSON.stringify(pj, null, 2))
13
-
14
- cp.execSync("pnpm i", { stdio: "inherit" })
@@ -1,33 +0,0 @@
1
- // packages/cli/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.1.5_@types+node@20.11.25/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: packages.reduce((acc, cur) => {
20
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, "src");
21
- return acc;
22
- }, {})
23
- };
24
- return cfg;
25
- }
26
-
27
- // packages/cli/vitest.config.ts
28
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/cli";
29
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
30
- export {
31
- vitest_config_default as default
32
- };
33
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHMiLCAidml0ZS5jb25maWcuYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL2NsaS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgbWFrZUNvbmZpZyBmcm9tIFwiLi4vLi4vdml0ZS5jb25maWcuYmFzZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhtYWtlQ29uZmlnKF9fZGlybmFtZSkpXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzXCJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCJcblxuLy8gY29uc3QgYXV0b0ltcG9ydCA9IEF1dG9JbXBvcnQoe1xuLy8gICBkdHM6IFwiLi90ZXN0L2F1dG8taW1wb3J0cy5kLnRzXCIsXG4vLyAgIC8vIGluY2x1ZGU6IFtcbi8vICAgLy8gICAvXFwudGVzdFxcLlt0al1zeD8kLyAvLyAudHMsIC50c3gsIC5qcywgLmpzeFxuLy8gICAvLyBdLFxuLy8gICBpbXBvcnRzOiBbXG4vLyAgICAgXCJ2aXRlc3RcIlxuLy8gICBdXG4vLyB9KVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQ29uZmlnKGRpck5hbWU/OiBzdHJpbmcpIHtcbiAgY29uc3QgcHJlZml4ID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJwYWNrYWdlc1wiKVxuICBjb25zdCBwYWNrYWdlcyA9IGZzLnJlYWRkaXJTeW5jKHByZWZpeCkubWFwKGYgPT4gcHJlZml4ICsgXCIvXCIgKyBmKS5maWx0ZXIoZiA9PiBmcy5sc3RhdFN5bmMoZikuaXNEaXJlY3RvcnkoKSApXG4gIGNvbnN0IGNmZyA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIC8vcGx1Z2luczogW2F1dG9JbXBvcnRdLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6ICBbXCIuL3Rlc3QvKiovKi50ZXN0LntqcyxtanMsY2pzLHRzLG10cyxjdHMsanN4LHRzeH1cIl0sXG4gICAgICByZXBvcnRlcnM6IFwidmVyYm9zZVwiLFxuICAgICAgZ2xvYmFsczogdHJ1ZVxuICAgIH0sXG4gICAgcmVzb2x2ZTogcGFja2FnZXMucmVkdWNlKChhY2MsIGN1cikgPT4ge1xuICAgICAgYWNjW0pTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGN1ciArIFwiL3BhY2thZ2UuanNvblwiLCBcInV0Zi04XCIpKS5uYW1lXSA9IHBhdGgucmVzb2x2ZShjdXIsIFwic3JjXCIpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwge30pXG4gIH1cbiAgLy9jb25zb2xlLmxvZyhjZmcpXG4gIHJldHVybiBjZmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLG9CQUFvQjs7O0FDQTdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFGZixJQUFNLG1DQUFtQztBQWdCMUIsU0FBUixXQUE0QixTQUFrQjtBQUNuRCxRQUFNLFNBQVMsS0FBSyxRQUFRLGtDQUFXLFVBQVU7QUFDakQsUUFBTSxXQUFXLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxPQUFLLFNBQVMsTUFBTSxDQUFDLEVBQUUsT0FBTyxPQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFFO0FBQzdHLFFBQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxJQUdWLE1BQU07QUFBQSxNQUNKLFNBQVUsQ0FBQyxrREFBa0Q7QUFBQSxNQUM3RCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsU0FBUyxTQUFTLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDckMsVUFBSSxLQUFLLE1BQU0sR0FBRyxhQUFhLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsS0FBSyxLQUFLO0FBQy9GLGFBQU87QUFBQSxJQUNULEdBQUcsQ0FBQyxDQUFDO0FBQUEsRUFDUDtBQUVBLFNBQU87QUFDVDs7O0FEbENBLElBQU1BLG9DQUFtQztBQUl6QyxJQUFPLHdCQUFRLGFBQWEsV0FBV0MsaUNBQVMsQ0FBQzsiLAogICJuYW1lcyI6IFsiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==
@@ -1,33 +0,0 @@
1
- // packages/cli/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.1.5_@types+node@20.11.25/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: packages.reduce((acc, cur) => {
20
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, "src");
21
- return acc;
22
- }, {})
23
- };
24
- return cfg;
25
- }
26
-
27
- // packages/cli/vitest.config.ts
28
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/cli";
29
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
30
- export {
31
- vitest_config_default as default
32
- };
33
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHMiLCAidml0ZS5jb25maWcuYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL2NsaS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgbWFrZUNvbmZpZyBmcm9tIFwiLi4vLi4vdml0ZS5jb25maWcuYmFzZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhtYWtlQ29uZmlnKF9fZGlybmFtZSkpXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzXCJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCJcblxuLy8gY29uc3QgYXV0b0ltcG9ydCA9IEF1dG9JbXBvcnQoe1xuLy8gICBkdHM6IFwiLi90ZXN0L2F1dG8taW1wb3J0cy5kLnRzXCIsXG4vLyAgIC8vIGluY2x1ZGU6IFtcbi8vICAgLy8gICAvXFwudGVzdFxcLlt0al1zeD8kLyAvLyAudHMsIC50c3gsIC5qcywgLmpzeFxuLy8gICAvLyBdLFxuLy8gICBpbXBvcnRzOiBbXG4vLyAgICAgXCJ2aXRlc3RcIlxuLy8gICBdXG4vLyB9KVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQ29uZmlnKGRpck5hbWU/OiBzdHJpbmcpIHtcbiAgY29uc3QgcHJlZml4ID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJwYWNrYWdlc1wiKVxuICBjb25zdCBwYWNrYWdlcyA9IGZzLnJlYWRkaXJTeW5jKHByZWZpeCkubWFwKGYgPT4gcHJlZml4ICsgXCIvXCIgKyBmKS5maWx0ZXIoZiA9PiBmcy5sc3RhdFN5bmMoZikuaXNEaXJlY3RvcnkoKSApXG4gIGNvbnN0IGNmZyA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIC8vcGx1Z2luczogW2F1dG9JbXBvcnRdLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6ICBbXCIuL3Rlc3QvKiovKi50ZXN0LntqcyxtanMsY2pzLHRzLG10cyxjdHMsanN4LHRzeH1cIl0sXG4gICAgICByZXBvcnRlcnM6IFwidmVyYm9zZVwiLFxuICAgICAgZ2xvYmFsczogdHJ1ZVxuICAgIH0sXG4gICAgcmVzb2x2ZTogcGFja2FnZXMucmVkdWNlKChhY2MsIGN1cikgPT4ge1xuICAgICAgYWNjW0pTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGN1ciArIFwiL3BhY2thZ2UuanNvblwiLCBcInV0Zi04XCIpKS5uYW1lXSA9IHBhdGgucmVzb2x2ZShjdXIsIFwic3JjXCIpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwge30pXG4gIH1cbiAgLy9jb25zb2xlLmxvZyhjZmcpXG4gIHJldHVybiBjZmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLG9CQUFvQjs7O0FDQTdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFGZixJQUFNLG1DQUFtQztBQWdCMUIsU0FBUixXQUE0QixTQUFrQjtBQUNuRCxRQUFNLFNBQVMsS0FBSyxRQUFRLGtDQUFXLFVBQVU7QUFDakQsUUFBTSxXQUFXLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxPQUFLLFNBQVMsTUFBTSxDQUFDLEVBQUUsT0FBTyxPQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFFO0FBQzdHLFFBQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxJQUdWLE1BQU07QUFBQSxNQUNKLFNBQVUsQ0FBQyxrREFBa0Q7QUFBQSxNQUM3RCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsU0FBUyxTQUFTLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDckMsVUFBSSxLQUFLLE1BQU0sR0FBRyxhQUFhLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsS0FBSyxLQUFLO0FBQy9GLGFBQU87QUFBQSxJQUNULEdBQUcsQ0FBQyxDQUFDO0FBQUEsRUFDUDtBQUVBLFNBQU87QUFDVDs7O0FEbENBLElBQU1BLG9DQUFtQztBQUl6QyxJQUFPLHdCQUFRLGFBQWEsV0FBV0MsaUNBQVMsQ0FBQzsiLAogICJuYW1lcyI6IFsiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==
@@ -1,33 +0,0 @@
1
- // packages/cli/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.1.5_@types+node@20.11.25/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: packages.reduce((acc, cur) => {
20
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, "src");
21
- return acc;
22
- }, {})
23
- };
24
- return cfg;
25
- }
26
-
27
- // packages/cli/vitest.config.ts
28
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/cli";
29
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
30
- export {
31
- vitest_config_default as default
32
- };
33
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHMiLCAidml0ZS5jb25maWcuYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL2NsaS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgbWFrZUNvbmZpZyBmcm9tIFwiLi4vLi4vdml0ZS5jb25maWcuYmFzZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhtYWtlQ29uZmlnKF9fZGlybmFtZSkpXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzXCJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCJcblxuLy8gY29uc3QgYXV0b0ltcG9ydCA9IEF1dG9JbXBvcnQoe1xuLy8gICBkdHM6IFwiLi90ZXN0L2F1dG8taW1wb3J0cy5kLnRzXCIsXG4vLyAgIC8vIGluY2x1ZGU6IFtcbi8vICAgLy8gICAvXFwudGVzdFxcLlt0al1zeD8kLyAvLyAudHMsIC50c3gsIC5qcywgLmpzeFxuLy8gICAvLyBdLFxuLy8gICBpbXBvcnRzOiBbXG4vLyAgICAgXCJ2aXRlc3RcIlxuLy8gICBdXG4vLyB9KVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQ29uZmlnKGRpck5hbWU/OiBzdHJpbmcpIHtcbiAgY29uc3QgcHJlZml4ID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJwYWNrYWdlc1wiKVxuICBjb25zdCBwYWNrYWdlcyA9IGZzLnJlYWRkaXJTeW5jKHByZWZpeCkubWFwKGYgPT4gcHJlZml4ICsgXCIvXCIgKyBmKS5maWx0ZXIoZiA9PiBmcy5sc3RhdFN5bmMoZikuaXNEaXJlY3RvcnkoKSApXG4gIGNvbnN0IGNmZyA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIC8vcGx1Z2luczogW2F1dG9JbXBvcnRdLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6ICBbXCIuL3Rlc3QvKiovKi50ZXN0LntqcyxtanMsY2pzLHRzLG10cyxjdHMsanN4LHRzeH1cIl0sXG4gICAgICByZXBvcnRlcnM6IFwidmVyYm9zZVwiLFxuICAgICAgZ2xvYmFsczogdHJ1ZVxuICAgIH0sXG4gICAgcmVzb2x2ZTogcGFja2FnZXMucmVkdWNlKChhY2MsIGN1cikgPT4ge1xuICAgICAgYWNjW0pTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGN1ciArIFwiL3BhY2thZ2UuanNvblwiLCBcInV0Zi04XCIpKS5uYW1lXSA9IHBhdGgucmVzb2x2ZShjdXIsIFwic3JjXCIpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwge30pXG4gIH1cbiAgLy9jb25zb2xlLmxvZyhjZmcpXG4gIHJldHVybiBjZmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLG9CQUFvQjs7O0FDQTdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFGZixJQUFNLG1DQUFtQztBQWdCMUIsU0FBUixXQUE0QixTQUFrQjtBQUNuRCxRQUFNLFNBQVMsS0FBSyxRQUFRLGtDQUFXLFVBQVU7QUFDakQsUUFBTSxXQUFXLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxPQUFLLFNBQVMsTUFBTSxDQUFDLEVBQUUsT0FBTyxPQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFFO0FBQzdHLFFBQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxJQUdWLE1BQU07QUFBQSxNQUNKLFNBQVUsQ0FBQyxrREFBa0Q7QUFBQSxNQUM3RCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsU0FBUyxTQUFTLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDckMsVUFBSSxLQUFLLE1BQU0sR0FBRyxhQUFhLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsS0FBSyxLQUFLO0FBQy9GLGFBQU87QUFBQSxJQUNULEdBQUcsQ0FBQyxDQUFDO0FBQUEsRUFDUDtBQUVBLFNBQU87QUFDVDs7O0FEbENBLElBQU1BLG9DQUFtQztBQUl6QyxJQUFPLHdCQUFRLGFBQWEsV0FBV0MsaUNBQVMsQ0FBQzsiLAogICJuYW1lcyI6IFsiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==
@@ -1,37 +0,0 @@
1
- // packages/cli/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: {
20
- alias: packages.reduce((acc, cur) => {
21
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
22
- return acc;
23
- }, {})
24
- // "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
25
- }
26
- };
27
- console.log(cfg);
28
- return cfg;
29
- }
30
-
31
- // packages/cli/vitest.config.ts
32
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/cli";
33
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
34
- export {
35
- vitest_config_default as default
36
- };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHMiLCAidml0ZS5jb25maWcuYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL2NsaS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgbWFrZUNvbmZpZyBmcm9tIFwiLi4vLi4vdml0ZS5jb25maWcuYmFzZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhtYWtlQ29uZmlnKF9fZGlybmFtZSkpXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzXCJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCJcblxuLy8gY29uc3QgYXV0b0ltcG9ydCA9IEF1dG9JbXBvcnQoe1xuLy8gICBkdHM6IFwiLi90ZXN0L2F1dG8taW1wb3J0cy5kLnRzXCIsXG4vLyAgIC8vIGluY2x1ZGU6IFtcbi8vICAgLy8gICAvXFwudGVzdFxcLlt0al1zeD8kLyAvLyAudHMsIC50c3gsIC5qcywgLmpzeFxuLy8gICAvLyBdLFxuLy8gICBpbXBvcnRzOiBbXG4vLyAgICAgXCJ2aXRlc3RcIlxuLy8gICBdXG4vLyB9KVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQ29uZmlnKGRpck5hbWU/OiBzdHJpbmcpIHtcbiAgY29uc3QgcHJlZml4ID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJwYWNrYWdlc1wiKVxuICBjb25zdCBwYWNrYWdlcyA9IGZzLnJlYWRkaXJTeW5jKHByZWZpeCkubWFwKGYgPT4gcHJlZml4ICsgXCIvXCIgKyBmKS5maWx0ZXIoZiA9PiBmcy5sc3RhdFN5bmMoZikuaXNEaXJlY3RvcnkoKSApXG4gIGNvbnN0IGNmZyA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIC8vcGx1Z2luczogW2F1dG9JbXBvcnRdLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6ICBbXCIuL3Rlc3QvKiovKi50ZXN0LntqcyxtanMsY2pzLHRzLG10cyxjdHMsanN4LHRzeH1cIl0sXG4gICAgICByZXBvcnRlcnM6IFwidmVyYm9zZVwiLFxuICAgICAgZ2xvYmFsczogdHJ1ZVxuICAgIH0sXG4gICAgcmVzb2x2ZToge1xuICAgICAgYWxpYXM6IHBhY2thZ2VzLnJlZHVjZSgoYWNjLCBjdXIpID0+IHsgLy8gd29ya2Fyb3VuZCBmb3IgL1ByZWx1ZGUgaXNzdWVcbiAgICAgIGFjY1tKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjdXIgKyBcIi9wYWNrYWdlLmpzb25cIiwgXCJ1dGYtOFwiKSkubmFtZV0gPSBwYXRoLnJlc29sdmUoY3VyLCBjdXIuZW5kc1dpdGgoXCJjb3JlXCIpID8gXCJkaXN0XCIgOiBcInNyY1wiKVxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIHsgfSkgLy8gXCJAZWZmZWN0LWFwcC9jb3JlL1ByZWx1ZGVcIjogcGF0aC5qb2luKF9fZGlybmFtZSwgXCJwYWNrYWdlcy9jb3JlL3NyYy9QcmVsdWRlLmNvZGUudHNcIilcbiAgfVxuICB9XG4gIGNvbnNvbGUubG9nKGNmZylcbiAgcmV0dXJuIGNmZ1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLFNBQVMsb0JBQW9COzs7QUNBN0IsT0FBTyxVQUFVO0FBQ2pCLE9BQU8sUUFBUTtBQUZmLElBQU0sbUNBQW1DO0FBZ0IxQixTQUFSLFdBQTRCLFNBQWtCO0FBQ25ELFFBQU0sU0FBUyxLQUFLLFFBQVEsa0NBQVcsVUFBVTtBQUNqRCxRQUFNLFdBQVcsR0FBRyxZQUFZLE1BQU0sRUFBRSxJQUFJLE9BQUssU0FBUyxNQUFNLENBQUMsRUFBRSxPQUFPLE9BQUssR0FBRyxVQUFVLENBQUMsRUFBRSxZQUFZLENBQUU7QUFDN0csUUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLElBR1YsTUFBTTtBQUFBLE1BQ0osU0FBVSxDQUFDLGtEQUFrRDtBQUFBLE1BQzdELFdBQVc7QUFBQSxNQUNYLFNBQVM7QUFBQSxJQUNYO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxPQUFPLFNBQVMsT0FBTyxDQUFDLEtBQUssUUFBUTtBQUNyQyxZQUFJLEtBQUssTUFBTSxHQUFHLGFBQWEsTUFBTSxpQkFBaUIsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLEtBQUssUUFBUSxLQUFLLElBQUksU0FBUyxNQUFNLElBQUksU0FBUyxLQUFLO0FBQy9ILGVBQU87QUFBQSxNQUNULEdBQUcsQ0FBRSxDQUFDO0FBQUE7QUFBQSxJQUNSO0FBQUEsRUFDQTtBQUNBLFVBQVEsSUFBSSxHQUFHO0FBQ2YsU0FBTztBQUNUOzs7QURwQ0EsSUFBTUEsb0NBQW1DO0FBSXpDLElBQU8sd0JBQVEsYUFBYSxXQUFXQyxpQ0FBUyxDQUFDOyIsCiAgIm5hbWVzIjogWyJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSIsICJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSJdCn0K
@@ -1,37 +0,0 @@
1
- // packages/cli/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: {
20
- alias: packages.reduce((acc, cur) => {
21
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
22
- return acc;
23
- }, {})
24
- // "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
25
- }
26
- };
27
- console.log(cfg);
28
- return cfg;
29
- }
30
-
31
- // packages/cli/vitest.config.ts
32
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/cli";
33
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
34
- export {
35
- vitest_config_default as default
36
- };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHMiLCAidml0ZS5jb25maWcuYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL2NsaS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgbWFrZUNvbmZpZyBmcm9tIFwiLi4vLi4vdml0ZS5jb25maWcuYmFzZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhtYWtlQ29uZmlnKF9fZGlybmFtZSkpXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzXCJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCJcblxuLy8gY29uc3QgYXV0b0ltcG9ydCA9IEF1dG9JbXBvcnQoe1xuLy8gICBkdHM6IFwiLi90ZXN0L2F1dG8taW1wb3J0cy5kLnRzXCIsXG4vLyAgIC8vIGluY2x1ZGU6IFtcbi8vICAgLy8gICAvXFwudGVzdFxcLlt0al1zeD8kLyAvLyAudHMsIC50c3gsIC5qcywgLmpzeFxuLy8gICAvLyBdLFxuLy8gICBpbXBvcnRzOiBbXG4vLyAgICAgXCJ2aXRlc3RcIlxuLy8gICBdXG4vLyB9KVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQ29uZmlnKGRpck5hbWU/OiBzdHJpbmcpIHtcbiAgY29uc3QgcHJlZml4ID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJwYWNrYWdlc1wiKVxuICBjb25zdCBwYWNrYWdlcyA9IGZzLnJlYWRkaXJTeW5jKHByZWZpeCkubWFwKGYgPT4gcHJlZml4ICsgXCIvXCIgKyBmKS5maWx0ZXIoZiA9PiBmcy5sc3RhdFN5bmMoZikuaXNEaXJlY3RvcnkoKSApXG4gIGNvbnN0IGNmZyA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIC8vcGx1Z2luczogW2F1dG9JbXBvcnRdLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6ICBbXCIuL3Rlc3QvKiovKi50ZXN0LntqcyxtanMsY2pzLHRzLG10cyxjdHMsanN4LHRzeH1cIl0sXG4gICAgICByZXBvcnRlcnM6IFwidmVyYm9zZVwiLFxuICAgICAgZ2xvYmFsczogdHJ1ZVxuICAgIH0sXG4gICAgcmVzb2x2ZToge1xuICAgICAgYWxpYXM6IHBhY2thZ2VzLnJlZHVjZSgoYWNjLCBjdXIpID0+IHsgLy8gd29ya2Fyb3VuZCBmb3IgL1ByZWx1ZGUgaXNzdWVcbiAgICAgIGFjY1tKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjdXIgKyBcIi9wYWNrYWdlLmpzb25cIiwgXCJ1dGYtOFwiKSkubmFtZV0gPSBwYXRoLnJlc29sdmUoY3VyLCBjdXIuZW5kc1dpdGgoXCJjb3JlXCIpID8gXCJkaXN0XCIgOiBcInNyY1wiKVxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIHsgfSkgLy8gXCJAZWZmZWN0LWFwcC9jb3JlL1ByZWx1ZGVcIjogcGF0aC5qb2luKF9fZGlybmFtZSwgXCJwYWNrYWdlcy9jb3JlL3NyYy9QcmVsdWRlLmNvZGUudHNcIilcbiAgfVxuICB9XG4gIGNvbnNvbGUubG9nKGNmZylcbiAgcmV0dXJuIGNmZ1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLFNBQVMsb0JBQW9COzs7QUNBN0IsT0FBTyxVQUFVO0FBQ2pCLE9BQU8sUUFBUTtBQUZmLElBQU0sbUNBQW1DO0FBZ0IxQixTQUFSLFdBQTRCLFNBQWtCO0FBQ25ELFFBQU0sU0FBUyxLQUFLLFFBQVEsa0NBQVcsVUFBVTtBQUNqRCxRQUFNLFdBQVcsR0FBRyxZQUFZLE1BQU0sRUFBRSxJQUFJLE9BQUssU0FBUyxNQUFNLENBQUMsRUFBRSxPQUFPLE9BQUssR0FBRyxVQUFVLENBQUMsRUFBRSxZQUFZLENBQUU7QUFDN0csUUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLElBR1YsTUFBTTtBQUFBLE1BQ0osU0FBVSxDQUFDLGtEQUFrRDtBQUFBLE1BQzdELFdBQVc7QUFBQSxNQUNYLFNBQVM7QUFBQSxJQUNYO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxPQUFPLFNBQVMsT0FBTyxDQUFDLEtBQUssUUFBUTtBQUNyQyxZQUFJLEtBQUssTUFBTSxHQUFHLGFBQWEsTUFBTSxpQkFBaUIsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLEtBQUssUUFBUSxLQUFLLElBQUksU0FBUyxNQUFNLElBQUksU0FBUyxLQUFLO0FBQy9ILGVBQU87QUFBQSxNQUNULEdBQUcsQ0FBRSxDQUFDO0FBQUE7QUFBQSxJQUNSO0FBQUEsRUFDQTtBQUNBLFVBQVEsSUFBSSxHQUFHO0FBQ2YsU0FBTztBQUNUOzs7QURwQ0EsSUFBTUEsb0NBQW1DO0FBSXpDLElBQU8sd0JBQVEsYUFBYSxXQUFXQyxpQ0FBUyxDQUFDOyIsCiAgIm5hbWVzIjogWyJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSIsICJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSJdCn0K
@@ -1,37 +0,0 @@
1
- // packages/cli/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: {
20
- alias: packages.reduce((acc, cur) => {
21
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
22
- return acc;
23
- }, {})
24
- // "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
25
- }
26
- };
27
- console.log(cfg);
28
- return cfg;
29
- }
30
-
31
- // packages/cli/vitest.config.ts
32
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/cli";
33
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
34
- export {
35
- vitest_config_default as default
36
- };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHMiLCAidml0ZS5jb25maWcuYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL2NsaS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvY2xpL3ZpdGVzdC5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgbWFrZUNvbmZpZyBmcm9tIFwiLi4vLi4vdml0ZS5jb25maWcuYmFzZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhtYWtlQ29uZmlnKF9fZGlybmFtZSkpXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzXCJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlc3QvY29uZmlnXCJcblxuLy8gY29uc3QgYXV0b0ltcG9ydCA9IEF1dG9JbXBvcnQoe1xuLy8gICBkdHM6IFwiLi90ZXN0L2F1dG8taW1wb3J0cy5kLnRzXCIsXG4vLyAgIC8vIGluY2x1ZGU6IFtcbi8vICAgLy8gICAvXFwudGVzdFxcLlt0al1zeD8kLyAvLyAudHMsIC50c3gsIC5qcywgLmpzeFxuLy8gICAvLyBdLFxuLy8gICBpbXBvcnRzOiBbXG4vLyAgICAgXCJ2aXRlc3RcIlxuLy8gICBdXG4vLyB9KVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQ29uZmlnKGRpck5hbWU/OiBzdHJpbmcpIHtcbiAgY29uc3QgcHJlZml4ID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJwYWNrYWdlc1wiKVxuICBjb25zdCBwYWNrYWdlcyA9IGZzLnJlYWRkaXJTeW5jKHByZWZpeCkubWFwKGYgPT4gcHJlZml4ICsgXCIvXCIgKyBmKS5maWx0ZXIoZiA9PiBmcy5sc3RhdFN5bmMoZikuaXNEaXJlY3RvcnkoKSApXG4gIGNvbnN0IGNmZyA9IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIC8vcGx1Z2luczogW2F1dG9JbXBvcnRdLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6ICBbXCIuL3Rlc3QvKiovKi50ZXN0LntqcyxtanMsY2pzLHRzLG10cyxjdHMsanN4LHRzeH1cIl0sXG4gICAgICByZXBvcnRlcnM6IFwidmVyYm9zZVwiLFxuICAgICAgZ2xvYmFsczogdHJ1ZVxuICAgIH0sXG4gICAgcmVzb2x2ZToge1xuICAgICAgYWxpYXM6IHBhY2thZ2VzLnJlZHVjZSgoYWNjLCBjdXIpID0+IHsgLy8gd29ya2Fyb3VuZCBmb3IgL1ByZWx1ZGUgaXNzdWVcbiAgICAgIGFjY1tKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjdXIgKyBcIi9wYWNrYWdlLmpzb25cIiwgXCJ1dGYtOFwiKSkubmFtZV0gPSBwYXRoLnJlc29sdmUoY3VyLCBjdXIuZW5kc1dpdGgoXCJjb3JlXCIpID8gXCJkaXN0XCIgOiBcInNyY1wiKVxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIHsgfSkgLy8gXCJAZWZmZWN0LWFwcC9jb3JlL1ByZWx1ZGVcIjogcGF0aC5qb2luKF9fZGlybmFtZSwgXCJwYWNrYWdlcy9jb3JlL3NyYy9QcmVsdWRlLmNvZGUudHNcIilcbiAgfVxuICB9XG4gIGNvbnNvbGUubG9nKGNmZylcbiAgcmV0dXJuIGNmZ1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLFNBQVMsb0JBQW9COzs7QUNBN0IsT0FBTyxVQUFVO0FBQ2pCLE9BQU8sUUFBUTtBQUZmLElBQU0sbUNBQW1DO0FBZ0IxQixTQUFSLFdBQTRCLFNBQWtCO0FBQ25ELFFBQU0sU0FBUyxLQUFLLFFBQVEsa0NBQVcsVUFBVTtBQUNqRCxRQUFNLFdBQVcsR0FBRyxZQUFZLE1BQU0sRUFBRSxJQUFJLE9BQUssU0FBUyxNQUFNLENBQUMsRUFBRSxPQUFPLE9BQUssR0FBRyxVQUFVLENBQUMsRUFBRSxZQUFZLENBQUU7QUFDN0csUUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLElBR1YsTUFBTTtBQUFBLE1BQ0osU0FBVSxDQUFDLGtEQUFrRDtBQUFBLE1BQzdELFdBQVc7QUFBQSxNQUNYLFNBQVM7QUFBQSxJQUNYO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxPQUFPLFNBQVMsT0FBTyxDQUFDLEtBQUssUUFBUTtBQUNyQyxZQUFJLEtBQUssTUFBTSxHQUFHLGFBQWEsTUFBTSxpQkFBaUIsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLEtBQUssUUFBUSxLQUFLLElBQUksU0FBUyxNQUFNLElBQUksU0FBUyxLQUFLO0FBQy9ILGVBQU87QUFBQSxNQUNULEdBQUcsQ0FBRSxDQUFDO0FBQUE7QUFBQSxJQUNSO0FBQUEsRUFDQTtBQUNBLFVBQVEsSUFBSSxHQUFHO0FBQ2YsU0FBTztBQUNUOzs7QURwQ0EsSUFBTUEsb0NBQW1DO0FBSXpDLElBQU8sd0JBQVEsYUFBYSxXQUFXQyxpQ0FBUyxDQUFDOyIsCiAgIm5hbWVzIjogWyJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSIsICJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSJdCn0K