@aigne/doc-smith 0.8.10 → 0.8.11-beta.1

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 (260) hide show
  1. package/.aigne/doc-smith/config.yaml +2 -0
  2. package/.aigne/doc-smith/output/structure-plan.json +3 -3
  3. package/.aigne/doc-smith/upload-cache.yaml +252 -0
  4. package/.github/workflows/create-release-pr.yaml +21 -0
  5. package/.github/workflows/publish-docs.yml +67 -0
  6. package/.github/workflows/release.yml +3 -7
  7. package/.release-please-manifest.json +1 -1
  8. package/CHANGELOG.md +22 -0
  9. package/README.md +48 -115
  10. package/RELEASE.md +1 -2
  11. package/agents/clear/choose-contents.mjs +170 -0
  12. package/agents/clear/clear-auth-tokens.mjs +111 -0
  13. package/agents/clear/clear-document-config.mjs +39 -0
  14. package/agents/clear/clear-document-structure.mjs +106 -0
  15. package/agents/clear/clear-generated-docs.mjs +51 -0
  16. package/agents/clear/index.yaml +23 -0
  17. package/agents/evaluate/code-snippet.mjs +93 -0
  18. package/agents/evaluate/document-structure.yaml +70 -0
  19. package/agents/evaluate/document.yaml +79 -0
  20. package/agents/evaluate/generate-report.mjs +78 -0
  21. package/agents/evaluate/index.yaml +39 -0
  22. package/agents/generate/document-structure-tools/add-document.mjs +56 -0
  23. package/agents/generate/document-structure-tools/delete-document.mjs +49 -0
  24. package/agents/generate/document-structure-tools/move-document.mjs +82 -0
  25. package/agents/generate/document-structure-tools/update-document.mjs +50 -0
  26. package/agents/generate/generate-structure.yaml +1 -1
  27. package/agents/generate/update-document-structure.yaml +42 -0
  28. package/agents/generate/user-review-document-structure.mjs +6 -4
  29. package/agents/init/index.mjs +1 -1
  30. package/agents/publish/publish-docs.mjs +12 -3
  31. package/agents/translate/choose-language.mjs +1 -1
  32. package/agents/update/batch-update-document.yaml +7 -0
  33. package/agents/update/check-update-is-single.mjs +38 -0
  34. package/agents/update/document-tools/update-document-content.mjs +293 -0
  35. package/agents/update/index.yaml +4 -10
  36. package/agents/update/update-document-detail.yaml +52 -0
  37. package/agents/update/update-single-document.yaml +15 -0
  38. package/agents/update/user-review-document.mjs +248 -0
  39. package/agents/utils/choose-docs.mjs +4 -2
  40. package/agents/utils/format-document-structure.mjs +12 -2
  41. package/agents/utils/load-document-all-content.mjs +84 -0
  42. package/agents/utils/load-sources.mjs +4 -1
  43. package/aigne.yaml +59 -20
  44. package/assets/report-template/report.html +198 -0
  45. package/biome.json +14 -2
  46. package/docs/advanced-how-it-works.ja.md +101 -0
  47. package/docs/advanced-how-it-works.zh-TW.md +101 -0
  48. package/docs/advanced-how-it-works.zh.md +20 -20
  49. package/docs/advanced-quality-assurance.ja.md +96 -0
  50. package/docs/advanced-quality-assurance.zh-TW.md +96 -0
  51. package/docs/advanced-quality-assurance.zh.md +18 -18
  52. package/docs/advanced.ja.md +16 -0
  53. package/docs/advanced.zh-TW.md +16 -0
  54. package/docs/advanced.zh.md +4 -4
  55. package/docs/changelog.ja.md +309 -0
  56. package/docs/changelog.zh-TW.md +309 -0
  57. package/docs/changelog.zh.md +23 -23
  58. package/docs/cli-reference.ja.md +210 -0
  59. package/docs/cli-reference.zh-TW.md +210 -0
  60. package/docs/cli-reference.zh.md +21 -21
  61. package/docs/configuration-interactive-setup.ja.md +135 -0
  62. package/docs/configuration-interactive-setup.zh-TW.md +135 -0
  63. package/docs/configuration-interactive-setup.zh.md +29 -29
  64. package/docs/configuration-language-support.ja.md +94 -0
  65. package/docs/configuration-language-support.zh-TW.md +94 -0
  66. package/docs/configuration-language-support.zh.md +13 -13
  67. package/docs/configuration-llm-setup.ja.md +54 -0
  68. package/docs/configuration-llm-setup.zh-TW.md +54 -0
  69. package/docs/configuration-llm-setup.zh.md +12 -12
  70. package/docs/configuration-preferences.ja.md +129 -0
  71. package/docs/configuration-preferences.zh-TW.md +129 -0
  72. package/docs/configuration-preferences.zh.md +36 -36
  73. package/docs/configuration.ja.md +172 -0
  74. package/docs/configuration.zh-TW.md +172 -0
  75. package/docs/configuration.zh.md +49 -49
  76. package/docs/features-generate-documentation.ja.md +101 -0
  77. package/docs/features-generate-documentation.zh-TW.md +101 -0
  78. package/docs/features-generate-documentation.zh.md +17 -17
  79. package/docs/features-publish-your-docs.ja.md +107 -0
  80. package/docs/features-publish-your-docs.zh-TW.md +107 -0
  81. package/docs/features-publish-your-docs.zh.md +22 -22
  82. package/docs/features-translate-documentation.ja.md +79 -0
  83. package/docs/features-translate-documentation.zh-TW.md +79 -0
  84. package/docs/features-translate-documentation.zh.md +12 -12
  85. package/docs/features-update-and-refine.ja.md +138 -0
  86. package/docs/features-update-and-refine.zh-TW.md +138 -0
  87. package/docs/features-update-and-refine.zh.md +21 -21
  88. package/docs/features.ja.md +52 -0
  89. package/docs/features.zh-TW.md +52 -0
  90. package/docs/features.zh.md +8 -8
  91. package/docs/getting-started.ja.md +123 -0
  92. package/docs/getting-started.zh-TW.md +123 -0
  93. package/docs/getting-started.zh.md +24 -24
  94. package/docs/overview.ja.md +30 -0
  95. package/docs/overview.zh-TW.md +30 -0
  96. package/docs/overview.zh.md +8 -8
  97. package/package.json +19 -11
  98. package/prompts/common/document/content-rules-core.md +19 -0
  99. package/prompts/common/document/media-handling-rules.md +9 -0
  100. package/prompts/common/document/role-and-personality.md +15 -0
  101. package/prompts/common/document/user-preferences.md +9 -0
  102. package/prompts/common/document-structure/conflict-resolution-guidance.md +16 -0
  103. package/prompts/common/document-structure/document-structure-rules.md +45 -0
  104. package/prompts/common/document-structure/glossary.md +7 -0
  105. package/prompts/common/document-structure/intj-traits.md +5 -0
  106. package/prompts/common/document-structure/output-constraints.md +9 -0
  107. package/prompts/common/document-structure/user-locale-rules.md +10 -0
  108. package/prompts/common/document-structure/user-preferences.md +9 -0
  109. package/prompts/detail/custom/custom-components.md +9 -1
  110. package/prompts/detail/document-rules.md +6 -6
  111. package/prompts/detail/generate-document.md +5 -45
  112. package/prompts/detail/update-document.md +145 -0
  113. package/prompts/evaluate/document-structure.md +94 -0
  114. package/prompts/evaluate/document.md +149 -0
  115. package/prompts/structure/document-rules.md +1 -1
  116. package/prompts/structure/generate-structure-system.md +74 -0
  117. package/prompts/structure/generate-structure-user.md +41 -0
  118. package/prompts/structure/update-document-structure.md +118 -0
  119. package/prompts/translate/translate-document.md +1 -1
  120. package/prompts/utils/feedback-refiner.md +3 -3
  121. package/release-please-config.json +4 -3
  122. package/tests/agents/clear/choose-contents.test.mjs +280 -0
  123. package/tests/agents/clear/clear-auth-tokens.test.mjs +268 -0
  124. package/tests/agents/clear/clear-document-config.test.mjs +167 -0
  125. package/tests/agents/clear/clear-document-structure.test.mjs +374 -0
  126. package/tests/agents/clear/clear-generated-docs.test.mjs +222 -0
  127. package/tests/agents/evaluate/code-snippet.test.mjs +163 -0
  128. package/tests/agents/evaluate/fixtures/api-services.md +87 -0
  129. package/tests/agents/evaluate/fixtures/js-sdk.md +94 -0
  130. package/tests/agents/evaluate/generate-report.test.mjs +312 -0
  131. package/tests/agents/generate/check-document-structure.test.mjs +0 -6
  132. package/tests/agents/generate/document-structure-tools/add-document.test.mjs +449 -0
  133. package/tests/agents/generate/document-structure-tools/delete-document.test.mjs +410 -0
  134. package/tests/agents/generate/document-structure-tools/move-document.test.mjs +476 -0
  135. package/tests/agents/generate/document-structure-tools/update-document.test.mjs +548 -0
  136. package/tests/agents/generate/generate-structure.test.mjs +0 -6
  137. package/tests/agents/generate/user-review-document-structure.test.mjs +9 -9
  138. package/tests/agents/publish/publish-docs.test.mjs +2 -2
  139. package/tests/agents/update/check-update-is-single.test.mjs +300 -0
  140. package/tests/agents/update/document-tools/update-document-content.test.mjs +326 -0
  141. package/tests/agents/update/user-review-document.test.mjs +561 -0
  142. package/tests/agents/utils/format-document-structure.test.mjs +100 -0
  143. package/tests/utils/auth-utils.test.mjs +239 -1
  144. package/tests/utils/blocklet.test.mjs +9 -7
  145. package/tests/utils/constants.test.mjs +1 -1
  146. package/tests/utils/d2-utils.test.mjs +1 -1
  147. package/tests/utils/deploy.test.mjs +310 -366
  148. package/tests/utils/kroki-utils.test.mjs +2 -15
  149. package/tests/utils/linter/fixtures/css/keyword-error.css +1 -0
  150. package/tests/utils/linter/fixtures/css/missing-semicolon.css +1 -0
  151. package/tests/utils/linter/fixtures/css/syntax-error.css +1 -0
  152. package/tests/utils/linter/fixtures/css/undeclare-variable.css +1 -0
  153. package/tests/utils/linter/fixtures/css/unused-variable.css +2 -0
  154. package/tests/utils/linter/fixtures/css/valid-code.css +1 -0
  155. package/tests/utils/linter/fixtures/dockerfile/keyword-error.dockerfile +1 -0
  156. package/tests/utils/linter/fixtures/dockerfile/missing-semicolon.dockerfile +2 -0
  157. package/tests/utils/linter/fixtures/dockerfile/syntax-error.dockerfile +2 -0
  158. package/tests/utils/linter/fixtures/dockerfile/undeclare-variable.dockerfile +1 -0
  159. package/tests/utils/linter/fixtures/dockerfile/unused-variable.dockerfile +1 -0
  160. package/tests/utils/linter/fixtures/dockerfile/valid-code.dockerfile +2 -0
  161. package/tests/utils/linter/fixtures/go/keyword-error.go +5 -0
  162. package/tests/utils/linter/fixtures/go/missing-semicolon.go +5 -0
  163. package/tests/utils/linter/fixtures/go/syntax-error.go +6 -0
  164. package/tests/utils/linter/fixtures/go/undeclare-variable.go +5 -0
  165. package/tests/utils/linter/fixtures/go/unused-variable.go +5 -0
  166. package/tests/utils/linter/fixtures/go/valid-code.go +7 -0
  167. package/tests/utils/linter/fixtures/js/keyword-error.js +3 -0
  168. package/tests/utils/linter/fixtures/js/missing-semicolon.js +6 -0
  169. package/tests/utils/linter/fixtures/js/syntax-error.js +4 -0
  170. package/tests/utils/linter/fixtures/js/undeclare-variable.js +3 -0
  171. package/tests/utils/linter/fixtures/js/unused-variable.js +7 -0
  172. package/tests/utils/linter/fixtures/js/valid-code.js +15 -0
  173. package/tests/utils/linter/fixtures/json/keyword-error.json +1 -0
  174. package/tests/utils/linter/fixtures/json/missing-semicolon.json +1 -0
  175. package/tests/utils/linter/fixtures/json/syntax-error.json +1 -0
  176. package/tests/utils/linter/fixtures/json/undeclare-variable.json +1 -0
  177. package/tests/utils/linter/fixtures/json/unused-variable.json +1 -0
  178. package/tests/utils/linter/fixtures/json/valid-code.json +1 -0
  179. package/tests/utils/linter/fixtures/jsx/keyword-error.jsx +5 -0
  180. package/tests/utils/linter/fixtures/jsx/missing-semicolon.jsx +5 -0
  181. package/tests/utils/linter/fixtures/jsx/syntax-error.jsx +5 -0
  182. package/tests/utils/linter/fixtures/jsx/undeclare-variable.jsx +5 -0
  183. package/tests/utils/linter/fixtures/jsx/unused-variable.jsx +4 -0
  184. package/tests/utils/linter/fixtures/jsx/valid-code.jsx +5 -0
  185. package/tests/utils/linter/fixtures/python/keyword-error.py +3 -0
  186. package/tests/utils/linter/fixtures/python/missing-semicolon.py +2 -0
  187. package/tests/utils/linter/fixtures/python/syntax-error.py +3 -0
  188. package/tests/utils/linter/fixtures/python/undeclare-variable.py +3 -0
  189. package/tests/utils/linter/fixtures/python/unused-variable.py +6 -0
  190. package/tests/utils/linter/fixtures/python/valid-code.py +12 -0
  191. package/tests/utils/linter/fixtures/ruby/keyword-error.rb +2 -0
  192. package/tests/utils/linter/fixtures/ruby/missing-semicolon.rb +1 -0
  193. package/tests/utils/linter/fixtures/ruby/syntax-error.rb +2 -0
  194. package/tests/utils/linter/fixtures/ruby/undeclare-variable.rb +1 -0
  195. package/tests/utils/linter/fixtures/ruby/unused-variable.rb +2 -0
  196. package/tests/utils/linter/fixtures/ruby/valid-code.rb +1 -0
  197. package/tests/utils/linter/fixtures/sass/keyword-error.sass +2 -0
  198. package/tests/utils/linter/fixtures/sass/missing-semicolon.sass +3 -0
  199. package/tests/utils/linter/fixtures/sass/syntax-error.sass +3 -0
  200. package/tests/utils/linter/fixtures/sass/undeclare-variable.sass +2 -0
  201. package/tests/utils/linter/fixtures/sass/unused-variable.sass +4 -0
  202. package/tests/utils/linter/fixtures/sass/valid-code.sass +2 -0
  203. package/tests/utils/linter/fixtures/scss/keyword-error.scss +1 -0
  204. package/tests/utils/linter/fixtures/scss/missing-semicolon.scss +1 -0
  205. package/tests/utils/linter/fixtures/scss/syntax-error.scss +1 -0
  206. package/tests/utils/linter/fixtures/scss/undeclare-variable.scss +1 -0
  207. package/tests/utils/linter/fixtures/scss/unused-variable.scss +2 -0
  208. package/tests/utils/linter/fixtures/scss/valid-code.scss +1 -0
  209. package/tests/utils/linter/fixtures/shell/keyword-error.sh +5 -0
  210. package/tests/utils/linter/fixtures/shell/missing-semicolon.sh +3 -0
  211. package/tests/utils/linter/fixtures/shell/syntax-error.sh +4 -0
  212. package/tests/utils/linter/fixtures/shell/undeclare-variable.sh +3 -0
  213. package/tests/utils/linter/fixtures/shell/unused-variable.sh +4 -0
  214. package/tests/utils/linter/fixtures/shell/valid-code.sh +3 -0
  215. package/tests/utils/linter/fixtures/ts/keyword-error.ts +1 -0
  216. package/tests/utils/linter/fixtures/ts/missing-semicolon.ts +1 -0
  217. package/tests/utils/linter/fixtures/ts/syntax-error.ts +1 -0
  218. package/tests/utils/linter/fixtures/ts/undeclare-variable.ts +1 -0
  219. package/tests/utils/linter/fixtures/ts/unused-variable.ts +3 -0
  220. package/tests/utils/linter/fixtures/ts/valid-code.ts +3 -0
  221. package/tests/utils/linter/fixtures/tsx/keyword-error.tsx +5 -0
  222. package/tests/utils/linter/fixtures/tsx/missing-semicolon.tsx +5 -0
  223. package/tests/utils/linter/fixtures/tsx/syntax-error.tsx +5 -0
  224. package/tests/utils/linter/fixtures/tsx/undeclare-variable.tsx +6 -0
  225. package/tests/utils/linter/fixtures/tsx/unused-variable.tsx +6 -0
  226. package/tests/utils/linter/fixtures/tsx/valid-code.tsx +5 -0
  227. package/tests/utils/linter/fixtures/vue/keyword-error.vue +6 -0
  228. package/tests/utils/linter/fixtures/vue/missing-semicolon.vue +6 -0
  229. package/tests/utils/linter/fixtures/vue/syntax-error.vue +6 -0
  230. package/tests/utils/linter/fixtures/vue/undeclare-variable.vue +6 -0
  231. package/tests/utils/linter/fixtures/vue/unused-variable.vue +7 -0
  232. package/tests/utils/linter/fixtures/vue/valid-code.vue +6 -0
  233. package/tests/utils/linter/fixtures/yaml/keyword-error.yml +1 -0
  234. package/tests/utils/linter/fixtures/yaml/missing-semicolon.yml +2 -0
  235. package/tests/utils/linter/fixtures/yaml/syntax-error.yml +1 -0
  236. package/tests/utils/linter/fixtures/yaml/undeclare-variable.yml +1 -0
  237. package/tests/utils/linter/fixtures/yaml/unused-variable.yml +2 -0
  238. package/tests/utils/linter/fixtures/yaml/valid-code.yml +3 -0
  239. package/tests/utils/linter/index.test.mjs +440 -0
  240. package/tests/utils/linter/scan-results.mjs +42 -0
  241. package/tests/utils/markdown/index.test.mjs +478 -0
  242. package/tests/utils/mermaid-validator.test.mjs +2 -2
  243. package/tests/utils/utils.test.mjs +3 -1
  244. package/types/document-schema.mjs +54 -0
  245. package/types/document-structure-schema.mjs +244 -0
  246. package/utils/auth-utils.mjs +131 -6
  247. package/utils/conflict-detector.mjs +5 -1
  248. package/utils/{constants.mjs → constants/index.mjs} +109 -0
  249. package/utils/constants/linter.mjs +102 -0
  250. package/utils/d2-utils.mjs +2 -4
  251. package/utils/debug.mjs +3 -0
  252. package/utils/deploy.mjs +81 -385
  253. package/utils/evaluate/report-utils.mjs +131 -0
  254. package/utils/file-utils.mjs +36 -1
  255. package/utils/kroki-utils.mjs +1 -1
  256. package/utils/linter/index.mjs +50 -0
  257. package/utils/markdown/index.mjs +26 -0
  258. package/utils/markdown-checker.mjs +1 -1
  259. package/utils/utils.mjs +19 -7
  260. package/prompts/structure/generate-structure.md +0 -161
