@elia97/officina 0.2.0 → 0.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 (74) hide show
  1. package/README.md +93 -4
  2. package/dist/bin.d.ts +8 -0
  3. package/dist/bin.js +12 -3
  4. package/dist/checks/analytics.d.ts +2 -0
  5. package/dist/checks/analytics.js +48 -0
  6. package/dist/checks/bundle.d.ts +2 -0
  7. package/dist/checks/bundle.js +98 -0
  8. package/dist/checks/comments.d.ts +2 -0
  9. package/dist/checks/doctor.d.ts +2 -0
  10. package/dist/checks/doctor.js +45 -8
  11. package/dist/checks/language.d.ts +2 -0
  12. package/dist/checks/lighthouse.d.ts +2 -0
  13. package/dist/checks/lighthouse.js +37 -0
  14. package/dist/checks/placeholders.d.ts +2 -0
  15. package/dist/checks/roadmap.d.ts +2 -0
  16. package/dist/checks/routes.d.ts +2 -0
  17. package/dist/checks/smoke.d.ts +2 -0
  18. package/dist/checks/smoke.js +57 -0
  19. package/dist/checks/vercel-cli.d.ts +2 -0
  20. package/dist/checks/vercel-cli.js +8 -6
  21. package/dist/gen/collection.d.mts +1 -0
  22. package/dist/gen/component.d.mts +1 -0
  23. package/dist/gen/icons.d.ts +2 -0
  24. package/dist/gen/icons.js +27 -0
  25. package/dist/gen/identifier.d.mts +1 -0
  26. package/dist/gen/inject-config.d.mts +12 -0
  27. package/dist/gen/inject-section.d.mts +16 -0
  28. package/dist/gen/inject-strings.d.mts +8 -0
  29. package/dist/gen/page.d.mts +10 -0
  30. package/dist/gen/plopfile.d.mts +2 -0
  31. package/dist/gen/post-gen.d.mts +1 -0
  32. package/dist/gen/run.d.ts +2 -0
  33. package/dist/gen/section-targets.d.mts +23 -0
  34. package/dist/gen/section.d.mts +1 -0
  35. package/dist/gen/sectioned-collection.d.mts +26 -0
  36. package/dist/gen/ts-morph-utils.d.mts +1 -0
  37. package/dist/index.d.ts +10 -0
  38. package/dist/index.js +5 -0
  39. package/dist/lib/alignment.d.ts +23 -0
  40. package/dist/lib/alignment.js +166 -0
  41. package/dist/lib/analytics-coverage.d.ts +12 -0
  42. package/dist/lib/analytics-coverage.js +15 -0
  43. package/dist/lib/bundle-budget.d.ts +24 -0
  44. package/dist/lib/bundle-budget.js +50 -0
  45. package/dist/lib/check-comments.d.ts +10 -0
  46. package/dist/lib/check-language.d.ts +11 -0
  47. package/dist/lib/check-placeholders.d.ts +6 -0
  48. package/dist/lib/check-roadmap.d.ts +30 -0
  49. package/dist/lib/check-routes.d.ts +6 -0
  50. package/dist/lib/cli.d.ts +26 -0
  51. package/dist/lib/comment-syntax.d.ts +11 -0
  52. package/dist/lib/config.d.ts +25 -0
  53. package/dist/lib/config.js +22 -0
  54. package/dist/lib/contract.d.ts +22 -0
  55. package/dist/lib/git.d.ts +6 -0
  56. package/dist/lib/gtm-container.d.ts +41 -0
  57. package/dist/lib/gtm-container.js +145 -0
  58. package/dist/lib/icon-specs.d.ts +6 -0
  59. package/dist/lib/icon-specs.js +6 -0
  60. package/dist/lib/icons.d.ts +6 -0
  61. package/dist/lib/icons.js +32 -0
  62. package/dist/lib/language-words.d.ts +2 -0
  63. package/dist/lib/lighthouse.d.ts +17 -0
  64. package/dist/lib/lighthouse.js +23 -0
  65. package/dist/lib/past-tense.d.ts +1 -0
  66. package/dist/lib/routes.d.ts +31 -0
  67. package/dist/lib/routes.js +97 -0
  68. package/dist/lib/smoke-production.d.ts +35 -0
  69. package/dist/lib/smoke-production.js +132 -0
  70. package/dist/lib/vercel-cli-pin.d.ts +2 -0
  71. package/dist/sh/lhci-local.sh +106 -0
  72. package/package.json +19 -3
  73. package/presets/biome.base.json +100 -0
  74. package/presets/lefthook.yml +11 -0
