@jesscss/plugin-less-compat 2.0.0-alpha.1 → 2.0.0-alpha.10

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 (112) hide show
  1. package/README.md +50 -115
  2. package/lib/index.cjs +342 -0
  3. package/lib/index.d.ts +2 -2
  4. package/lib/index.js +332 -9
  5. package/lib/less-api-bridge.d.ts +85 -0
  6. package/lib/plugin.d.ts +21 -82
  7. package/package.json +14 -19
  8. package/lib/index.js.map +0 -1
  9. package/lib/less-compat-structures.d.ts +0 -108
  10. package/lib/less-compat-structures.js +0 -519
  11. package/lib/less-compat-structures.js.map +0 -1
  12. package/lib/nodes/at-rule.d.ts +0 -6
  13. package/lib/nodes/at-rule.js +0 -72
  14. package/lib/nodes/at-rule.js.map +0 -1
  15. package/lib/nodes/attribute-selector.d.ts +0 -6
  16. package/lib/nodes/attribute-selector.js +0 -54
  17. package/lib/nodes/attribute-selector.js.map +0 -1
  18. package/lib/nodes/call.d.ts +0 -6
  19. package/lib/nodes/call.js +0 -83
  20. package/lib/nodes/call.js.map +0 -1
  21. package/lib/nodes/color.d.ts +0 -6
  22. package/lib/nodes/color.js +0 -57
  23. package/lib/nodes/color.js.map +0 -1
  24. package/lib/nodes/combinator.d.ts +0 -6
  25. package/lib/nodes/combinator.js +0 -34
  26. package/lib/nodes/combinator.js.map +0 -1
  27. package/lib/nodes/comment.d.ts +0 -6
  28. package/lib/nodes/comment.js +0 -41
  29. package/lib/nodes/comment.js.map +0 -1
  30. package/lib/nodes/condition.d.ts +0 -6
  31. package/lib/nodes/condition.js +0 -60
  32. package/lib/nodes/condition.js.map +0 -1
  33. package/lib/nodes/declaration.d.ts +0 -6
  34. package/lib/nodes/declaration.js +0 -81
  35. package/lib/nodes/declaration.js.map +0 -1
  36. package/lib/nodes/dimension.d.ts +0 -6
  37. package/lib/nodes/dimension.js +0 -47
  38. package/lib/nodes/dimension.js.map +0 -1
  39. package/lib/nodes/expression.d.ts +0 -6
  40. package/lib/nodes/expression.js +0 -44
  41. package/lib/nodes/expression.js.map +0 -1
  42. package/lib/nodes/extend.d.ts +0 -6
  43. package/lib/nodes/extend.js +0 -57
  44. package/lib/nodes/extend.js.map +0 -1
  45. package/lib/nodes/import.d.ts +0 -6
  46. package/lib/nodes/import.js +0 -63
  47. package/lib/nodes/import.js.map +0 -1
  48. package/lib/nodes/index.d.ts +0 -45
  49. package/lib/nodes/index.js +0 -308
  50. package/lib/nodes/index.js.map +0 -1
  51. package/lib/nodes/keyword.d.ts +0 -6
  52. package/lib/nodes/keyword.js +0 -36
  53. package/lib/nodes/keyword.js.map +0 -1
  54. package/lib/nodes/list.d.ts +0 -6
  55. package/lib/nodes/list.js +0 -150
  56. package/lib/nodes/list.js.map +0 -1
  57. package/lib/nodes/mixin.d.ts +0 -6
  58. package/lib/nodes/mixin.js +0 -62
  59. package/lib/nodes/mixin.js.map +0 -1
  60. package/lib/nodes/negative.d.ts +0 -6
  61. package/lib/nodes/negative.js +0 -42
  62. package/lib/nodes/negative.js.map +0 -1
  63. package/lib/nodes/operation.d.ts +0 -6
  64. package/lib/nodes/operation.js +0 -63
  65. package/lib/nodes/operation.js.map +0 -1
  66. package/lib/nodes/paren.d.ts +0 -6
  67. package/lib/nodes/paren.js +0 -42
  68. package/lib/nodes/paren.js.map +0 -1
  69. package/lib/nodes/quoted.d.ts +0 -6
  70. package/lib/nodes/quoted.js +0 -57
  71. package/lib/nodes/quoted.js.map +0 -1
  72. package/lib/nodes/reference.d.ts +0 -9
  73. package/lib/nodes/reference.js +0 -80
  74. package/lib/nodes/reference.js.map +0 -1
  75. package/lib/nodes/ruleset.d.ts +0 -6
  76. package/lib/nodes/ruleset.js +0 -108
  77. package/lib/nodes/ruleset.js.map +0 -1
  78. package/lib/nodes/selector.d.ts +0 -8
  79. package/lib/nodes/selector.js +0 -226
  80. package/lib/nodes/selector.js.map +0 -1
  81. package/lib/nodes/sequence.d.ts +0 -9
  82. package/lib/nodes/sequence.js +0 -75
  83. package/lib/nodes/sequence.js.map +0 -1
  84. package/lib/nodes/url.d.ts +0 -6
  85. package/lib/nodes/url.js +0 -42
  86. package/lib/nodes/url.js.map +0 -1
  87. package/lib/nodes/var-declaration.d.ts +0 -6
  88. package/lib/nodes/var-declaration.js +0 -60
  89. package/lib/nodes/var-declaration.js.map +0 -1
  90. package/lib/plugin-utils.d.ts +0 -20
  91. package/lib/plugin-utils.js +0 -100
  92. package/lib/plugin-utils.js.map +0 -1
  93. package/lib/plugin.js +0 -1027
  94. package/lib/plugin.js.map +0 -1
  95. package/lib/transform/from-less.d.ts +0 -30
  96. package/lib/transform/from-less.js +0 -170
  97. package/lib/transform/from-less.js.map +0 -1
  98. package/lib/transform/index.d.ts +0 -7
  99. package/lib/transform/index.js +0 -8
  100. package/lib/transform/index.js.map +0 -1
  101. package/lib/transform/proxy.d.ts +0 -32
  102. package/lib/transform/proxy.js +0 -138
  103. package/lib/transform/proxy.js.map +0 -1
  104. package/lib/transform/to-less.d.ts +0 -17
  105. package/lib/transform/to-less.js +0 -128
  106. package/lib/transform/to-less.js.map +0 -1
  107. package/lib/transform/type-map.d.ts +0 -27
  108. package/lib/transform/type-map.js +0 -105
  109. package/lib/transform/type-map.js.map +0 -1
  110. package/lib/types.d.ts +0 -33
  111. package/lib/types.js +0 -5
  112. package/lib/types.js.map +0 -1
