@iviva/uxp-lint 0.0.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 (85) hide show
  1. package/README.md +273 -0
  2. package/bin/uxp-lint.js +2 -0
  3. package/dist/cli.d.ts +1 -0
  4. package/dist/cli.js +100 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/config.d.ts +4 -0
  7. package/dist/config.js +42 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/eslint/config.d.ts +2 -0
  10. package/dist/eslint/config.js +225 -0
  11. package/dist/eslint/config.js.map +1 -0
  12. package/dist/eslint/rules/event-name-format.d.ts +5 -0
  13. package/dist/eslint/rules/event-name-format.js +59 -0
  14. package/dist/eslint/rules/event-name-format.js.map +1 -0
  15. package/dist/eslint/rules/no-bad-hook-deps.d.ts +5 -0
  16. package/dist/eslint/rules/no-bad-hook-deps.js +57 -0
  17. package/dist/eslint/rules/no-bad-hook-deps.js.map +1 -0
  18. package/dist/eslint/rules/no-fa-prefix.d.ts +5 -0
  19. package/dist/eslint/rules/no-fa-prefix.js +59 -0
  20. package/dist/eslint/rules/no-fa-prefix.js.map +1 -0
  21. package/dist/eslint/rules/no-hardcoded-jsx-text.d.ts +5 -0
  22. package/dist/eslint/rules/no-hardcoded-jsx-text.js +55 -0
  23. package/dist/eslint/rules/no-hardcoded-jsx-text.js.map +1 -0
  24. package/dist/eslint/rules/no-inline-styles.d.ts +8 -0
  25. package/dist/eslint/rules/no-inline-styles.js +41 -0
  26. package/dist/eslint/rules/no-inline-styles.js.map +1 -0
  27. package/dist/eslint/rules/no-native-html-interactive.d.ts +5 -0
  28. package/dist/eslint/rules/no-native-html-interactive.js +81 -0
  29. package/dist/eslint/rules/no-native-html-interactive.js.map +1 -0
  30. package/dist/eslint/rules/require-memo.d.ts +9 -0
  31. package/dist/eslint/rules/require-memo.js +70 -0
  32. package/dist/eslint/rules/require-memo.js.map +1 -0
  33. package/dist/eslint/rules/service-config-shape.d.ts +5 -0
  34. package/dist/eslint/rules/service-config-shape.js +80 -0
  35. package/dist/eslint/rules/service-config-shape.js.map +1 -0
  36. package/dist/eslint/rules/url-params-form-state.d.ts +5 -0
  37. package/dist/eslint/rules/url-params-form-state.js +75 -0
  38. package/dist/eslint/rules/url-params-form-state.js.map +1 -0
  39. package/dist/reporter.d.ts +22 -0
  40. package/dist/reporter.js +260 -0
  41. package/dist/reporter.js.map +1 -0
  42. package/dist/rule-registry.d.ts +2 -0
  43. package/dist/rule-registry.js +46 -0
  44. package/dist/rule-registry.js.map +1 -0
  45. package/dist/rules-reader.d.ts +4 -0
  46. package/dist/rules-reader.js +16 -0
  47. package/dist/rules-reader.js.map +1 -0
  48. package/dist/runner.d.ts +7 -0
  49. package/dist/runner.js +62 -0
  50. package/dist/runner.js.map +1 -0
  51. package/dist/setup.d.ts +2 -0
  52. package/dist/setup.js +80 -0
  53. package/dist/setup.js.map +1 -0
  54. package/dist/types.d.ts +55 -0
  55. package/dist/types.js +39 -0
  56. package/dist/types.js.map +1 -0
  57. package/dist/validators/ai.d.ts +2 -0
  58. package/dist/validators/ai.js +115 -0
  59. package/dist/validators/ai.js.map +1 -0
  60. package/dist/validators/bulk-imports.d.ts +3 -0
  61. package/dist/validators/bulk-imports.js +94 -0
  62. package/dist/validators/bulk-imports.js.map +1 -0
  63. package/dist/validators/bundle-json.d.ts +3 -0
  64. package/dist/validators/bundle-json.js +130 -0
  65. package/dist/validators/bundle-json.js.map +1 -0
  66. package/dist/validators/bundle-size.d.ts +3 -0
  67. package/dist/validators/bundle-size.js +51 -0
  68. package/dist/validators/bundle-size.js.map +1 -0
  69. package/dist/validators/config-yml.d.ts +3 -0
  70. package/dist/validators/config-yml.js +148 -0
  71. package/dist/validators/config-yml.js.map +1 -0
  72. package/dist/validators/duplication.d.ts +3 -0
  73. package/dist/validators/duplication.js +65 -0
  74. package/dist/validators/duplication.js.map +1 -0
  75. package/dist/validators/folder-structure.d.ts +3 -0
  76. package/dist/validators/folder-structure.js +123 -0
  77. package/dist/validators/folder-structure.js.map +1 -0
  78. package/dist/validators/formatting.d.ts +3 -0
  79. package/dist/validators/formatting.js +97 -0
  80. package/dist/validators/formatting.js.map +1 -0
  81. package/dist/validators/scss-rules.d.ts +3 -0
  82. package/dist/validators/scss-rules.js +156 -0
  83. package/dist/validators/scss-rules.js.map +1 -0
  84. package/package.json +58 -0
  85. package/templates/prettier.config.js +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scss-rules.js","sourceRoot":"","sources":["../../src/validators/scss-rules.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@iviva/uxp-lint",