package/package.json CHANGED
@@ -1,18 +1,26 @@
1
1
  {
2
2
  "name": "@elia97/officina",
3
- "version": "0.2.0",
4
- "description": "Gli strumenti dei progetti nati dai template di Elia: gate di qualità e, più avanti, generatori.",
3
+ "version": "0.4.0",
4
+ "description": "Gli strumenti dei progetti nati dai template di Elia: gate di qualità, generatori e verifiche di build e di produzione.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/Elia97/officina.git"
10
10
  },
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ },
16
+ "./biome": "./presets/biome.base.json"
17
+ },
11
18
  "bin": {
12
19
  "officina": "dist/bin.js"
13
20
  },
14
21
  "files": [
15
22
  "dist",
23
+ "presets",
16
24
  "README.md"
17
25
  ],
18
26
  "engines": {
@@ -33,8 +41,16 @@
33
41
  "plop": "^4.0.5",
34
42
  "ts-morph": "^28.0.0"
35
43
  },
44
+ "peerDependencies": {
45
+ "sharp": ">=0.34.0"
46
+ },
47
+ "peerDependenciesMeta": {
48
+ "sharp": {
49
+ "optional": true
50
+ }
51
+ },
36
52
  "scripts": {
37
- "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -r src/gen/templates dist/gen/templates",
53
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -r src/gen/templates dist/gen/templates && cp -r src/sh dist/sh",
38
54
  "typecheck": "tsc --noEmit",
39
55
  "test": "vitest run --coverage",
40
56
  "format": "biome check --write .",
@@ -0,0 +1,100 @@
1
+ {
2
+ "vcs": {
3
+ "enabled": true,
4
+ "clientKind": "git",
5
+ "useIgnoreFile": true
6
+ },
7
+ "files": {
8
+ "includes": [
9
+ "**",
10
+ "!!**/dist",
11
+ "!!**/public",
12
+ "!!.claude/worktrees",
13
+ "!!src/assets/**/*.svg",
14
+ "!!.release-please-manifest.json"
15
+ ]
16
+ },
17
+ "formatter": {
18
+ "enabled": true,
19
+ "indentStyle": "space",
20
+ "lineWidth": 120
21
+ },
22
+ "linter": {
23
+ "enabled": true,
24
+ "rules": {
25
+ "preset": "recommended",
26
+ "style": {
27
+ "noExcessiveLinesPerFile": {
28
+ "level": "error",
29
+ "options": {
30
+ "maxLines": 200
31
+ }
32
+ }
33
+ },
34
+ "complexity": {
35
+ "noExcessiveLinesPerFunction": "error"
36
+ },
37
+ "nursery": {
38
+ "useSortedClasses": {
39
+ "level": "error",
40
+ "options": {
41
+ "functions": ["cn", "cva"]
42
+ }
43
+ }
44
+ }
45
+ }
46
+ },
47
+ "javascript": {
48
+ "formatter": {
49
+ "quoteStyle": "single",
50
+ "semicolons": "asNeeded"
51
+ }
52
+ },
53
+ "css": {
54
+ "parser": {
55
+ "tailwindDirectives": true
56
+ }
57
+ },
58
+ "assist": {
59
+ "enabled": true,
60
+ "actions": {
61
+ "source": {
62
+ "organizeImports": {
63
+ "level": "on",
64
+ "options": {
65
+ "groups": [
66
+ [":PACKAGE_WITH_PROTOCOL:", ":PACKAGE:"],
67
+ ":BLANK_LINE:",
68
+ ["@/components/**"],
69
+ ":BLANK_LINE:",
70
+ ["@/layouts/**"],
71
+ ":BLANK_LINE:",
72
+ ["@/lib/**"],
73
+ ":BLANK_LINE:",
74
+ ["@/i18n", "@/i18n/**"],
75
+ ":BLANK_LINE:",
76
+ ["@/actions", "@/actions/**"],
77
+ ":BLANK_LINE:",
78
+ ["@/emails/**"],
79
+ ":BLANK_LINE:",
80
+ ":PATH:"
81
+ ]
82
+ }
83
+ }
84
+ }
85
+ }
86
+ },
87
+ "overrides": [
88
+ {
89
+ "includes": ["**/*.astro"],
90
+ "linter": {
91
+ "rules": {
92
+ "correctness": {
93
+ "noUnusedVariables": "off",
94
+ "noUnusedImports": "off"
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ]
100
+ }
@@ -0,0 +1,11 @@
1
+ pre-commit:
2
+ commands:
3
+ biome-check:
4
+ glob: "*.{js,jsx,ts,tsx,astro,json,jsonc,css}"
5
+ run: pnpm -s biome:fix {staged_files}
6
+ stage_fixed: true
7
+
8
+ commit-msg:
9
+ commands:
10
+ commitlint:
11
+ run: pnpm exec commitlint --edit {1}