@jadujoel/web-audio-clip-node 0.1.0 → 0.1.2

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 (346) hide show
  1. package/README.md +9 -3
  2. package/dist/audio/ClipNode.js +312 -0
  3. package/dist/audio/processor-code.js +2 -0
  4. package/dist/audio/processor-kernel.js +861 -0
  5. package/dist/audio/processor.js +80 -0
  6. package/dist/audio/types.js +9 -0
  7. package/dist/audio/utils.js +128 -0
  8. package/dist/audio/version.d.ts +1 -0
  9. package/dist/audio/version.js +2 -0
  10. package/dist/audio/workletUrl.js +17 -0
  11. package/dist/components/AudioControl.js +99 -0
  12. package/dist/components/ContextMenu.js +73 -0
  13. package/dist/components/ControlSection.js +74 -0
  14. package/dist/components/DetuneControl.js +44 -0
  15. package/dist/components/DisplayPanel.js +6 -0
  16. package/dist/components/FilterControl.js +48 -0
  17. package/dist/components/GainControl.js +44 -0
  18. package/dist/components/PanControl.js +50 -0
  19. package/dist/components/PlaybackRateControl.js +44 -0
  20. package/dist/components/PlayheadSlider.js +20 -0
  21. package/dist/components/SnappableSlider.js +174 -0
  22. package/dist/components/TransportButtons.js +9 -0
  23. package/dist/controls/controlDefs.js +211 -0
  24. package/dist/controls/formatValueText.js +80 -0
  25. package/dist/controls/linkedControlPairs.js +51 -0
  26. package/dist/data/cache.js +17 -0
  27. package/dist/data/fileStore.js +39 -0
  28. package/dist/hooks/useClipNode.js +338 -0
  29. package/dist/lib-react.js +17 -19
  30. package/dist/lib.bundle.js +6 -0
  31. package/dist/lib.bundle.js.map +7 -0
  32. package/dist/lib.js +16 -44
  33. package/dist/store/clipStore.js +71 -0
  34. package/examples/README.md +10 -0
  35. package/examples/cdn-vanilla/README.md +13 -0
  36. package/examples/cdn-vanilla/index.html +69 -0
  37. package/examples/esm-bundler/README.md +8 -0
  38. package/examples/esm-bundler/index.html +12 -0
  39. package/examples/esm-bundler/node_modules/.package-lock.json +1168 -0
  40. package/examples/esm-bundler/node_modules/@esbuild/darwin-arm64/README.md +3 -0
  41. package/examples/esm-bundler/node_modules/@esbuild/darwin-arm64/bin/esbuild +0 -0
  42. package/examples/esm-bundler/node_modules/@esbuild/darwin-arm64/package.json +20 -0
  43. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/LICENSE +21 -0
  44. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/README.md +91 -0
  45. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/ClipNode.d.ts +86 -0
  46. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/ClipNode.js +312 -0
  47. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/processor-code.d.ts +1 -0
  48. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/processor-code.js +2 -0
  49. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/processor-kernel.d.ts +43 -0
  50. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/processor-kernel.js +861 -0
  51. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/processor.d.ts +1 -0
  52. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/processor.js +80 -0
  53. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/types.d.ts +192 -0
  54. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/types.js +9 -0
  55. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/utils.d.ts +22 -0
  56. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/utils.js +128 -0
  57. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/version.d.ts +1 -0
  58. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/version.js +2 -0
  59. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/workletUrl.d.ts +6 -0
  60. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/audio/workletUrl.js +17 -0
  61. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/AudioControl.d.ts +28 -0
  62. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/AudioControl.js +99 -0
  63. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/ContextMenu.d.ts +17 -0
  64. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/ContextMenu.js +73 -0
  65. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/ControlSection.d.ts +26 -0
  66. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/ControlSection.js +74 -0
  67. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/DetuneControl.d.ts +10 -0
  68. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/DetuneControl.js +44 -0
  69. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/DisplayPanel.d.ts +14 -0
  70. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/DisplayPanel.js +6 -0
  71. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/FilterControl.d.ts +12 -0
  72. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/FilterControl.js +48 -0
  73. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/GainControl.d.ts +10 -0
  74. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/GainControl.js +44 -0
  75. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/PanControl.d.ts +10 -0
  76. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/PanControl.js +50 -0
  77. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/PlaybackRateControl.d.ts +10 -0
  78. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/PlaybackRateControl.js +44 -0
  79. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/PlayheadSlider.d.ts +13 -0
  80. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/PlayheadSlider.js +20 -0
  81. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/SnappableSlider.d.ts +18 -0
  82. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/SnappableSlider.js +174 -0
  83. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/TransportButtons.d.ts +14 -0
  84. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/components/TransportButtons.js +9 -0
  85. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/controls/controlDefs.d.ts +31 -0
  86. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/controls/controlDefs.js +211 -0
  87. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/controls/formatValueText.d.ts +2 -0
  88. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/controls/formatValueText.js +80 -0
  89. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/controls/linkedControlPairs.d.ts +20 -0
  90. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/controls/linkedControlPairs.js +51 -0
  91. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/data/cache.d.ts +1 -0
  92. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/data/cache.js +17 -0
  93. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/data/fileStore.d.ts +6 -0
  94. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/data/fileStore.js +39 -0
  95. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/hooks/useClipNode.d.ts +31 -0
  96. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/hooks/useClipNode.js +338 -0
  97. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/lib-react.d.ts +15 -0
  98. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/lib-react.js +17 -0
  99. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/lib.d.ts +16 -0
  100. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/lib.js +16 -0
  101. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/processor.js +4 -0
  102. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/processor.js.map +12 -0
  103. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/store/clipStore.d.ts +63 -0
  104. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/store/clipStore.js +71 -0
  105. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/dist/styles.css +739 -0
  106. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/README.md +10 -0
  107. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/cdn-vanilla/README.md +13 -0
  108. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/cdn-vanilla/index.html +61 -0
  109. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/esm-bundler/README.md +8 -0
  110. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/esm-bundler/index.html +12 -0
  111. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/esm-bundler/package.json +15 -0
  112. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/esm-bundler/src/main.ts +43 -0
  113. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/react/README.md +10 -0
  114. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/react/index.html +12 -0
  115. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/react/package.json +21 -0
  116. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/react/src/App.tsx +20 -0
  117. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/react/src/main.tsx +9 -0
  118. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/react/vite.config.ts +6 -0
  119. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/self-hosted/README.md +11 -0
  120. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/self-hosted/index.html +12 -0
  121. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/self-hosted/package.json +16 -0
  122. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/self-hosted/public/.gitkeep +1 -0
  123. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/examples/self-hosted/src/main.ts +46 -0
  124. package/examples/esm-bundler/node_modules/@jadujoel/web-audio-clip-node/package.json +88 -0
  125. package/examples/esm-bundler/node_modules/@rollup/rollup-darwin-arm64/README.md +3 -0
  126. package/examples/esm-bundler/node_modules/@rollup/rollup-darwin-arm64/package.json +22 -0
  127. package/examples/esm-bundler/node_modules/@rollup/rollup-darwin-arm64/rollup.darwin-arm64.node +0 -0
  128. package/examples/esm-bundler/node_modules/@types/estree/LICENSE +21 -0
  129. package/examples/esm-bundler/node_modules/@types/estree/README.md +15 -0
  130. package/examples/esm-bundler/node_modules/@types/estree/flow.d.ts +167 -0
  131. package/examples/esm-bundler/node_modules/@types/estree/index.d.ts +694 -0
  132. package/examples/esm-bundler/node_modules/@types/estree/package.json +27 -0
  133. package/examples/esm-bundler/node_modules/esbuild/LICENSE.md +21 -0
  134. package/examples/esm-bundler/node_modules/esbuild/README.md +3 -0
  135. package/examples/esm-bundler/node_modules/esbuild/bin/esbuild +0 -0
  136. package/examples/esm-bundler/node_modules/esbuild/install.js +289 -0
  137. package/examples/esm-bundler/node_modules/esbuild/lib/main.d.ts +716 -0
  138. package/examples/esm-bundler/node_modules/esbuild/lib/main.js +2242 -0
  139. package/examples/esm-bundler/node_modules/esbuild/package.json +49 -0
  140. package/examples/esm-bundler/node_modules/fdir/LICENSE +7 -0
  141. package/examples/esm-bundler/node_modules/fdir/README.md +91 -0
  142. package/examples/esm-bundler/node_modules/fdir/dist/index.cjs +588 -0
  143. package/examples/esm-bundler/node_modules/fdir/dist/index.d.cts +155 -0
  144. package/examples/esm-bundler/node_modules/fdir/dist/index.d.mts +155 -0
  145. package/examples/esm-bundler/node_modules/fdir/dist/index.mjs +570 -0
  146. package/examples/esm-bundler/node_modules/fdir/package.json +103 -0
  147. package/examples/esm-bundler/node_modules/nanoid/LICENSE +20 -0
  148. package/examples/esm-bundler/node_modules/nanoid/README.md +39 -0
  149. package/examples/esm-bundler/node_modules/nanoid/async/index.browser.cjs +69 -0
  150. package/examples/esm-bundler/node_modules/nanoid/async/index.browser.js +34 -0
  151. package/examples/esm-bundler/node_modules/nanoid/async/index.cjs +71 -0
  152. package/examples/esm-bundler/node_modules/nanoid/async/index.d.ts +56 -0
  153. package/examples/esm-bundler/node_modules/nanoid/async/index.js +35 -0
  154. package/examples/esm-bundler/node_modules/nanoid/async/index.native.js +26 -0
  155. package/examples/esm-bundler/node_modules/nanoid/async/package.json +12 -0
  156. package/examples/esm-bundler/node_modules/nanoid/bin/nanoid.cjs +55 -0
  157. package/examples/esm-bundler/node_modules/nanoid/index.browser.cjs +72 -0
  158. package/examples/esm-bundler/node_modules/nanoid/index.browser.js +34 -0
  159. package/examples/esm-bundler/node_modules/nanoid/index.cjs +85 -0
  160. package/examples/esm-bundler/node_modules/nanoid/index.d.cts +91 -0
  161. package/examples/esm-bundler/node_modules/nanoid/index.d.ts +91 -0
  162. package/examples/esm-bundler/node_modules/nanoid/index.js +45 -0
  163. package/examples/esm-bundler/node_modules/nanoid/nanoid.js +1 -0
  164. package/examples/esm-bundler/node_modules/nanoid/non-secure/index.cjs +34 -0
  165. package/examples/esm-bundler/node_modules/nanoid/non-secure/index.d.ts +33 -0
  166. package/examples/esm-bundler/node_modules/nanoid/non-secure/index.js +21 -0
  167. package/examples/esm-bundler/node_modules/nanoid/non-secure/package.json +6 -0
  168. package/examples/esm-bundler/node_modules/nanoid/package.json +89 -0
  169. package/examples/esm-bundler/node_modules/nanoid/url-alphabet/index.cjs +7 -0
  170. package/examples/esm-bundler/node_modules/nanoid/url-alphabet/index.js +3 -0
  171. package/examples/esm-bundler/node_modules/nanoid/url-alphabet/package.json +6 -0
  172. package/examples/esm-bundler/node_modules/picocolors/LICENSE +15 -0
  173. package/examples/esm-bundler/node_modules/picocolors/README.md +21 -0
  174. package/examples/esm-bundler/node_modules/picocolors/package.json +25 -0
  175. package/examples/esm-bundler/node_modules/picocolors/picocolors.browser.js +4 -0
  176. package/examples/esm-bundler/node_modules/picocolors/picocolors.d.ts +5 -0
  177. package/examples/esm-bundler/node_modules/picocolors/picocolors.js +75 -0
  178. package/examples/esm-bundler/node_modules/picocolors/types.d.ts +51 -0
  179. package/examples/esm-bundler/node_modules/picomatch/LICENSE +21 -0
  180. package/examples/esm-bundler/node_modules/picomatch/README.md +749 -0
  181. package/examples/esm-bundler/node_modules/picomatch/index.js +17 -0
  182. package/examples/esm-bundler/node_modules/picomatch/lib/constants.js +184 -0
  183. package/examples/esm-bundler/node_modules/picomatch/lib/parse.js +1386 -0
  184. package/examples/esm-bundler/node_modules/picomatch/lib/picomatch.js +349 -0
  185. package/examples/esm-bundler/node_modules/picomatch/lib/scan.js +391 -0
  186. package/examples/esm-bundler/node_modules/picomatch/lib/utils.js +72 -0
  187. package/examples/esm-bundler/node_modules/picomatch/package.json +82 -0
  188. package/examples/esm-bundler/node_modules/picomatch/posix.js +3 -0
  189. package/examples/esm-bundler/node_modules/postcss/LICENSE +20 -0
  190. package/examples/esm-bundler/node_modules/postcss/README.md +28 -0
  191. package/examples/esm-bundler/node_modules/postcss/lib/at-rule.d.ts +139 -0
  192. package/examples/esm-bundler/node_modules/postcss/lib/at-rule.js +25 -0
  193. package/examples/esm-bundler/node_modules/postcss/lib/comment.d.ts +67 -0
  194. package/examples/esm-bundler/node_modules/postcss/lib/comment.js +13 -0
  195. package/examples/esm-bundler/node_modules/postcss/lib/container.d.ts +478 -0
  196. package/examples/esm-bundler/node_modules/postcss/lib/container.js +447 -0
  197. package/examples/esm-bundler/node_modules/postcss/lib/css-syntax-error.d.ts +247 -0
  198. package/examples/esm-bundler/node_modules/postcss/lib/css-syntax-error.js +133 -0
  199. package/examples/esm-bundler/node_modules/postcss/lib/declaration.d.ts +150 -0
  200. package/examples/esm-bundler/node_modules/postcss/lib/declaration.js +24 -0
  201. package/examples/esm-bundler/node_modules/postcss/lib/document.d.ts +68 -0
  202. package/examples/esm-bundler/node_modules/postcss/lib/document.js +33 -0
  203. package/examples/esm-bundler/node_modules/postcss/lib/fromJSON.d.ts +9 -0
  204. package/examples/esm-bundler/node_modules/postcss/lib/fromJSON.js +54 -0
  205. package/examples/esm-bundler/node_modules/postcss/lib/input.d.ts +226 -0
  206. package/examples/esm-bundler/node_modules/postcss/lib/input.js +273 -0
  207. package/examples/esm-bundler/node_modules/postcss/lib/lazy-result.d.ts +189 -0
  208. package/examples/esm-bundler/node_modules/postcss/lib/lazy-result.js +550 -0
  209. package/examples/esm-bundler/node_modules/postcss/lib/list.d.ts +60 -0
  210. package/examples/esm-bundler/node_modules/postcss/lib/list.js +58 -0
  211. package/examples/esm-bundler/node_modules/postcss/lib/map-generator.js +376 -0
  212. package/examples/esm-bundler/node_modules/postcss/lib/no-work-result.d.ts +45 -0
  213. package/examples/esm-bundler/node_modules/postcss/lib/no-work-result.js +137 -0
  214. package/examples/esm-bundler/node_modules/postcss/lib/node.d.ts +555 -0
  215. package/examples/esm-bundler/node_modules/postcss/lib/node.js +449 -0
  216. package/examples/esm-bundler/node_modules/postcss/lib/parse.d.ts +9 -0
  217. package/examples/esm-bundler/node_modules/postcss/lib/parse.js +42 -0
  218. package/examples/esm-bundler/node_modules/postcss/lib/parser.js +611 -0
  219. package/examples/esm-bundler/node_modules/postcss/lib/postcss.d.mts +66 -0
  220. package/examples/esm-bundler/node_modules/postcss/lib/postcss.d.ts +456 -0
  221. package/examples/esm-bundler/node_modules/postcss/lib/postcss.js +101 -0
  222. package/examples/esm-bundler/node_modules/postcss/lib/postcss.mjs +30 -0
  223. package/examples/esm-bundler/node_modules/postcss/lib/previous-map.d.ts +80 -0
  224. package/examples/esm-bundler/node_modules/postcss/lib/previous-map.js +145 -0
  225. package/examples/esm-bundler/node_modules/postcss/lib/processor.d.ts +114 -0
  226. package/examples/esm-bundler/node_modules/postcss/lib/processor.js +67 -0
  227. package/examples/esm-bundler/node_modules/postcss/lib/result.d.ts +204 -0
  228. package/examples/esm-bundler/node_modules/postcss/lib/result.js +42 -0
  229. package/examples/esm-bundler/node_modules/postcss/lib/root.d.ts +86 -0
  230. package/examples/esm-bundler/node_modules/postcss/lib/root.js +61 -0
  231. package/examples/esm-bundler/node_modules/postcss/lib/rule.d.ts +126 -0
  232. package/examples/esm-bundler/node_modules/postcss/lib/rule.js +27 -0
  233. package/examples/esm-bundler/node_modules/postcss/lib/stringifier.d.ts +45 -0
  234. package/examples/esm-bundler/node_modules/postcss/lib/stringifier.js +353 -0
  235. package/examples/esm-bundler/node_modules/postcss/lib/stringify.d.ts +9 -0
  236. package/examples/esm-bundler/node_modules/postcss/lib/stringify.js +11 -0
  237. package/examples/esm-bundler/node_modules/postcss/lib/symbols.js +5 -0
  238. package/examples/esm-bundler/node_modules/postcss/lib/terminal-highlight.js +70 -0
  239. package/examples/esm-bundler/node_modules/postcss/lib/tokenize.js +266 -0
  240. package/examples/esm-bundler/node_modules/postcss/lib/warn-once.js +13 -0
  241. package/examples/esm-bundler/node_modules/postcss/lib/warning.d.ts +146 -0
  242. package/examples/esm-bundler/node_modules/postcss/lib/warning.js +37 -0
  243. package/examples/esm-bundler/node_modules/postcss/package.json +88 -0
  244. package/examples/esm-bundler/node_modules/rollup/LICENSE.md +679 -0
  245. package/examples/esm-bundler/node_modules/rollup/README.md +134 -0
  246. package/examples/esm-bundler/node_modules/rollup/dist/bin/rollup +1912 -0
  247. package/examples/esm-bundler/node_modules/rollup/dist/es/getLogFilter.js +64 -0
  248. package/examples/esm-bundler/node_modules/rollup/dist/es/package.json +1 -0
  249. package/examples/esm-bundler/node_modules/rollup/dist/es/parseAst.js +12 -0
  250. package/examples/esm-bundler/node_modules/rollup/dist/es/rollup.js +17 -0
  251. package/examples/esm-bundler/node_modules/rollup/dist/es/shared/node-entry.js +24463 -0
  252. package/examples/esm-bundler/node_modules/rollup/dist/es/shared/parseAst.js +2124 -0
  253. package/examples/esm-bundler/node_modules/rollup/dist/es/shared/watch.js +9909 -0
  254. package/examples/esm-bundler/node_modules/rollup/dist/getLogFilter.d.ts +5 -0
  255. package/examples/esm-bundler/node_modules/rollup/dist/getLogFilter.js +69 -0
  256. package/examples/esm-bundler/node_modules/rollup/dist/loadConfigFile.d.ts +20 -0
  257. package/examples/esm-bundler/node_modules/rollup/dist/loadConfigFile.js +29 -0
  258. package/examples/esm-bundler/node_modules/rollup/dist/native.js +161 -0
  259. package/examples/esm-bundler/node_modules/rollup/dist/parseAst.d.ts +4 -0
  260. package/examples/esm-bundler/node_modules/rollup/dist/parseAst.js +22 -0
  261. package/examples/esm-bundler/node_modules/rollup/dist/rollup.d.ts +1225 -0
  262. package/examples/esm-bundler/node_modules/rollup/dist/rollup.js +127 -0
  263. package/examples/esm-bundler/node_modules/rollup/dist/shared/fsevents-importer.js +37 -0
  264. package/examples/esm-bundler/node_modules/rollup/dist/shared/index.js +9615 -0
  265. package/examples/esm-bundler/node_modules/rollup/dist/shared/loadConfigFile.js +572 -0
  266. package/examples/esm-bundler/node_modules/rollup/dist/shared/parseAst.js +2361 -0
  267. package/examples/esm-bundler/node_modules/rollup/dist/shared/rollup.js +24385 -0
  268. package/examples/esm-bundler/node_modules/rollup/dist/shared/watch-cli.js +542 -0
  269. package/examples/esm-bundler/node_modules/rollup/dist/shared/watch.js +324 -0
  270. package/examples/esm-bundler/node_modules/rollup/package.json +289 -0
  271. package/examples/esm-bundler/node_modules/source-map-js/LICENSE +28 -0
  272. package/examples/esm-bundler/node_modules/source-map-js/README.md +765 -0
  273. package/examples/esm-bundler/node_modules/source-map-js/lib/array-set.js +121 -0
  274. package/examples/esm-bundler/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  275. package/examples/esm-bundler/node_modules/source-map-js/lib/base64.js +67 -0
  276. package/examples/esm-bundler/node_modules/source-map-js/lib/binary-search.js +111 -0
  277. package/examples/esm-bundler/node_modules/source-map-js/lib/mapping-list.js +79 -0
  278. package/examples/esm-bundler/node_modules/source-map-js/lib/quick-sort.js +132 -0
  279. package/examples/esm-bundler/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
  280. package/examples/esm-bundler/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  281. package/examples/esm-bundler/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
  282. package/examples/esm-bundler/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  283. package/examples/esm-bundler/node_modules/source-map-js/lib/source-node.d.ts +1 -0
  284. package/examples/esm-bundler/node_modules/source-map-js/lib/source-node.js +413 -0
  285. package/examples/esm-bundler/node_modules/source-map-js/lib/util.js +594 -0
  286. package/examples/esm-bundler/node_modules/source-map-js/package.json +71 -0
  287. package/examples/esm-bundler/node_modules/source-map-js/source-map.d.ts +104 -0
  288. package/examples/esm-bundler/node_modules/source-map-js/source-map.js +8 -0
  289. package/examples/esm-bundler/node_modules/tinyglobby/LICENSE +21 -0
  290. package/examples/esm-bundler/node_modules/tinyglobby/README.md +25 -0
  291. package/examples/esm-bundler/node_modules/tinyglobby/dist/index.cjs +334 -0
  292. package/examples/esm-bundler/node_modules/tinyglobby/dist/index.d.cts +148 -0
  293. package/examples/esm-bundler/node_modules/tinyglobby/dist/index.d.mts +148 -0
  294. package/examples/esm-bundler/node_modules/tinyglobby/dist/index.mjs +306 -0
  295. package/examples/esm-bundler/node_modules/tinyglobby/package.json +73 -0
  296. package/examples/esm-bundler/node_modules/vite/LICENSE.md +2406 -0
  297. package/examples/esm-bundler/node_modules/vite/README.md +20 -0
  298. package/examples/esm-bundler/node_modules/vite/bin/openChrome.applescript +95 -0
  299. package/examples/esm-bundler/node_modules/vite/bin/vite.js +79 -0
  300. package/examples/esm-bundler/node_modules/vite/client.d.ts +279 -0
  301. package/examples/esm-bundler/node_modules/vite/dist/client/client.mjs +1134 -0
  302. package/examples/esm-bundler/node_modules/vite/dist/client/env.mjs +24 -0
  303. package/examples/esm-bundler/node_modules/vite/dist/node/chunks/dep-3RmXg9uo.js +553 -0
  304. package/examples/esm-bundler/node_modules/vite/dist/node/chunks/dep-4-IQbZQm.js +822 -0
  305. package/examples/esm-bundler/node_modules/vite/dist/node/chunks/dep-CvfTChi5.js +8218 -0
  306. package/examples/esm-bundler/node_modules/vite/dist/node/chunks/dep-Dq2t6Dq0.js +49565 -0
  307. package/examples/esm-bundler/node_modules/vite/dist/node/chunks/dep-lpEPC2f9.js +7113 -0
  308. package/examples/esm-bundler/node_modules/vite/dist/node/cli.js +949 -0
  309. package/examples/esm-bundler/node_modules/vite/dist/node/constants.js +149 -0
  310. package/examples/esm-bundler/node_modules/vite/dist/node/index.d.ts +4227 -0
  311. package/examples/esm-bundler/node_modules/vite/dist/node/index.js +194 -0
  312. package/examples/esm-bundler/node_modules/vite/dist/node/module-runner.d.ts +290 -0
  313. package/examples/esm-bundler/node_modules/vite/dist/node/module-runner.js +1311 -0
  314. package/examples/esm-bundler/node_modules/vite/dist/node/moduleRunnerTransport.d-DJ_mE5sf.d.ts +87 -0
  315. package/examples/esm-bundler/node_modules/vite/dist/node-cjs/publicUtils.cjs +3987 -0
  316. package/examples/esm-bundler/node_modules/vite/index.cjs +96 -0
  317. package/examples/esm-bundler/node_modules/vite/index.d.cts +6 -0
  318. package/examples/esm-bundler/node_modules/vite/misc/false.js +1 -0
  319. package/examples/esm-bundler/node_modules/vite/misc/true.js +1 -0
  320. package/examples/esm-bundler/node_modules/vite/package.json +204 -0
  321. package/examples/esm-bundler/node_modules/vite/types/customEvent.d.ts +45 -0
  322. package/examples/esm-bundler/node_modules/vite/types/hmrPayload.d.ts +74 -0
  323. package/examples/esm-bundler/node_modules/vite/types/hot.d.ts +39 -0
  324. package/examples/esm-bundler/node_modules/vite/types/import-meta.d.ts +5 -0
  325. package/examples/esm-bundler/node_modules/vite/types/importGlob.d.ts +75 -0
  326. package/examples/esm-bundler/node_modules/vite/types/importMeta.d.ts +31 -0
  327. package/examples/esm-bundler/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +63 -0
  328. package/examples/esm-bundler/node_modules/vite/types/internal/lightningcssOptions.d.ts +18 -0
  329. package/examples/esm-bundler/node_modules/vite/types/metadata.d.ts +35 -0
  330. package/examples/esm-bundler/node_modules/vite/types/package.json +4 -0
  331. package/examples/esm-bundler/package-lock.json +1127 -0
  332. package/examples/esm-bundler/package.json +15 -0
  333. package/examples/esm-bundler/src/main.ts +43 -0
  334. package/examples/react/README.md +10 -0
  335. package/examples/react/index.html +12 -0
  336. package/examples/react/package.json +19 -0
  337. package/examples/react/src/App.tsx +20 -0
  338. package/examples/react/src/main.tsx +9 -0
  339. package/examples/self-hosted/README.md +11 -0
  340. package/examples/self-hosted/index.html +12 -0
  341. package/examples/self-hosted/package.json +16 -0
  342. package/examples/self-hosted/public/.gitkeep +1 -0
  343. package/examples/self-hosted/src/main.ts +46 -0
  344. package/package.json +4 -2
  345. package/dist/lib-react.js.map +0 -9
  346. package/dist/lib.js.map +0 -9
