md2cv 1.2.0 → 1.4.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.ja.md +7 -0
  3. package/README.md +7 -0
  4. package/dist/cli/index.d.ts +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +45 -27
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/generator/common.d.ts +86 -0
  9. package/dist/generator/common.d.ts.map +1 -0
  10. package/dist/generator/common.js +326 -0
  11. package/dist/generator/common.js.map +1 -0
  12. package/dist/generator/index.d.ts +39 -12
  13. package/dist/generator/index.d.ts.map +1 -1
  14. package/dist/generator/index.js +43 -30
  15. package/dist/generator/index.js.map +1 -1
  16. package/dist/generator/resume_en.d.ts +4 -15
  17. package/dist/generator/resume_en.d.ts.map +1 -1
  18. package/dist/generator/resume_en.js +23 -323
  19. package/dist/generator/resume_en.js.map +1 -1
  20. package/dist/generator/resume_ja.d.ts +4 -15
  21. package/dist/generator/resume_ja.d.ts.map +1 -1
  22. package/dist/generator/resume_ja.js +17 -263
  23. package/dist/generator/resume_ja.js.map +1 -1
  24. package/dist/generator/rirekisho/styles.d.ts.map +1 -1
  25. package/dist/generator/rirekisho/styles.js +9 -14
  26. package/dist/generator/rirekisho/styles.js.map +1 -1
  27. package/dist/generator/rirekisho/types.d.ts +2 -2
  28. package/dist/generator/rirekisho/types.d.ts.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/parser/index.d.ts.map +1 -1
  34. package/dist/parser/index.js +172 -109
  35. package/dist/parser/index.js.map +1 -1
  36. package/dist/parser/lsp.d.ts +58 -0
  37. package/dist/parser/lsp.d.ts.map +1 -0
  38. package/dist/parser/lsp.js +265 -0
  39. package/dist/parser/lsp.js.map +1 -0
  40. package/dist/types/config.d.ts +23 -15
  41. package/dist/types/config.d.ts.map +1 -1
  42. package/dist/types/index.d.ts +1 -0
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js +1 -0
  45. package/dist/types/index.js.map +1 -1
  46. package/dist/types/position.d.ts +42 -0
  47. package/dist/types/position.d.ts.map +1 -0
  48. package/dist/types/position.js +32 -0
  49. package/dist/types/position.js.map +1 -0
  50. package/dist/types/sections.d.ts +39 -24
  51. package/dist/types/sections.d.ts.map +1 -1
  52. package/dist/types/sections.js +21 -0
  53. package/dist/types/sections.js.map +1 -1
  54. package/dist/validator/index.d.ts.map +1 -1
  55. package/dist/validator/index.js +1 -2
  56. package/dist/validator/index.js.map +1 -1
  57. package/examples/example-cv-ja.md +1 -1
  58. package/package.json +52 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAQ3B;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAqED;;GAEG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAcxC;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAQ3B;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAoED;;GAEG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAcxC;AAED,eAAe,UAAU,CAAC"}
@@ -37,8 +37,7 @@ function validateSections(cv, format, errors, logger) {
37
37
  // Warn about unknown sections
38
38
  // Get all H1 headings from raw content to check for unknown sections
39
39
  const h1Regex = /^#\s+(.+)$/gm;
40
- let match;
41
- while ((match = h1Regex.exec(cv.rawContent)) !== null) {
40
+ for (const match of cv.rawContent.matchAll(h1Regex)) {
42
41
  const title = match[1]?.trim();
43
42
  if (title) {
44
43
  const sectionDef = findSectionByTag(title);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ email_address2: taro.yamada2@example.com
11
11
  phone_number2: 03-1234-5678
12
12
  post_code2: 100-0001
13
13
  home_address2: 東京都千代田区千代田 1 - 1
14
- home_address_furigana2: とうきょうと ちよだく ちよだ
14
+ home_address2_furigana: とうきょうと ちよだく ちよだ
15
15
  dob: 1995-04-15
16
16
  gender: 男
17
17
  ---
package/package.json CHANGED
@@ -1,10 +1,48 @@
1
1
  {
2
2
  "name": "md2cv",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Transform Markdown into professional CVs and Japanese rirekisho (履歴書) - supports PDF/HTML output with multiple paper sizes",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./parser": {
14
+ "types": "./dist/parser/index.d.ts",
15
+ "import": "./dist/parser/index.js"
16
+ },
17
+ "./parser/lsp": {
18
+ "types": "./dist/parser/lsp.d.ts",
19
+ "import": "./dist/parser/lsp.js"
20
+ },
21
+ "./types": {
22
+ "types": "./dist/types/index.d.ts",
23
+ "import": "./dist/types/index.js"
24
+ },
25
+ "./types/sections": {
26
+ "types": "./dist/types/sections.d.ts",
27
+ "import": "./dist/types/sections.js"
28
+ },
29
+ "./types/config": {
30
+ "types": "./dist/types/config.d.ts",
31
+ "import": "./dist/types/config.js"
32
+ },
33
+ "./validator": {
34
+ "types": "./dist/validator/index.d.ts",
35
+ "import": "./dist/validator/index.js"
36
+ },
37
+ "./generator": {
38
+ "types": "./dist/generator/index.d.ts",
39
+ "import": "./dist/generator/index.js"
40
+ },
41
+ "./template": {
42
+ "types": "./dist/template/index.d.ts",
43
+ "import": "./dist/template/index.js"
44
+ }
45
+ },
8
46
  "bin": {
9
47
  "md2cv": "./dist/bin.js"
10
48
  },
@@ -31,13 +69,12 @@
31
69
  "test:integration": "vitest run tests/integration",
32
70
  "test:e2e": "vitest run tests/e2e",
33
71
  "test:watch": "vitest",
34
- "typecheck": "tsc --noEmit"
72
+ "typecheck": "tsc --noEmit",
73
+ "prepare": "husky"
35
74
  },
36
75
  "keywords": [
37
76
  "cv",
38
77
  "resume",
39
- "rirekisho",
40
- "shokumukeirekisho",
41
78
  "markdown",
42
79
  "pdf",
43
80
  "html",
@@ -62,6 +99,8 @@
62
99
  "eslint": "^9.39.1",
63
100
  "eslint-config-prettier": "^10.1.8",
64
101
  "fast-check": "^4.4.0",
102
+ "husky": "^9.1.7",
103
+ "lint-staged": "^16.2.7",
65
104
  "markdownlint": "^0.40.0",
66
105
  "markdownlint-cli": "^0.47.0",
67
106
  "prettier": "^3.5.0",
@@ -89,5 +128,14 @@
89
128
  "remark-stringify": "^11.0.0",
90
129
  "unified": "^11.0.5",
91
130
  "yaml": "^2.8.2"
131
+ },
132
+ "lint-staged": {
133
+ "*.ts": [
134
+ "prettier --write",
135
+ "eslint --fix"
136
+ ],
137
+ "*.{json,md,yaml,yml}": [
138
+ "prettier --write"
139
+ ]
92
140
  }
93
141
  }