@@ -1,100 +0,0 @@
1
- /**
2
- * Utilities for working with Less.js plugins in Jess
3
- */
4
- /**
5
- * Detect if a plugin is a Less.js plugin
6
- */
7
- export function isLessPlugin(plugin) {
8
- if (!plugin) {
9
- return false;
10
- }
11
- // Less plugins typically have an install method
12
- if (typeof plugin.install === 'function') {
13
- return true;
14
- }
15
- // Some Less plugins are constructor functions that create instances with install
16
- // Check if the constructor's prototype has install (like autoprefix)
17
- if (typeof plugin === 'function') {
18
- // Check if the function itself has install (some plugins are like this)
19
- if (typeof plugin.install === 'function') {
20
- return true;
21
- }
22
- // Check if the constructor's prototype has install
23
- if (plugin.prototype && typeof plugin.prototype.install === 'function') {
24
- return true;
25
- }
26
- // Try calling as a constructor
27
- try {
28
- const instance = new plugin({});
29
- if (instance && typeof instance.install === 'function') {
30
- return true;
31
- }
32
- }
33
- catch (e) {
34
- // Try calling as a function
35
- try {
36
- const instance = plugin({});
37
- if (instance && typeof instance.install === 'function') {
38
- return true;
39
- }
40
- // Even if it returns undefined, if it's a function it might be a Less plugin
41
- // Less.js will handle it by checking for install on the plugin object itself
42
- // So we should treat functions as potential Less plugins
43
- return true; // Assume function might be a Less plugin
44
- }
45
- catch (e2) {
46
- // Not a Less plugin
47
- }
48
- }
49
- }
50
- return false;
51
- }
52
- /**
53
- * Detect if a plugin is a Jess plugin
54
- */
55
- export function isJessPlugin(plugin) {
56
- if (!plugin) {
57
- return false;
58
- }
59
- // Jess plugins implement PluginInterface
60
- // They have a name property and implement AbstractPlugin or match PluginInterface
61
- if (typeof plugin === 'object' && 'name' in plugin && typeof plugin.name === 'string') {
62
- // Could be a Jess plugin
63
- return true;
64
- }
65
- // Plugin factory functions that return PluginInterface
66
- if (typeof plugin === 'function') {
67
- try {
68
- const instance = plugin({});
69
- if (instance && typeof instance === 'object' && 'name' in instance && typeof instance.name === 'string') {
70
- return true;
71
- }
72
- }
73
- catch (e) {
74
- // Not a Jess plugin factory
75
- }
76
- }
77
- return false;
78
- }
79
- /**
80
- * Filter and separate Less plugins from Jess plugins
81
- * This allows mixed plugin arrays to be handled correctly
82
- */
83
- export function filterPlugins(plugins) {
84
- const lessPlugins = [];
85
- const jessPlugins = [];
86
- for (const plugin of plugins) {
87
- if (isLessPlugin(plugin)) {
88
- lessPlugins.push(plugin);
89
- }
90
- else if (isJessPlugin(plugin)) {
91
- jessPlugins.push(plugin);
92
- }
93
- else {
94
- // Unknown type - assume it's a Less plugin and try to handle it
95
- lessPlugins.push(plugin);
96
- }
97
- }
98
- return { lessPlugins, jessPlugins };
99
- }
100
- //# sourceMappingURL=plugin-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../src/plugin-utils.ts"],"names":[],"mappings":"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"}