@@ -0,0 +1,61 @@
1
+ 'use strict'
2
+
3
+ let Container = require('./container')
4
+
5
+ let LazyResult, Processor
6
+
7
+ class Root extends Container {
8
+ constructor(defaults) {
9
+ super(defaults)
10
+ this.type = 'root'
11
+ if (!this.nodes) this.nodes = []
12
+ }
13
+
14
+ normalize(child, sample, type) {
15
+ let nodes = super.normalize(child)
16
+
17
+ if (sample) {
18
+ if (type === 'prepend') {
19
+ if (this.nodes.length > 1) {
20
+ sample.raws.before = this.nodes[1].raws.before
21
+ } else {
22
+ delete sample.raws.before
23
+ }
24
+ } else if (this.first !== sample) {
25
+ for (let node of nodes) {
26
+ node.raws.before = sample.raws.before
27
+ }
28
+ }
29
+ }
30
+
31
+ return nodes
32
+ }
33
+
34
+ removeChild(child, ignore) {
35
+ let index = this.index(child)
36
+
37
+ if (!ignore && index === 0 && this.nodes.length > 1) {
38
+ this.nodes[1].raws.before = this.nodes[index].raws.before
39
+ }
40
+
41
+ return super.removeChild(child)
42
+ }
43
+
44
+ toResult(opts = {}) {
45
+ let lazy = new LazyResult(new Processor(), this, opts)
46
+ return lazy.stringify()
47
+ }
48
+ }
49
+
50
+ Root.registerLazyResult = dependant => {
51
+ LazyResult = dependant
52
+ }
53
+
54
+ Root.registerProcessor = dependant => {
55
+ Processor = dependant
56
+ }
57
+
58
+ module.exports = Root
59
+ Root.default = Root
60
+
61
+ Container.registerRoot(Root)
@@ -0,0 +1,126 @@
1
+ import Container, {
2
+ ContainerProps,
3
+ ContainerWithChildren
4
+ } from './container.js'
5
+
6
+ declare namespace Rule {
7
+ export interface RuleRaws extends Record<string, unknown> {
8
+ /**
9
+ * The space symbols after the last child of the node to the end of the node.
10
+ */
11
+ after?: string
12
+
13
+ /**
14
+ * The space symbols before the node. It also stores `*`
15
+ * and `_` symbols before the declaration (IE hack).
16
+ */
17
+ before?: string
18
+
19
+ /**
20
+ * The symbols between the selector and `{` for rules.
21
+ */
22
+ between?: string
23
+
24
+ /**
25
+ * Contains the text of the semicolon after this rule.
26
+ */
27
+ ownSemicolon?: string
28
+
29
+ /**
30
+ * The rule’s selector with comments.
31
+ */
32
+ selector?: {
33
+ raw: string
34
+ value: string
35
+ }
36
+
37
+ /**
38
+ * Contains `true` if the last child has an (optional) semicolon.
39
+ */
40
+ semicolon?: boolean
41
+ }
42
+
43
+ export type RuleProps = {
44
+ /** Information used to generate byte-to-byte equal node string as it was in the origin input. */
45
+ raws?: RuleRaws
46
+ } & (
47
+ | {
48
+ /** Selector or selectors of the rule. */
49
+ selector: string
50
+ selectors?: never
51
+ }
52
+ | {
53
+ selector?: never
54
+ /** Selectors of the rule represented as an array of strings. */
55
+ selectors: readonly string[]
56
+ }
57
+ ) &
58
+ ContainerProps
59
+
60
+ export { Rule_ as default }
61
+ }
62
+
63
+ /**
64
+ * Represents a CSS rule: a selector followed by a declaration block.
65
+ *
66
+ * ```js
67
+ * Once (root, { Rule }) {
68
+ * let a = new Rule({ selector: 'a' })
69
+ * a.append(…)
70
+ * root.append(a)
71
+ * }
72
+ * ```
73
+ *
74
+ * ```js
75
+ * const root = postcss.parse('a{}')
76
+ * const rule = root.first
77
+ * rule.type //=> 'rule'
78
+ * rule.toString() //=> 'a{}'
79
+ * ```
80
+ */
81
+ declare class Rule_ extends Container {
82
+ nodes: NonNullable<Container['nodes']>
83
+ parent: ContainerWithChildren | undefined
84
+ raws: Rule.RuleRaws
85
+ type: 'rule'
86
+ /**
87
+ * The rule’s full selector represented as a string.
88
+ *
89
+ * ```js
90
+ * const root = postcss.parse('a, b { }')
91
+ * const rule = root.first
92
+ * rule.selector //=> 'a, b'
93
+ * ```
94
+ */
95
+ get selector(): string
96
+
97
+ set selector(value: string)
98
+ /**
99
+ * An array containing the rule’s individual selectors.
100
+ * Groups of selectors are split at commas.
101
+ *
102
+ * ```js
103
+ * const root = postcss.parse('a, b { }')
104
+ * const rule = root.first
105
+ *
106
+ * rule.selector //=> 'a, b'
107
+ * rule.selectors //=> ['a', 'b']
108
+ *
109
+ * rule.selectors = ['a', 'strong']
110
+ * rule.selector //=> 'a, strong'
111
+ * ```
112
+ */
113
+ get selectors(): string[]
114
+
115
+ set selectors(values: string[])
116
+
117
+ constructor(defaults?: Rule.RuleProps)
118
+ assign(overrides: object | Rule.RuleProps): this
119
+ clone(overrides?: Partial<Rule.RuleProps>): this
120
+ cloneAfter(overrides?: Partial<Rule.RuleProps>): this
121
+ cloneBefore(overrides?: Partial<Rule.RuleProps>): this
122
+ }
123
+
124
+ declare class Rule extends Rule_ {}
125
+
126
+ export = Rule
@@ -0,0 +1,27 @@
1
+ 'use strict'
2
+
3
+ let Container = require('./container')
4
+ let list = require('./list')
5
+
6
+ class Rule extends Container {
7
+ get selectors() {
8
+ return list.comma(this.selector)
9
+ }
10
+
11
+ set selectors(values) {
12
+ let match = this.selector ? this.selector.match(/,\s*/) : null
13
+ let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')
14
+ this.selector = values.join(sep)
15
+ }
16
+
17
+ constructor(defaults) {
18
+ super(defaults)
19
+ this.type = 'rule'
20
+ if (!this.nodes) this.nodes = []
21
+ }
22
+ }
23
+
24
+ module.exports = Rule
25
+ Rule.default = Rule
26
+
27
+ Container.registerRule(Rule)
@@ -0,0 +1,45 @@
1
+ import {
2
+ AnyNode,
3
+ AtRule,
4
+ Builder,
5
+ Comment,
6
+ Container,
7
+ Declaration,
8
+ Document,
9
+ Root,
10
+ Rule
11
+ } from './postcss.js'
12
+
13
+ declare namespace Stringifier {
14
+ export { Stringifier_ as default }
15
+ }
16
+
17
+ declare class Stringifier_ {
18
+ builder: Builder
19
+ constructor(builder: Builder)
20
+ atrule(node: AtRule, semicolon?: boolean): void
21
+ beforeAfter(node: AnyNode, detect: 'after' | 'before'): string
22
+ block(node: AnyNode, start: string): void
23
+ body(node: Container): void
24
+ comment(node: Comment): void
25
+ decl(node: Declaration, semicolon?: boolean): void
26
+ document(node: Document): void
27
+ raw(node: AnyNode, own: null | string, detect?: string): boolean | string
28
+ rawBeforeClose(root: Root): string | undefined
29
+ rawBeforeComment(root: Root, node: Comment): string | undefined
30
+ rawBeforeDecl(root: Root, node: Declaration): string | undefined
31
+ rawBeforeOpen(root: Root): string | undefined
32
+ rawBeforeRule(root: Root): string | undefined
33
+ rawColon(root: Root): string | undefined
34
+ rawEmptyBody(root: Root): string | undefined
35
+ rawIndent(root: Root): string | undefined
36
+ rawSemicolon(root: Root): boolean | undefined
37
+ rawValue(node: AnyNode, prop: string): number | string
38
+ root(node: Root): void
39
+ rule(node: Rule): void
40
+ stringify(node: AnyNode, semicolon?: boolean): void
41
+ }
42
+
43
+ declare class Stringifier extends Stringifier_ {}
44
+
45
+ export = Stringifier
@@ -0,0 +1,353 @@
1
+ 'use strict'
2
+
3
+ const DEFAULT_RAW = {
4
+ after: '\n',
5
+ beforeClose: '\n',
6
+ beforeComment: '\n',
7
+ beforeDecl: '\n',
8
+ beforeOpen: ' ',
9
+ beforeRule: '\n',
10
+ colon: ': ',
11
+ commentLeft: ' ',
12
+ commentRight: ' ',
13
+ emptyBody: '',
14
+ indent: ' ',
15
+ semicolon: false
16
+ }
17
+
18
+ function capitalize(str) {
19
+ return str[0].toUpperCase() + str.slice(1)
20
+ }
21
+
22
+ class Stringifier {
23
+ constructor(builder) {
24
+ this.builder = builder
25
+ }
26
+
27
+ atrule(node, semicolon) {
28
+ let name = '@' + node.name
29
+ let params = node.params ? this.rawValue(node, 'params') : ''
30
+
31
+ if (typeof node.raws.afterName !== 'undefined') {
32
+ name += node.raws.afterName
33
+ } else if (params) {
34
+ name += ' '
35
+ }
36
+
37
+ if (node.nodes) {
38
+ this.block(node, name + params)
39
+ } else {
40
+ let end = (node.raws.between || '') + (semicolon ? ';' : '')
41
+ this.builder(name + params + end, node)
42
+ }
43
+ }
44
+
45
+ beforeAfter(node, detect) {
46
+ let value
47
+ if (node.type === 'decl') {
48
+ value = this.raw(node, null, 'beforeDecl')
49
+ } else if (node.type === 'comment') {
50
+ value = this.raw(node, null, 'beforeComment')
51
+ } else if (detect === 'before') {
52
+ value = this.raw(node, null, 'beforeRule')
53
+ } else {
54
+ value = this.raw(node, null, 'beforeClose')
55
+ }
56
+
57
+ let buf = node.parent
58
+ let depth = 0
59
+ while (buf && buf.type !== 'root') {
60
+ depth += 1
61
+ buf = buf.parent
62
+ }
63
+
64
+ if (value.includes('\n')) {
65
+ let indent = this.raw(node, null, 'indent')
66
+ if (indent.length) {
67
+ for (let step = 0; step < depth; step++) value += indent
68
+ }
69
+ }
70
+
71
+ return value
72
+ }
73
+
74
+ block(node, start) {
75
+ let between = this.raw(node, 'between', 'beforeOpen')
76
+ this.builder(start + between + '{', node, 'start')
77
+
78
+ let after
79
+ if (node.nodes && node.nodes.length) {
80
+ this.body(node)
81
+ after = this.raw(node, 'after')
82
+ } else {
83
+ after = this.raw(node, 'after', 'emptyBody')
84
+ }
85
+
86
+ if (after) this.builder(after)
87
+ this.builder('}', node, 'end')
88
+ }
89
+
90
+ body(node) {
91
+ let last = node.nodes.length - 1
92
+ while (last > 0) {
93
+ if (node.nodes[last].type !== 'comment') break
94
+ last -= 1
95
+ }
96
+
97
+ let semicolon = this.raw(node, 'semicolon')
98
+ for (let i = 0; i < node.nodes.length; i++) {
99
+ let child = node.nodes[i]
100
+ let before = this.raw(child, 'before')
101
+ if (before) this.builder(before)
102
+ this.stringify(child, last !== i || semicolon)
103
+ }
104
+ }
105
+
106
+ comment(node) {
107
+ let left = this.raw(node, 'left', 'commentLeft')
108
+ let right = this.raw(node, 'right', 'commentRight')
109
+ this.builder('/*' + left + node.text + right + '*/', node)
110
+ }
111
+
112
+ decl(node, semicolon) {
113
+ let between = this.raw(node, 'between', 'colon')
114
+ let string = node.prop + between + this.rawValue(node, 'value')
115
+
116
+ if (node.important) {
117
+ string += node.raws.important || ' !important'
118
+ }
119
+
120
+ if (semicolon) string += ';'
121
+ this.builder(string, node)
122
+ }
123
+
124
+ document(node) {
125
+ this.body(node)
126
+ }
127
+
128
+ raw(node, own, detect) {
129
+ let value
130
+ if (!detect) detect = own
131
+
132
+ // Already had
133
+ if (own) {
134
+ value = node.raws[own]
135
+ if (typeof value !== 'undefined') return value
136
+ }
137
+
138
+ let parent = node.parent
139
+
140
+ if (detect === 'before') {
141
+ // Hack for first rule in CSS
142
+ if (!parent || (parent.type === 'root' && parent.first === node)) {
143
+ return ''
144
+ }
145
+
146
+ // `root` nodes in `document` should use only their own raws
147
+ if (parent && parent.type === 'document') {
148
+ return ''
149
+ }
150
+ }
151
+
152
+ // Floating child without parent
153
+ if (!parent) return DEFAULT_RAW[detect]
154
+
155
+ // Detect style by other nodes
156
+ let root = node.root()
157
+ if (!root.rawCache) root.rawCache = {}
158
+ if (typeof root.rawCache[detect] !== 'undefined') {
159
+ return root.rawCache[detect]
160
+ }
161
+
162
+ if (detect === 'before' || detect === 'after') {
163
+ return this.beforeAfter(node, detect)
164
+ } else {
165
+ let method = 'raw' + capitalize(detect)
166
+ if (this[method]) {
167
+ value = this[method](root, node)
168
+ } else {
169
+ root.walk(i => {
170
+ value = i.raws[own]
171
+ if (typeof value !== 'undefined') return false
172
+ })
173
+ }
174
+ }
175
+
176
+ if (typeof value === 'undefined') value = DEFAULT_RAW[detect]
177
+
178
+ root.rawCache[detect] = value
179
+ return value
180
+ }
181
+
182
+ rawBeforeClose(root) {
183
+ let value
184
+ root.walk(i => {
185
+ if (i.nodes && i.nodes.length > 0) {
186
+ if (typeof i.raws.after !== 'undefined') {
187
+ value = i.raws.after
188
+ if (value.includes('\n')) {
189
+ value = value.replace(/[^\n]+$/, '')
190
+ }
191
+ return false
192
+ }
193
+ }
194
+ })
195
+ if (value) value = value.replace(/\S/g, '')
196
+ return value
197
+ }
198
+
199
+ rawBeforeComment(root, node) {
200
+ let value
201
+ root.walkComments(i => {
202
+ if (typeof i.raws.before !== 'undefined') {
203
+ value = i.raws.before
204
+ if (value.includes('\n')) {
205
+ value = value.replace(/[^\n]+$/, '')
206
+ }
207
+ return false
208
+ }
209
+ })
210
+ if (typeof value === 'undefined') {
211
+ value = this.raw(node, null, 'beforeDecl')
212
+ } else if (value) {
213
+ value = value.replace(/\S/g, '')
214
+ }
215
+ return value
216
+ }
217
+
218
+ rawBeforeDecl(root, node) {
219
+ let value
220
+ root.walkDecls(i => {
221
+ if (typeof i.raws.before !== 'undefined') {
222
+ value = i.raws.before
223
+ if (value.includes('\n')) {
224
+ value = value.replace(/[^\n]+$/, '')
225
+ }
226
+ return false
227
+ }
228
+ })
229
+ if (typeof value === 'undefined') {
230
+ value = this.raw(node, null, 'beforeRule')
231
+ } else if (value) {
232
+ value = value.replace(/\S/g, '')
233
+ }
234
+ return value
235
+ }
236
+
237
+ rawBeforeOpen(root) {
238
+ let value
239
+ root.walk(i => {
240
+ if (i.type !== 'decl') {
241
+ value = i.raws.between
242
+ if (typeof value !== 'undefined') return false
243
+ }
244
+ })
245
+ return value
246
+ }
247
+
248
+ rawBeforeRule(root) {
249
+ let value
250
+ root.walk(i => {
251
+ if (i.nodes && (i.parent !== root || root.first !== i)) {
252
+ if (typeof i.raws.before !== 'undefined') {
253
+ value = i.raws.before
254
+ if (value.includes('\n')) {
255
+ value = value.replace(/[^\n]+$/, '')
256
+ }
257
+ return false
258
+ }
259
+ }
260
+ })
261
+ if (value) value = value.replace(/\S/g, '')
262
+ return value
263
+ }
264
+
265
+ rawColon(root) {
266
+ let value
267
+ root.walkDecls(i => {
268
+ if (typeof i.raws.between !== 'undefined') {
269
+ value = i.raws.between.replace(/[^\s:]/g, '')
270
+ return false
271
+ }
272
+ })
273
+ return value
274
+ }
275
+
276
+ rawEmptyBody(root) {
277
+ let value
278
+ root.walk(i => {
279
+ if (i.nodes && i.nodes.length === 0) {
280
+ value = i.raws.after
281
+ if (typeof value !== 'undefined') return false
282
+ }
283
+ })
284
+ return value
285
+ }
286
+
287
+ rawIndent(root) {
288
+ if (root.raws.indent) return root.raws.indent
289
+ let value
290
+ root.walk(i => {
291
+ let p = i.parent
292
+ if (p && p !== root && p.parent && p.parent === root) {
293
+ if (typeof i.raws.before !== 'undefined') {
294
+ let parts = i.raws.before.split('\n')
295
+ value = parts[parts.length - 1]
296
+ value = value.replace(/\S/g, '')
297
+ return false
298
+ }
299
+ }
300
+ })
301
+ return value
302
+ }
303
+
304
+ rawSemicolon(root) {
305
+ let value
306
+ root.walk(i => {
307
+ if (i.nodes && i.nodes.length && i.last.type === 'decl') {
308
+ value = i.raws.semicolon
309
+ if (typeof value !== 'undefined') return false
310
+ }
311
+ })
312
+ return value
313
+ }
314
+
315
+ rawValue(node, prop) {
316
+ let value = node[prop]
317
+ let raw = node.raws[prop]
318
+ if (raw && raw.value === value) {
319
+ return raw.raw
320
+ }
321
+
322
+ return value
323
+ }
324
+
325
+ root(node) {
326
+ this.body(node)
327
+ if (node.raws.after) this.builder(node.raws.after)
328
+ }
329
+
330
+ rule(node) {
331
+ this.block(node, this.rawValue(node, 'selector'))
332
+ if (node.raws.ownSemicolon) {
333
+ this.builder(node.raws.ownSemicolon, node, 'end')
334
+ }
335
+ }
336
+
337
+ stringify(node, semicolon) {
338
+ /* c8 ignore start */
339
+ if (!this[node.type]) {
340
+ throw new Error(
341
+ 'Unknown AST node type ' +
342
+ node.type +
343
+ '. ' +
344
+ 'Maybe you need to change PostCSS stringifier.'
345
+ )
346
+ }
347
+ /* c8 ignore stop */
348
+ this[node.type](node, semicolon)
349
+ }
350
+ }
351
+
352
+ module.exports = Stringifier
353
+ Stringifier.default = Stringifier
@@ -0,0 +1,9 @@
1
+ import { Stringifier } from './postcss.js'
2
+
3
+ interface Stringify extends Stringifier {
4
+ default: Stringify
5
+ }
6
+
7
+ declare let stringify: Stringify
8
+
9
+ export = stringify
@@ -0,0 +1,11 @@
1
+ 'use strict'
2
+
3
+ let Stringifier = require('./stringifier')
4
+
5
+ function stringify(node, builder) {
6
+ let str = new Stringifier(builder)
7
+ str.stringify(node)
8
+ }
9
+
10
+ module.exports = stringify
11
+ stringify.default = stringify
@@ -0,0 +1,5 @@
1
+ 'use strict'
2
+
3
+ module.exports.isClean = Symbol('isClean')
4
+
5
+ module.exports.my = Symbol('my')
@@ -0,0 +1,70 @@
1
+ 'use strict'
2
+
3
+ let pico = require('picocolors')
4
+
5
+ let tokenizer = require('./tokenize')
6
+
7
+ let Input
8
+
9
+ function registerInput(dependant) {
10
+ Input = dependant
11
+ }
12
+
13
+ const HIGHLIGHT_THEME = {
14
+ ';': pico.yellow,
15
+ ':': pico.yellow,
16
+ '(': pico.cyan,
17
+ ')': pico.cyan,
18
+ '[': pico.yellow,
19
+ ']': pico.yellow,
20
+ '{': pico.yellow,
21
+ '}': pico.yellow,
22
+ 'at-word': pico.cyan,
23
+ 'brackets': pico.cyan,
24
+ 'call': pico.cyan,
25
+ 'class': pico.yellow,
26
+ 'comment': pico.gray,
27
+ 'hash': pico.magenta,
28
+ 'string': pico.green
29
+ }
30
+
31
+ function getTokenType([type, value], processor) {
32
+ if (type === 'word') {
33
+ if (value[0] === '.') {
34
+ return 'class'
35
+ }
36
+ if (value[0] === '#') {
37
+ return 'hash'
38
+ }
39
+ }
40
+
41
+ if (!processor.endOfFile()) {
42
+ let next = processor.nextToken()
43
+ processor.back(next)
44
+ if (next[0] === 'brackets' || next[0] === '(') return 'call'
45
+ }
46
+
47
+ return type
48
+ }
49
+
50
+ function terminalHighlight(css) {
51
+ let processor = tokenizer(new Input(css), { ignoreErrors: true })
52
+ let result = ''
53
+ while (!processor.endOfFile()) {
54
+ let token = processor.nextToken()
55
+ let color = HIGHLIGHT_THEME[getTokenType(token, processor)]
56
+ if (color) {
57
+ result += token[1]
58
+ .split(/\r?\n/)
59
+ .map(i => color(i))
60
+ .join('\n')
61
+ } else {
62
+ result += token[1]
63
+ }
64
+ }
65
+ return result
66
+ }
67
+
68
+ terminalHighlight.registerInput = registerInput
69
+
70
+ module.exports = terminalHighlight