@@ -6,7 +6,7 @@ import path from "node:path";
6
6
 
7
7
  import Debug from "debug";
8
8
 
9
- import { TMP_ASSETS_DIR } from "../../utils/constants.mjs";
9
+ import { TMP_ASSETS_DIR } from "../../utils/constants/index.mjs";
10
10
  import {
11
11
  beforePublishHook,
12
12
  checkD2Content,
@@ -16,7 +16,7 @@ import {
16
16
  saveD2Assets,
17
17
  } from "../../utils/kroki-utils.mjs";
18
18
 
19
- describe("kroki-utils", () => {
19
+ describe.skip("kroki-utils", () => {
20
20
  let tempDir;
21
21
 
22
22
  beforeEach(async () => {
@@ -261,9 +261,6 @@ E -> F
261
261
 
262
262
  expect(typeof result).toBe("string");
263
263
  expect(result).toContain(`![](${path.posix.join("..", TMP_ASSETS_DIR, "d2")}`);
264
- expect(
265
- debugLogs.some((log) => log.includes("Found assets cache, skipping generation")),
266
- ).toBe(true);
267
264
  } finally {
268
265
  process.stderr.write = originalWrite;
269
266
  Debug.disable();
@@ -625,16 +622,6 @@ E -> F
625
622
  expect(result.split("\n").length).toBeGreaterThan(3);
626
623
  });
627
624
 
628
- test("should handle multiple concurrent calls to checkD2Content", async () => {
629
- const content = "A -> B: test";
630
-
631
- // Concurrent calls should not interfere with each other
632
- const promises = Array.from({ length: 5 }, () => checkD2Content({ content }));
633
-
634
- // All should succeed without throwing errors
635
- await expect(Promise.all(promises)).resolves.toBeDefined();
636
- });
637
-
638
625
  test("should handle multiple concurrent calls to ensureTmpDir", async () => {
639
626
  const originalCwd = process.cwd();
640
627
  process.chdir(tempDir);
@@ -0,0 +1 @@
1
+ body { color: }
@@ -0,0 +1 @@
1
+ body { color: red }
@@ -0,0 +1 @@
1
+ body { color: red;
@@ -0,0 +1 @@
1
+ body { content: var(--undefined); }
@@ -0,0 +1,2 @@
1
+ /* unused variable via custom property */
2
+ :root { --unused: 1; }
@@ -0,0 +1 @@
1
+ body { color: red; }
@@ -0,0 +1,2 @@
1
+ FROM alpine
2
+ RUN echo hi
@@ -0,0 +1,2 @@
1
+ FROM alpine
2
+ RUN if [ 1 -eq 1 ] then echo hi
@@ -0,0 +1,2 @@
1
+ FROM alpine:3.18
2
+ CMD ["echo","ok"]
@@ -0,0 +1,5 @@
1
+ package main
2
+
3
+ func main() {
4
+ var := 1
5
+ }
@@ -0,0 +1,5 @@
1
+ package main
2
+
3
+ func main() {
4
+ fmt.Println("hi")
5
+ }
@@ -0,0 +1,6 @@
1
+ package main
2
+
3
+ import "fmt"
4
+
5
+ func main() {
6
+ fmt.Println("ok")
@@ -0,0 +1,5 @@
1
+ package main
2
+
3
+ func main() {
4
+ x = 1
5
+ }
@@ -0,0 +1,5 @@
1
+ package main
2
+
3
+ func main() {
4
+ var x int
5
+ }
@@ -0,0 +1,7 @@
1
+ package main
2
+
3
+ import "fmt"
4
+
5
+ func main() {
6
+ fmt.Println("ok")
7
+ }
@@ -0,0 +1,3 @@
1
+ aync function main() {
2
+ console.log("main");
3
+ }
@@ -0,0 +1,6 @@
1
+ // Missing semicolon
2
+ function testFunction() {
3
+ console.log('Missing semicolon')
4
+ console.log('Another missing semicolon')
5
+ // Both lines above should have semicolons
6
+ }
@@ -0,0 +1,4 @@
1
+ // Syntax error: missing closing brace
2
+ function testFunction() {
3
+ console.log('Hello World');
4
+ // Missing closing brace here
@@ -0,0 +1,3 @@
1
+ const foo = "bar";
2
+ const logger = console;
3
+ console.info(foos);
@@ -0,0 +1,7 @@
1
+ // Unused variable
2
+ function testFunction() {
3
+ const unusedVar = 'This variable is never used';
4
+ const usedVar = 'This variable is used';
5
+ console.log(usedVar);
6
+ // unusedVar is declared but never used
7
+ }
@@ -0,0 +1,15 @@
1
+ // Valid JavaScript code with no errors
2
+ function greetUser(name) {
3
+ const greeting = `Hello, ${name}!`;
4
+ console.log(greeting);
5
+ return greeting;
6
+ }
7
+
8
+ function calculateSum(a, b) {
9
+ return a + b;
10
+ }
11
+
12
+ // Using the functions
13
+ greetUser('John');
14
+ const result = calculateSum(5, 3);
15
+ console.log(`The sum is: ${result}`);
@@ -0,0 +1 @@
1
+ {"key":"value" }
@@ -0,0 +1 @@
1
+ { key: value }
@@ -0,0 +1 @@
1
+ {"unused": true}
@@ -0,0 +1 @@
1
+ {"key":"value","list":["a"]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ export default function Comp() {
4
+ return <div>{for}</div>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react'
2
+
3
+ export default function Comp() {
4
+ return <div>hi</div>
5
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ export default function Comp() {
4
+ return <div>hi
5
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ export default function Comp() {
4
+ return <div>{UNDEF}</div>;
5
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+
3
+ const unused = 1;
4
+ export default function Comp() { return <div>ok</div>; }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ export default function Comp() {
4
+ return <div>ok</div>;
5
+ }
@@ -0,0 +1,3 @@
1
+ # Using reserved keyword as variable name
2
+ class = "reserved"
3
+ print(class)
@@ -0,0 +1,2 @@
1
+ # Python does not require semicolons, but let's simulate a style issue
2
+ print("Hello") print("World")
@@ -0,0 +1,3 @@
1
+ # Syntax error example
2
+ for i in range(5)
3
+ print(i)
@@ -0,0 +1,3 @@
1
+ foo = "bar"
2
+ logger = print
3
+ print(foos)
@@ -0,0 +1,6 @@
1
+ # Unused variable example
2
+ def foo():
3
+ a = 10
4
+ b = 20
5
+ return a
6
+ foo()
@@ -0,0 +1,12 @@
1
+ # Valid Python code with no errors
2
+ def greet_user(name):
3
+ greeting = f"Hello, {name}!"
4
+ print(greeting)
5
+ return greeting
6
+
7
+ def calculate_sum(a, b):
8
+ return a + b
9
+
10
+ greet_user('John')
11
+ result = calculate_sum(5, 3)
12
+ print(f"The sum is: {result}")
@@ -0,0 +1,2 @@
1
+ def 1foo
2
+ end
@@ -0,0 +1 @@
1
+ puts 'hi' puts 'hi2'
@@ -0,0 +1,2 @@
1
+ def foo
2
+ puts 'hi'
@@ -0,0 +1 @@
1
+ puts undefined_var
@@ -0,0 +1,2 @@
1
+ x = 1
2
+ # unused
@@ -0,0 +1 @@
1
+ puts 'ok'
@@ -0,0 +1,2 @@
1
+ body
2
+ color:
@@ -0,0 +1,3 @@
1
+ body
2
+ color: red
3
+ display: block
@@ -0,0 +1,3 @@
1
+ body
2
+ color: red
3
+ display: block
@@ -0,0 +1,2 @@
1
+ body
2
+ content: $undef
@@ -0,0 +1,4 @@
1
+ $x: 1
2
+ // unused
3
+ body
4
+ color: red
@@ -0,0 +1,2 @@
1
+ body
2
+ color: red
@@ -0,0 +1 @@
1
+ body { color: ; }
@@ -0,0 +1 @@
1
+ body { color: red }
@@ -0,0 +1 @@
1
+ body { color: red;
@@ -0,0 +1 @@
1
+ body { content: $undef; }
@@ -0,0 +1,2 @@
1
+ $a: 1;
2
+ // unused
@@ -0,0 +1 @@
1
+ body { color: red; }
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env sh
2
+
3
+ if then
4
+ echo "bad"
5
+ fi
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env sh
2
+
3
+ echo "one" echo "two"
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+
3
+ if [ 1 -eq 1 ] then
4
+ echo "hi"
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env sh
2
+
3
+ echo "$UNDECLARED_VAR"
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+
3
+ UNUSED_VAR=1
4
+ # not used
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env sh
2
+
3
+ echo "ok"
@@ -0,0 +1 @@
1
+ export function foo() { const = 1 }
@@ -0,0 +1 @@
1
+ export const a = 1
@@ -0,0 +1 @@
1
+ export function foo( { }
@@ -0,0 +1 @@
1
+ export function foo() { return x }
@@ -0,0 +1,3 @@
1
+ const x: number = 1
2
+
3
+ export const ok = true
@@ -0,0 +1,3 @@
1
+ export function add(a: number, b: number): number {
2
+ return a + b;
3
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ export default function Comp() {
4
+ return <div>{for}</div>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+
3
+ export default function Comp() {
4
+ return <div>hi</div>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+
3
+ export default function Comp() {
4
+ return <div>hi
5
+ }
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+
3
+ export default function Comp() {
4
+ // @ts-ignore
5
+ return <div>{UNDEF}</div>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+
3
+ const unused = 1;
4
+ export default function Comp() {
5
+ return <div>ok</div>;
6
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+
3
+ export default function Comp() {
4
+ return <div>ok</div>;
5
+ }
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <div>{{ for }}</div>
3
+ </template>
4
+ <script>
5
+ export default {}
6
+ </script>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <div>hi</div>
3
+ </template>
4
+ <script>
5
+ export default {}
6
+ </script>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <div>hi
3
+ </template>
4
+ <script>
5
+ export default {}
6
+ </script>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <div>{{ UNDEF }}</div>
3
+ </template>
4
+ <script>
5
+ export default {}
6
+ </script>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <div>ok</div>
3
+ </template>
4
+ <script>
5
+ const unused = 1
6
+ export default {}
7
+ </script>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <div>ok</div>
3
+ </template>
4
+ <script>
5
+ export default {}
6
+ </script>
@@ -0,0 +1,2 @@
1
+ key: value
2
+ badindent
@@ -0,0 +1 @@
1
+ - just: [unclosed
@@ -0,0 +1,2 @@
1
+ unused: true
2
+ # unused
@@ -0,0 +1,3 @@
1
+ key: value
2
+ list:
3
+ - a