@effect-app/cli 1.23.0 → 1.23.2
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/CHANGELOG.md +12 -0
- package/dist/extract.d.ts +15 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/extract.js +52 -0
- package/dist/index.js +465 -204
- package/dist/old.d.ts +2 -0
- package/dist/old.d.ts.map +1 -0
- package/dist/old.js +246 -0
- package/package.json +15 -5
- package/src/extract.ts +71 -0
- package/src/index.ts +663 -229
- package/src/old.ts +283 -0
- package/vitest.config.ts.timestamp-1709838404819-f2fb28517168c.mjs +0 -33
- package/vitest.config.ts.timestamp-1709838418683-9c399c96f9d78.mjs +0 -33
- package/vitest.config.ts.timestamp-1709838649058-0e8f9431c893d.mjs +0 -33
- package/vitest.config.ts.timestamp-1711724061889-4985ba59def8.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743471019-3c5e0c6ca2188.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743489536-5ca18d3f67759.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743593444-e40a8dcd4fc31.mjs +0 -37
- package/vitest.config.ts.timestamp-1711744615239-6a156fd39b9c9.mjs +0 -37
- package/wallaby.cjs +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Error as PlatformError, FileSystem, Path } from "@effect/platform";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
/**
|
|
4
|
+
* Generates package.json exports mappings for TypeScript modules
|
|
5
|
+
* This function finds all .ts files in src/ (excluding test files) and generates
|
|
6
|
+
* JSON export entries that map source files to their compiled .js and .d.ts outputs
|
|
7
|
+
*
|
|
8
|
+
* Example output:
|
|
9
|
+
* "./utils/helper": { "types": "./dist/utils/helper.d.ts", "default": "./dist/utils/helper.js" },
|
|
10
|
+
*
|
|
11
|
+
* This allows users to import individual modules instead of the entire package:
|
|
12
|
+
* import { helper } from 'package/utils/helper' instead of 'package'
|
|
13
|
+
*/
|
|
14
|
+
export declare const ExtractExportMappingsService: Effect.Effect<(cwd: string) => Effect.Effect<string, PlatformError.PlatformError, never>, never, Path.Path | FileSystem.FileSystem>;
|
|
15
|
+
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,IAAI,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAwB,MAAM,EAAe,MAAM,QAAQ,CAAA;AAElE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,qIAwDrC,CAAA"}
|
package/dist/extract.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { FileSystem, Path } from "@effect/platform";
|
|
2
|
+
import { Array as EffectArray, Effect, Order, pipe } from "effect";
|
|
3
|
+
/**
|
|
4
|
+
* Generates package.json exports mappings for TypeScript modules
|
|
5
|
+
* This function finds all .ts files in src/ (excluding test files) and generates
|
|
6
|
+
* JSON export entries that map source files to their compiled .js and .d.ts outputs
|
|
7
|
+
*
|
|
8
|
+
* Example output:
|
|
9
|
+
* "./utils/helper": { "types": "./dist/utils/helper.d.ts", "default": "./dist/utils/helper.js" },
|
|
10
|
+
*
|
|
11
|
+
* This allows users to import individual modules instead of the entire package:
|
|
12
|
+
* import { helper } from 'package/utils/helper' instead of 'package'
|
|
13
|
+
*/
|
|
14
|
+
export const ExtractExportMappingsService = Effect.fn("effa-cli.extractExportMappings")(function* () {
|
|
15
|
+
const fs = yield* FileSystem.FileSystem;
|
|
16
|
+
const path = yield* Path.Path;
|
|
17
|
+
return Effect.fn("effa-cli.extractExportMappings.service")(function* (cwd) {
|
|
18
|
+
const findTsFiles = (dir) => Effect.gen(function* () {
|
|
19
|
+
const entries = yield* fs.readDirectory(dir);
|
|
20
|
+
const results = yield* Effect.all(entries.map((entry) => Effect.gen(function* () {
|
|
21
|
+
const fullPath = path.join(dir, entry);
|
|
22
|
+
const stat = yield* fs.stat(fullPath);
|
|
23
|
+
if (stat.type === "Directory") {
|
|
24
|
+
return yield* findTsFiles(fullPath);
|
|
25
|
+
}
|
|
26
|
+
else if (entry.endsWith(".ts") && !entry.includes(".test.")) {
|
|
27
|
+
return [fullPath];
|
|
28
|
+
}
|
|
29
|
+
return [];
|
|
30
|
+
})));
|
|
31
|
+
return EffectArray.flatten(results);
|
|
32
|
+
});
|
|
33
|
+
const srcDir = path.join(cwd, "src");
|
|
34
|
+
// Check if src directory exists
|
|
35
|
+
const srcExists = yield* fs.exists(srcDir);
|
|
36
|
+
if (!srcExists) {
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
const tsFiles = yield* findTsFiles(srcDir);
|
|
40
|
+
const exportMappings = tsFiles.map((filePath) => {
|
|
41
|
+
// Get relative path from src directory (like bash script's cut -c 5-)
|
|
42
|
+
const relativePath = path.relative(srcDir, filePath);
|
|
43
|
+
const exportKey = `./${relativePath.replace(/\.ts$/, "")}`;
|
|
44
|
+
const distPath = `./dist/${relativePath.replace(/\.ts$/, ".js")}`;
|
|
45
|
+
const typesPath = `./dist/${relativePath.replace(/\.ts$/, ".d.ts")}`;
|
|
46
|
+
return `"${exportKey}": { "types": "${typesPath}", "default": "${distPath}" }`;
|
|
47
|
+
});
|
|
48
|
+
const sortedMappings = pipe(exportMappings, EffectArray.sort(Order.string), EffectArray.join(",\n"));
|
|
49
|
+
return sortedMappings;
|
|
50
|
+
});
|
|
51
|
+
})();
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLElBQUksV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRWxFOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQy9GLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUU3QixPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxHQUFXO1FBQzlFLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUErRCxFQUFFLENBQy9GLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFNUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDdEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFFckMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO29CQUM5QixPQUFPLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztxQkFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQzlELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDbkIsQ0FBQztnQkFDRCxPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQTtZQUVELE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNyQyxDQUFDLENBQUMsQ0FBQTtRQUVKLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBRXBDLGdDQUFnQztRQUNoQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFBO1FBQ1gsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUUxQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDOUMsc0VBQXNFO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQ3BELE1BQU0sU0FBUyxHQUFHLEtBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtZQUMxRCxNQUFNLFFBQVEsR0FBRyxVQUFVLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUE7WUFDakUsTUFBTSxTQUFTLEdBQUcsVUFBVSxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFBO1lBRXBFLE9BQU8sSUFBSSxTQUFTLGtCQUFrQixTQUFTLGtCQUFrQixRQUFRLEtBQUssQ0FBQTtRQUNoRixDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FDekIsY0FBYyxFQUNkLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUM5QixXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN4QixDQUFBO1FBRUQsT0FBTyxjQUFjLENBQUE7SUFDdkIsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsRUFBRSxDQUFBIn0=
|