3
+ "version": "0.0.1",
4
+ "description": "Linting and validation tool for iviva v5 UXP apps",
5
+ "keywords": ["iviva", "uxp", "lint", "v5"],
6
+ "license": "ISC",
7
+ "homepage": "https://github.com/lucy-platform/uxp-lint",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/lucy-platform/uxp-lint.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/lucy-platform/uxp-lint/issues"
14
+ },
15
+ "main": "dist/cli.js",
16
+ "bin": {
17
+ "uxp-lint": "bin/uxp-lint.js"
18
+ },
19
+ "scripts": {
20
+ "build": "tsc --build",
21
+ "watch": "tsc --watch",
22
+ "clean": "rm -rf dist",
23
+ "prepublishOnly": "npm run clean && npm run build"
24
+ },
25
+ "files": [
26
+ "dist/**/*",
27
+ "bin/**/*",
28
+ "templates/**/*"
29
+ ],
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "engines": {
34
+ "node": ">=18"
35
+ },
36
+ "dependencies": {
37
+ "@anthropic-ai/sdk": "^0.26.0",
38
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
39
+ "@typescript-eslint/parser": "^7.18.0",
40
+ "chalk": "^4.1.2",
41
+ "commander": "^9.5.0",
42
+ "eslint": "^8.57.0",
43
+ "eslint-plugin-import": "^2.29.1",
44
+ "eslint-plugin-react": "^7.34.0",
45
+ "eslint-plugin-react-hooks": "^4.6.2",
46
+ "fast-xml-parser": "^4.3.6",
47
+ "js-yaml": "^4.1.0",
48
+ "jscpd": "^3.5.10",
49
+ "prettier": "^3.3.0"
50
+ },
51
+ "devDependencies": {
52
+ "@types/eslint": "^8.56.10",
53
+ "@types/js-yaml": "^4.0.9",
54
+ "@types/node": "^22.0.0",
55
+ "@types/prettier": "^3.0.0",
56
+ "typescript": "^5.5.0"
57
+ }
58
+ }
@@ -0,0 +1,11 @@
1
+ /** @type {import("prettier").Config} */
2
+ module.exports = {
3
+ singleQuote: true,
4
+ trailingComma: 'es5',
5
+ printWidth: 120,
6
+ tabWidth: 4,
7
+ semi: true,
8
+ bracketSpacing: true,
9
+ arrowParens: 'always',
10
+ endOfLine: 'lf',
11
+ };