get-llms 1.0.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.
- package/LICENSE +21 -0
- package/README.md +265 -0
- package/dist/bin/defaults.d.ts +3 -0
- package/dist/bin/defaults.d.ts.map +1 -0
- package/dist/bin/defaults.js +17 -0
- package/dist/bin/defaults.js.map +1 -0
- package/dist/bin/index.d.ts +2 -0
- package/dist/bin/index.d.ts.map +1 -0
- package/dist/bin/index.js +169 -0
- package/dist/bin/index.js.map +1 -0
- package/dist/bin/llmsFetcher.d.ts +18 -0
- package/dist/bin/llmsFetcher.d.ts.map +1 -0
- package/dist/bin/llmsFetcher.js +259 -0
- package/dist/bin/llmsFetcher.js.map +1 -0
- package/dist/bin/types/npmRegistryType.d.ts +103 -0
- package/dist/bin/types/npmRegistryType.d.ts.map +1 -0
- package/dist/bin/types/npmRegistryType.js +2 -0
- package/dist/bin/types/npmRegistryType.js.map +1 -0
- package/dist/bin/types/packageJsonType.d.ts +74 -0
- package/dist/bin/types/packageJsonType.d.ts.map +1 -0
- package/dist/bin/types/packageJsonType.js +2 -0
- package/dist/bin/types/packageJsonType.js.map +1 -0
- package/dist/bin/types/types.d.ts +21 -0
- package/dist/bin/types/types.d.ts.map +1 -0
- package/dist/bin/types/types.js +2 -0
- package/dist/bin/types/types.js.map +1 -0
- package/dist/bin/utils/cliHelpers.d.ts +11 -0
- package/dist/bin/utils/cliHelpers.d.ts.map +1 -0
- package/dist/bin/utils/cliHelpers.js +45 -0
- package/dist/bin/utils/cliHelpers.js.map +1 -0
- package/dist/bin/utils/logger.d.ts +19 -0
- package/dist/bin/utils/logger.d.ts.map +1 -0
- package/dist/bin/utils/logger.js +56 -0
- package/dist/bin/utils/logger.js.map +1 -0
- package/dist/bin/utils/utils.d.ts +13 -0
- package/dist/bin/utils/utils.d.ts.map +1 -0
- package/dist/bin/utils/utils.js +38 -0
- package/dist/bin/utils/utils.js.map +1 -0
- package/package.json +48 -0
- package/tsconfig.json +21 -0
- package/vitest.config.ts +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../bin/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM;IACF,SAAS,GAAmB,QAAQ,CAAC;IAE7C,YAAY,CAAC,KAAqB;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;IACpC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IACtC,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAG,IAAe;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,kCAAkC;IAClC,GAAG,CAAC,GAAG,IAAe;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;SACtB;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,GAAG,IAAe;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,IAAe;QACxB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;SACtB;IACH,CAAC;IAED,gCAAgC;IAChC,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;SAChC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,GAAG,IAAe;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;SACjC;IACH,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { NpmRegistry } from "../types/npmRegistryType";
|
|
2
|
+
import { SanitizerOptions } from "../types/types";
|
|
3
|
+
export declare const getPackageInfo: (packageName: string) => Promise<NpmRegistry>;
|
|
4
|
+
/**
|
|
5
|
+
* Sanitize a package name for use as a filename
|
|
6
|
+
*/
|
|
7
|
+
export declare const sanitizeFilename: (name: string, options?: SanitizerOptions) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Generate filename from pattern
|
|
10
|
+
* Supports: {name}
|
|
11
|
+
*/
|
|
12
|
+
export declare const generateFilename: (pattern: string, packageName: string, extension: string, sanitizerOptions: SanitizerOptions) => string;
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../bin/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,cAAc,gBAAuB,MAAM,yBAMvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,SACrB,MAAM,YACH,gBAAgB,KACxB,MAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAClB,MAAM,eACF,MAAM,aACR,MAAM,oBACC,gBAAgB,KACjC,MAQF,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DEFAULT_OPTIONS } from "../defaults";
|
|
2
|
+
export const getPackageInfo = async (packageName) => {
|
|
3
|
+
const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`);
|
|
4
|
+
const data = (await response.json());
|
|
5
|
+
return data;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Sanitize a package name for use as a filename
|
|
9
|
+
*/
|
|
10
|
+
export const sanitizeFilename = (name, options = DEFAULT_OPTIONS.sanitizer) => {
|
|
11
|
+
let sanitized = name;
|
|
12
|
+
// Handle scoped packages (@scope/name)
|
|
13
|
+
if (sanitized.startsWith("@")) {
|
|
14
|
+
sanitized = sanitized.slice(1); // Remove @ prefix
|
|
15
|
+
if (options.atReplacement) {
|
|
16
|
+
sanitized = options.atReplacement + sanitized;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Replace slashes (from scoped packages)
|
|
20
|
+
sanitized = sanitized.replaceAll("/", options.slashReplacement);
|
|
21
|
+
// Replace spaces
|
|
22
|
+
sanitized = sanitized.replaceAll(" ", options.spaceReplacement);
|
|
23
|
+
// Remove any other problematic characters for filenames
|
|
24
|
+
sanitized = sanitized.replace(/[<>:"|?*\\]/g, "");
|
|
25
|
+
return sanitized;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Generate filename from pattern
|
|
29
|
+
* Supports: {name}
|
|
30
|
+
*/
|
|
31
|
+
export const generateFilename = (pattern, packageName, extension, sanitizerOptions) => {
|
|
32
|
+
const sanitizedName = sanitizeFilename(packageName, sanitizerOptions);
|
|
33
|
+
let filename = pattern.replace("{name}", sanitizedName);
|
|
34
|
+
// Ensure extension doesn't have leading dot if user included it
|
|
35
|
+
const ext = extension.startsWith(".") ? extension.slice(1) : extension;
|
|
36
|
+
return `${filename}.${ext}`;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../bin/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;IAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,8BAA8B,WAAW,SAAS,CACnD,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAgB,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,UAA4B,eAAe,CAAC,SAAS,EAC7C,EAAE;IACV,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,uCAAuC;IACvC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAClD,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;SAC/C;KACF;IAED,yCAAyC;IACzC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhE,iBAAiB;IACjB,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhE,wDAAwD;IACxD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAe,EACf,WAAmB,EACnB,SAAiB,EACjB,gBAAkC,EAC1B,EAAE;IACV,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACtE,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExD,gEAAgE;IAChE,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAC9B,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "get-llms",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "npx command for fetching llms.txt files for all packages from package.json",
|
|
5
|
+
"homepage": "https://github.com/balazshevesi/llms-fetcher#readme",
|
|
6
|
+
"bin": {
|
|
7
|
+
"get-llms": "dist/bin/index.js"
|
|
8
|
+
},
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/balazshevesi/llms-fetcher/issues"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/balazshevesi/llms-fetcher.git"
|
|
15
|
+
},
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"author": "Balazs Hevesi",
|
|
18
|
+
"type": "module",
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"test:watch": "vitest",
|
|
23
|
+
"test:coverage": "vitest run --coverage"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/node": "^25.0.3",
|
|
27
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
28
|
+
"msw": "^2.12.7",
|
|
29
|
+
"vitest": "^4.0.16"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"commander": "^14.0.2"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18.0.0"
|
|
36
|
+
},
|
|
37
|
+
"keywords": [
|
|
38
|
+
"llms",
|
|
39
|
+
"get-llms",
|
|
40
|
+
"llms.txt",
|
|
41
|
+
"fetch",
|
|
42
|
+
"package",
|
|
43
|
+
"script",
|
|
44
|
+
"cli",
|
|
45
|
+
"command",
|
|
46
|
+
"llms-fetcher"
|
|
47
|
+
]
|
|
48
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"lib": ["ES2022"],
|
|
7
|
+
"types": ["node"],
|
|
8
|
+
"outDir": "./dist",
|
|
9
|
+
"rootDir": ".",
|
|
10
|
+
"strict": true,
|
|
11
|
+
"esModuleInterop": true,
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"forceConsistentCasingInFileNames": true,
|
|
14
|
+
"resolveJsonModule": true,
|
|
15
|
+
"declaration": true,
|
|
16
|
+
"declarationMap": true,
|
|
17
|
+
"sourceMap": true
|
|
18
|
+
},
|
|
19
|
+
"include": ["bin/**/*"],
|
|
20
|
+
"exclude": ["node_modules", "dist"]
|
|
21
|
+
}
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineConfig } from "vitest/config";
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
globals: true,
|
|
6
|
+
environment: "node",
|
|
7
|
+
include: ["tests/**/*.test.ts"],
|
|
8
|
+
setupFiles: ["./tests/setup.ts"],
|
|
9
|
+
coverage: {
|
|
10
|
+
provider: "v8",
|
|
11
|
+
reporter: ["text", "html"],
|
|
12
|
+
include: ["bin/**/*.ts"],
|
|
13
|
+
exclude: ["bin/index.ts"],
|
|
14
|
+
},
|
|
15
|
+
testTimeout: 10000,
|
|
16
|
+
},
|
|
17
|
+
});
|