stackscan 0.1.24 → 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.
Files changed (51) hide show
  1. package/README.md +10 -0
  2. package/dist/add.mjs +3 -2
  3. package/dist/chunk-2ZANNQYS.mjs +162 -0
  4. package/dist/chunk-5AYPCRZA.mjs +21 -0
  5. package/dist/chunk-CFGUYUPP.mjs +42 -0
  6. package/dist/chunk-DF3YGYKJ.mjs +2241 -0
  7. package/dist/chunk-GFZMRHRT.mjs +181 -0
  8. package/dist/chunk-HT4RZGLE.mjs +267 -0
  9. package/dist/chunk-IFB4PCXR.mjs +28 -0
  10. package/dist/chunk-MFJXW5RR.mjs +6 -0
  11. package/dist/chunk-SECL5E42.mjs +23 -0
  12. package/dist/chunk-STCTH5AY.mjs +15619 -0
  13. package/dist/chunk-ZYFKPOWH.mjs +54 -0
  14. package/dist/cli.js +34 -7
  15. package/dist/cli.mjs +11 -7
  16. package/dist/defaults.mjs +3 -2
  17. package/dist/defaults.test.d.mts +2 -0
  18. package/dist/defaults.test.d.ts +2 -0
  19. package/dist/defaults.test.js +17007 -0
  20. package/dist/defaults.test.mjs +30 -0
  21. package/dist/index.js +34 -7
  22. package/dist/index.mjs +18 -12
  23. package/dist/magic-string.es-WH4FGKAB.mjs +1315 -0
  24. package/dist/output.mjs +4 -3
  25. package/dist/output.test.d.mts +2 -0
  26. package/dist/output.test.d.ts +2 -0
  27. package/dist/output.test.js +20687 -0
  28. package/dist/output.test.mjs +160 -0
  29. package/dist/scan.js +34 -7
  30. package/dist/scan.mjs +7 -6
  31. package/dist/scan.test.d.mts +2 -0
  32. package/dist/scan.test.d.ts +2 -0
  33. package/dist/scan.test.js +23184 -0
  34. package/dist/scan.test.mjs +183 -0
  35. package/dist/simple-icons-hex.mjs +1 -0
  36. package/dist/sync.js +1 -2
  37. package/dist/sync.mjs +7 -6
  38. package/dist/techDefinitions.js +1 -2
  39. package/dist/techDefinitions.mjs +3 -2
  40. package/dist/techMap.js +1 -2
  41. package/dist/techMap.mjs +4 -3
  42. package/dist/techMap.test.d.mts +2 -0
  43. package/dist/techMap.test.d.ts +2 -0
  44. package/dist/techMap.test.js +19240 -0
  45. package/dist/techMap.test.mjs +38 -0
  46. package/dist/types.mjs +3 -2
  47. package/package.json +9 -4
  48. package/public/assets/logos/defaults/package.svg +18 -18
  49. package/public/assets/logos/defaults/terminal.svg +16 -16
  50. package/public/assets/logos/defaults/wrench.svg +15 -15
  51. 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.mjs CHANGED
@@ -1,2 +1,3 @@
1
- import "./chunk-WAXGOBY2.mjs";
2
- import "./chunk-EOKQCSHI.mjs";
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.24",
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
- "start": "node dist/cli.js",
15
- "scan": "ts-node src/scan.ts"
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>