stackscan 0.1.23 → 0.1.29
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/README.md +16 -8
- package/dist/add.mjs +3 -2
- package/dist/chunk-24PM76MV.mjs +235 -0
- package/dist/chunk-2ZANNQYS.mjs +162 -0
- package/dist/chunk-5AYPCRZA.mjs +21 -0
- package/dist/chunk-CFGUYUPP.mjs +42 -0
- package/dist/chunk-DF3YGYKJ.mjs +2241 -0
- package/dist/chunk-E75XPZ2U.mjs +2237 -0
- package/dist/chunk-GFZMRHRT.mjs +181 -0
- package/dist/chunk-HKCVFKM4.mjs +19 -0
- package/dist/chunk-HT4RZGLE.mjs +267 -0
- package/dist/chunk-IFB4PCXR.mjs +28 -0
- package/dist/chunk-MFJXW5RR.mjs +6 -0
- package/dist/chunk-SECL5E42.mjs +23 -0
- package/dist/chunk-STCTH5AY.mjs +15619 -0
- package/dist/chunk-XNTLNSF6.mjs +158 -0
- package/dist/chunk-ZYFKPOWH.mjs +54 -0
- package/dist/cli.js +48 -15
- package/dist/cli.mjs +11 -7
- package/dist/defaults.mjs +3 -2
- package/dist/defaults.test.d.mts +2 -0
- package/dist/defaults.test.d.ts +2 -0
- package/dist/defaults.test.js +17007 -0
- package/dist/defaults.test.mjs +30 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +50 -17
- package/dist/index.mjs +18 -12
- package/dist/magic-string.es-WH4FGKAB.mjs +1315 -0
- package/dist/output.d.mts +3 -3
- package/dist/output.d.ts +3 -3
- package/dist/output.mjs +4 -3
- package/dist/output.test.d.mts +2 -0
- package/dist/output.test.d.ts +2 -0
- package/dist/output.test.js +20687 -0
- package/dist/output.test.mjs +160 -0
- package/dist/scan.js +48 -15
- package/dist/scan.mjs +7 -6
- package/dist/scan.test.d.mts +2 -0
- package/dist/scan.test.d.ts +2 -0
- package/dist/scan.test.js +23184 -0
- package/dist/scan.test.mjs +183 -0
- package/dist/simple-icons-hex.mjs +1 -0
- package/dist/sync.js +15 -10
- package/dist/sync.mjs +7 -6
- package/dist/techDefinitions.js +13 -8
- package/dist/techDefinitions.mjs +3 -2
- package/dist/techMap.js +13 -8
- package/dist/techMap.mjs +4 -3
- package/dist/techMap.test.d.mts +2 -0
- package/dist/techMap.test.d.ts +2 -0
- package/dist/techMap.test.js +19240 -0
- package/dist/techMap.test.mjs +38 -0
- package/dist/types.d.mts +2 -2
- package/dist/types.d.ts +2 -2
- package/dist/types.mjs +3 -2
- package/package.json +9 -4
- package/public/assets/logos/defaults/package.svg +18 -18
- package/public/assets/logos/defaults/terminal.svg +16 -16
- package/public/assets/logos/defaults/wrench.svg +15 -15
- package/public/assets/logos/testing/vitest.svg +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
techMap
|
|
3
|
+
} from "./chunk-SECL5E42.mjs";
|
|
4
|
+
import {
|
|
5
|
+
techDefinitions
|
|
6
|
+
} from "./chunk-DF3YGYKJ.mjs";
|
|
7
|
+
import {
|
|
8
|
+
describe,
|
|
9
|
+
globalExpect,
|
|
10
|
+
it
|
|
11
|
+
} from "./chunk-STCTH5AY.mjs";
|
|
12
|
+
import {
|
|
13
|
+
init_esm_shims
|
|
14
|
+
} from "./chunk-5AYPCRZA.mjs";
|
|
15
|
+
import "./chunk-CFGUYUPP.mjs";
|
|
16
|
+
|
|
17
|
+
// src/techMap.test.ts
|
|
18
|
+
init_esm_shims();
|
|
19
|
+
describe("techMap", () => {
|
|
20
|
+
it("should be populated", () => {
|
|
21
|
+
globalExpect(Object.keys(techMap).length).toBeGreaterThan(0);
|
|
22
|
+
});
|
|
23
|
+
it("should map typescript alias correctly", () => {
|
|
24
|
+
globalExpect(techMap["typescript"]).toEqual({
|
|
25
|
+
name: "TypeScript",
|
|
26
|
+
logo: "language/typescript.svg",
|
|
27
|
+
type: "language"
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
it("should include all aliases from definitions", () => {
|
|
31
|
+
techDefinitions.forEach((def) => {
|
|
32
|
+
def.aliases.forEach((alias) => {
|
|
33
|
+
globalExpect(techMap[alias]).toBeDefined();
|
|
34
|
+
globalExpect(techMap[alias].name).toBe(def.name);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
package/dist/types.d.mts
CHANGED
|
@@ -12,7 +12,7 @@ interface TechDefinition {
|
|
|
12
12
|
logo: string;
|
|
13
13
|
frameworks?: string[];
|
|
14
14
|
}
|
|
15
|
-
interface
|
|
15
|
+
interface StackScanConfig {
|
|
16
16
|
ignore?: string[];
|
|
17
17
|
aliases?: Record<string, string>;
|
|
18
18
|
logosPath?: string;
|
|
@@ -21,4 +21,4 @@ interface StackSyncConfig {
|
|
|
21
21
|
iconColors?: Record<string, string>;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
export type { DetectorResult,
|
|
24
|
+
export type { DetectorResult, StackScanConfig, TechDefinition };
|
package/dist/types.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ interface TechDefinition {
|
|
|
12
12
|
logo: string;
|
|
13
13
|
frameworks?: string[];
|
|
14
14
|
}
|
|
15
|
-
interface
|
|
15
|
+
interface StackScanConfig {
|
|
16
16
|
ignore?: string[];
|
|
17
17
|
aliases?: Record<string, string>;
|
|
18
18
|
logosPath?: string;
|
|
@@ -21,4 +21,4 @@ interface StackSyncConfig {
|
|
|
21
21
|
iconColors?: Record<string, string>;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
export type { DetectorResult,
|
|
24
|
+
export type { DetectorResult, StackScanConfig, TechDefinition };
|
package/dist/types.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import "./chunk-
|
|
2
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-MFJXW5RR.mjs";
|
|
2
|
+
import "./chunk-5AYPCRZA.mjs";
|
|
3
|
+
import "./chunk-CFGUYUPP.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stackscan",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.29",
|
|
4
4
|
"description": "Automatically detect tech stacks from repositories and generate logos, JSON, and markdown for portfolios.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -11,8 +11,11 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"build": "tsup src --format cjs,esm --dts --shims",
|
|
13
13
|
"dev": "tsup src --watch",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest",
|
|
16
|
+
"test:coverage": "vitest run --coverage",
|
|
17
|
+
"scan": "ts-node src/scan.ts",
|
|
18
|
+
"start": "node dist/cli.js"
|
|
16
19
|
},
|
|
17
20
|
"keywords": [
|
|
18
21
|
"tech-stack",
|
|
@@ -50,8 +53,10 @@
|
|
|
50
53
|
"devDependencies": {
|
|
51
54
|
"@types/fs-extra": "^11.0.4",
|
|
52
55
|
"@types/node": "^24.10.1",
|
|
56
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
53
57
|
"simple-icons": "^15.22.0",
|
|
54
58
|
"tsup": "^8.0.1",
|
|
55
|
-
"typescript": "^5.6.3"
|
|
59
|
+
"typescript": "^5.6.3",
|
|
60
|
+
"vitest": "^4.0.18"
|
|
56
61
|
}
|
|
57
62
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
<!-- @license lucide-static v0.555.0 - ISC -->
|
|
2
|
-
<svg
|
|
3
|
-
class="lucide lucide-package"
|
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
-
width="24"
|
|
6
|
-
height="24"
|
|
7
|
-
viewBox="0 0 24 24"
|
|
8
|
-
fill="none"
|
|
9
|
-
stroke="currentColor"
|
|
10
|
-
stroke-width="2"
|
|
11
|
-
stroke-linecap="round"
|
|
12
|
-
stroke-linejoin="round"
|
|
13
|
-
>
|
|
14
|
-
<path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z" />
|
|
15
|
-
<path d="M12 22V12" />
|
|
16
|
-
<polyline points="3.29 7 12 12 20.71 7" />
|
|
17
|
-
<path d="m7.5 4.27 9 5.15" />
|
|
18
|
-
</svg>
|
|
1
|
+
<!-- @license lucide-static v0.555.0 - ISC -->
|
|
2
|
+
<svg
|
|
3
|
+
class="lucide lucide-package"
|
|
4
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
width="24"
|
|
6
|
+
height="24"
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
fill="none"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
stroke-width="2"
|
|
11
|
+
stroke-linecap="round"
|
|
12
|
+
stroke-linejoin="round"
|
|
13
|
+
>
|
|
14
|
+
<path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z" />
|
|
15
|
+
<path d="M12 22V12" />
|
|
16
|
+
<polyline points="3.29 7 12 12 20.71 7" />
|
|
17
|
+
<path d="m7.5 4.27 9 5.15" />
|
|
18
|
+
</svg>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<!-- @license lucide-static v0.555.0 - ISC -->
|
|
2
|
-
<svg
|
|
3
|
-
class="lucide lucide-terminal"
|
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
-
width="24"
|
|
6
|
-
height="24"
|
|
7
|
-
viewBox="0 0 24 24"
|
|
8
|
-
fill="none"
|
|
9
|
-
stroke="currentColor"
|
|
10
|
-
stroke-width="2"
|
|
11
|
-
stroke-linecap="round"
|
|
12
|
-
stroke-linejoin="round"
|
|
13
|
-
>
|
|
14
|
-
<path d="M12 19h8" />
|
|
15
|
-
<path d="m4 17 6-6-6-6" />
|
|
16
|
-
</svg>
|
|
1
|
+
<!-- @license lucide-static v0.555.0 - ISC -->
|
|
2
|
+
<svg
|
|
3
|
+
class="lucide lucide-terminal"
|
|
4
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
width="24"
|
|
6
|
+
height="24"
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
fill="none"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
stroke-width="2"
|
|
11
|
+
stroke-linecap="round"
|
|
12
|
+
stroke-linejoin="round"
|
|
13
|
+
>
|
|
14
|
+
<path d="M12 19h8" />
|
|
15
|
+
<path d="m4 17 6-6-6-6" />
|
|
16
|
+
</svg>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
<!-- @license lucide-static v0.555.0 - ISC -->
|
|
2
|
-
<svg
|
|
3
|
-
class="lucide lucide-wrench"
|
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
-
width="24"
|
|
6
|
-
height="24"
|
|
7
|
-
viewBox="0 0 24 24"
|
|
8
|
-
fill="none"
|
|
9
|
-
stroke="currentColor"
|
|
10
|
-
stroke-width="2"
|
|
11
|
-
stroke-linecap="round"
|
|
12
|
-
stroke-linejoin="round"
|
|
13
|
-
>
|
|
14
|
-
<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z" />
|
|
15
|
-
</svg>
|
|
1
|
+
<!-- @license lucide-static v0.555.0 - ISC -->
|
|
2
|
+
<svg
|
|
3
|
+
class="lucide lucide-wrench"
|
|
4
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
width="24"
|
|
6
|
+
height="24"
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
fill="none"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
stroke-width="2"
|
|
11
|
+
stroke-linecap="round"
|
|
12
|
+
stroke-linejoin="round"
|
|
13
|
+
>
|
|
14
|
+
<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z" />
|
|
15
|
+
</svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Vitest</title><path d="M13.74024 1.05293a.49504.49504 0 0 0-.1569.02512.49338.49338 0 0 0-.25056.1876L7.59513 9.56159a.4895.4895 0 0 0-.08373.22327.48846.48846 0 0 0 .03163.23629.4893.4893 0 0 0 .13985.19319.4927.4927 0 0 0 .2149.10481l3.70685.78609-.22947 4.58007a.48834.48834 0 0 0 .08466.30017.49205.49205 0 0 0 .24931.18854c.10157.03398.21174.03444.3135.00064a.49387.49387 0 0 0 .25056-.18761l5.73735-8.29594a.4884.4884 0 0 0 .08404-.22327c.009-.08015-.0016-.16137-.03163-.23629a.48835.48835 0 0 0-.13985-.19319.49318.49318 0 0 0-.2149-.1048l-3.70686-.7861.22947-4.58008a.48802.48802 0 0 0-.08466-.30017.4913.4913 0 0 0-.24931-.18853.49439.49439 0 0 0-.1566-.02574zM1.15697 9.78795c-.30647.0012-.60009.12378-.81679.34048a1.16107 1.16107 0 0 0-.34017.81648 1.162 1.162 0 0 0 .33366.81957l10.84241 10.8421a1.15762 1.15762 0 0 0 .37677.25211 1.1583 1.1583 0 0 0 .44467.08838c.00084 0 .0016-.00031.0025-.00031.00073 0 .0014.00031.0022.00031a1.15827 1.15827 0 0 0 .44467-.08838 1.15731 1.15731 0 0 0 .37677-.2521l10.84236-10.8421a1.16272 1.16272 0 0 0 .33397-.81958c-.0013-.30647-.12376-.59976-.34048-.81648a1.1616 1.1616 0 0 0-.81679-.34048 1.16114 1.16114 0 0 0-.81926.33366l-5.4012 5.4009c-.0078.0074-.01718.01255-.02482.02015L12 20.14011l-4.59776-4.59745c-.0074-.0074-.01659-.01238-.02419-.01954l-5.4015-5.40151a1.162 1.162 0 0 0-.81958-.33366Z"/></svg>
|
|
1
|
+
<svg fill="#6E9F18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Vitest</title><path d="M13.74024 1.05293a.49504.49504 0 0 0-.1569.02512.49338.49338 0 0 0-.25056.1876L7.59513 9.56159a.4895.4895 0 0 0-.08373.22327.48846.48846 0 0 0 .03163.23629.4893.4893 0 0 0 .13985.19319.4927.4927 0 0 0 .2149.10481l3.70685.78609-.22947 4.58007a.48834.48834 0 0 0 .08466.30017.49205.49205 0 0 0 .24931.18854c.10157.03398.21174.03444.3135.00064a.49387.49387 0 0 0 .25056-.18761l5.73735-8.29594a.4884.4884 0 0 0 .08404-.22327c.009-.08015-.0016-.16137-.03163-.23629a.48835.48835 0 0 0-.13985-.19319.49318.49318 0 0 0-.2149-.1048l-3.70686-.7861.22947-4.58008a.48802.48802 0 0 0-.08466-.30017.4913.4913 0 0 0-.24931-.18853.49439.49439 0 0 0-.1566-.02574zM1.15697 9.78795c-.30647.0012-.60009.12378-.81679.34048a1.16107 1.16107 0 0 0-.34017.81648 1.162 1.162 0 0 0 .33366.81957l10.84241 10.8421a1.15762 1.15762 0 0 0 .37677.25211 1.1583 1.1583 0 0 0 .44467.08838c.00084 0 .0016-.00031.0025-.00031.00073 0 .0014.00031.0022.00031a1.15827 1.15827 0 0 0 .44467-.08838 1.15731 1.15731 0 0 0 .37677-.2521l10.84236-10.8421a1.16272 1.16272 0 0 0 .33397-.81958c-.0013-.30647-.12376-.59976-.34048-.81648a1.1616 1.1616 0 0 0-.81679-.34048 1.16114 1.16114 0 0 0-.81926.33366l-5.4012 5.4009c-.0078.0074-.01718.01255-.02482.02015L12 20.14011l-4.59776-4.59745c-.0074-.0074-.01659-.01238-.02419-.01954l-5.4015-5.40151a1.162 1.162 0 0 0-.81958-.33366Z"/></svg>
|