create-microact-app 1.0.1 → 1.0.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 (264) hide show
  1. package/package.json +1 -1
  2. package/templates/vanilla/package.json +1 -1
  3. package/templates/vanilla/src/components/App.js +22 -35
  4. package/templates/vanilla/src/components/Card.js +5 -12
  5. package/templates/vanilla/src/components/Hero.js +6 -8
  6. package/templates/vanilla/src/components/InteractiveDemo.js +34 -32
  7. package/templates/vanilla/src/main.js +2 -6
  8. package/templates/web3/contracts/.gitmodules +3 -0
  9. package/templates/web3/contracts/foundry.lock +8 -0
  10. package/templates/web3/contracts/lib/forge-std/.gitattributes +1 -0
  11. package/templates/web3/contracts/lib/forge-std/.github/CODEOWNERS +1 -0
  12. package/templates/web3/contracts/lib/forge-std/.github/dependabot.yml +6 -0
  13. package/templates/web3/contracts/lib/forge-std/.github/workflows/ci.yml +125 -0
  14. package/templates/web3/contracts/lib/forge-std/.github/workflows/sync.yml +36 -0
  15. package/templates/web3/contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  16. package/templates/web3/contracts/lib/forge-std/LICENSE-APACHE +203 -0
  17. package/templates/web3/contracts/lib/forge-std/LICENSE-MIT +25 -0
  18. package/templates/web3/contracts/lib/forge-std/README.md +268 -0
  19. package/templates/web3/contracts/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
  20. package/templates/web3/contracts/lib/forge-std/foundry.toml +18 -0
  21. package/templates/web3/contracts/lib/forge-std/package.json +16 -0
  22. package/templates/web3/contracts/lib/forge-std/scripts/vm.py +636 -0
  23. package/templates/web3/contracts/lib/forge-std/src/Base.sol +48 -0
  24. package/templates/web3/contracts/lib/forge-std/src/Config.sol +60 -0
  25. package/templates/web3/contracts/lib/forge-std/src/LibVariable.sol +477 -0
  26. package/templates/web3/contracts/lib/forge-std/src/Script.sol +28 -0
  27. package/templates/web3/contracts/lib/forge-std/src/StdAssertions.sol +779 -0
  28. package/templates/web3/contracts/lib/forge-std/src/StdChains.sol +295 -0
  29. package/templates/web3/contracts/lib/forge-std/src/StdCheats.sol +825 -0
  30. package/templates/web3/contracts/lib/forge-std/src/StdConfig.sol +632 -0
  31. package/templates/web3/contracts/lib/forge-std/src/StdConstants.sol +30 -0
  32. package/templates/web3/contracts/lib/forge-std/src/StdError.sol +15 -0
  33. package/templates/web3/contracts/lib/forge-std/src/StdInvariant.sol +120 -0
  34. package/templates/web3/contracts/lib/forge-std/src/StdJson.sol +275 -0
  35. package/templates/web3/contracts/lib/forge-std/src/StdMath.sol +47 -0
  36. package/templates/web3/contracts/lib/forge-std/src/StdStorage.sol +475 -0
  37. package/templates/web3/contracts/lib/forge-std/src/StdStyle.sol +333 -0
  38. package/templates/web3/contracts/lib/forge-std/src/StdToml.sol +275 -0
  39. package/templates/web3/contracts/lib/forge-std/src/StdUtils.sol +200 -0
  40. package/templates/web3/contracts/lib/forge-std/src/Test.sol +32 -0
  41. package/templates/web3/contracts/lib/forge-std/src/Vm.sol +2500 -0
  42. package/templates/web3/contracts/lib/forge-std/src/console.sol +1551 -0
  43. package/templates/web3/contracts/lib/forge-std/src/console2.sol +4 -0
  44. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  45. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  46. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  47. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  48. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC6909.sol +72 -0
  49. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  50. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC7540.sol +144 -0
  51. package/templates/web3/contracts/lib/forge-std/src/interfaces/IERC7575.sol +241 -0
  52. package/templates/web3/contracts/lib/forge-std/src/interfaces/IMulticall3.sol +68 -0
  53. package/templates/web3/contracts/lib/forge-std/src/safeconsole.sol +13248 -0
  54. package/templates/web3/contracts/lib/forge-std/test/CommonBase.t.sol +44 -0
  55. package/templates/web3/contracts/lib/forge-std/test/Config.t.sol +381 -0
  56. package/templates/web3/contracts/lib/forge-std/test/LibVariable.t.sol +452 -0
  57. package/templates/web3/contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
  58. package/templates/web3/contracts/lib/forge-std/test/StdChains.t.sol +227 -0
  59. package/templates/web3/contracts/lib/forge-std/test/StdCheats.t.sol +638 -0
  60. package/templates/web3/contracts/lib/forge-std/test/StdConstants.t.sol +38 -0
  61. package/templates/web3/contracts/lib/forge-std/test/StdError.t.sol +119 -0
  62. package/templates/web3/contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  63. package/templates/web3/contracts/lib/forge-std/test/StdMath.t.sol +202 -0
  64. package/templates/web3/contracts/lib/forge-std/test/StdStorage.t.sol +485 -0
  65. package/templates/web3/contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  66. package/templates/web3/contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  67. package/templates/web3/contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
  68. package/templates/web3/contracts/lib/forge-std/test/Vm.t.sol +18 -0
  69. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationScript.sol +8 -0
  70. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +8 -0
  71. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationTest.sol +8 -0
  72. package/templates/web3/contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +8 -0
  73. package/templates/web3/contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  74. package/templates/web3/contracts/lib/forge-std/test/fixtures/config.toml +81 -0
  75. package/templates/web3/contracts/lib/forge-std/test/fixtures/test.json +8 -0
  76. package/templates/web3/contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  77. package/templates/web3/package.json +1 -1
  78. package/templates/web3/src/components/App.js +23 -36
  79. package/templates/web3/src/components/CounterCard.js +45 -45
  80. package/templates/web3/src/main.js +5 -7
  81. package/templates/vanilla/node_modules/.package-lock.json +0 -207
  82. package/templates/vanilla/node_modules/@esbuild/darwin-x64/README.md +0 -3
  83. package/templates/vanilla/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
  84. package/templates/vanilla/node_modules/@esbuild/darwin-x64/package.json +0 -17
  85. package/templates/vanilla/node_modules/@monygroupcorp/microact/README.md +0 -154
  86. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js +0 -1749
  87. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js.map +0 -1
  88. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js +0 -1743
  89. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js.map +0 -1
  90. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js +0 -2
  91. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js.map +0 -1
  92. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.html +0 -13
  93. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.js +0 -63
  94. package/templates/vanilla/node_modules/@monygroupcorp/microact/package.json +0 -38
  95. package/templates/vanilla/node_modules/@monygroupcorp/microact/rollup.config.cjs +0 -30
  96. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Component.js +0 -831
  97. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/DOMUpdater.js +0 -320
  98. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/EventBus.js +0 -123
  99. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Router.js +0 -253
  100. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/UpdateScheduler.js +0 -218
  101. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/index.js +0 -6
  102. package/templates/vanilla/node_modules/esbuild/LICENSE.md +0 -21
  103. package/templates/vanilla/node_modules/esbuild/README.md +0 -3
  104. package/templates/vanilla/node_modules/esbuild/bin/esbuild +0 -0
  105. package/templates/vanilla/node_modules/esbuild/install.js +0 -287
  106. package/templates/vanilla/node_modules/esbuild/lib/main.d.ts +0 -660
  107. package/templates/vanilla/node_modules/esbuild/lib/main.js +0 -2393
  108. package/templates/vanilla/node_modules/esbuild/package.json +0 -42
  109. package/templates/vanilla/node_modules/nanoid/LICENSE +0 -20
  110. package/templates/vanilla/node_modules/nanoid/README.md +0 -39
  111. package/templates/vanilla/node_modules/nanoid/async/index.browser.cjs +0 -69
  112. package/templates/vanilla/node_modules/nanoid/async/index.browser.js +0 -34
  113. package/templates/vanilla/node_modules/nanoid/async/index.cjs +0 -71
  114. package/templates/vanilla/node_modules/nanoid/async/index.d.ts +0 -56
  115. package/templates/vanilla/node_modules/nanoid/async/index.js +0 -35
  116. package/templates/vanilla/node_modules/nanoid/async/index.native.js +0 -26
  117. package/templates/vanilla/node_modules/nanoid/async/package.json +0 -12
  118. package/templates/vanilla/node_modules/nanoid/bin/nanoid.cjs +0 -55
  119. package/templates/vanilla/node_modules/nanoid/index.browser.cjs +0 -72
  120. package/templates/vanilla/node_modules/nanoid/index.browser.js +0 -34
  121. package/templates/vanilla/node_modules/nanoid/index.cjs +0 -85
  122. package/templates/vanilla/node_modules/nanoid/index.d.cts +0 -91
  123. package/templates/vanilla/node_modules/nanoid/index.d.ts +0 -91
  124. package/templates/vanilla/node_modules/nanoid/index.js +0 -45
  125. package/templates/vanilla/node_modules/nanoid/nanoid.js +0 -1
  126. package/templates/vanilla/node_modules/nanoid/non-secure/index.cjs +0 -34
  127. package/templates/vanilla/node_modules/nanoid/non-secure/index.d.ts +0 -33
  128. package/templates/vanilla/node_modules/nanoid/non-secure/index.js +0 -21
  129. package/templates/vanilla/node_modules/nanoid/non-secure/package.json +0 -6
  130. package/templates/vanilla/node_modules/nanoid/package.json +0 -89
  131. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.cjs +0 -7
  132. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.js +0 -3
  133. package/templates/vanilla/node_modules/nanoid/url-alphabet/package.json +0 -6
  134. package/templates/vanilla/node_modules/picocolors/LICENSE +0 -15
  135. package/templates/vanilla/node_modules/picocolors/README.md +0 -21
  136. package/templates/vanilla/node_modules/picocolors/package.json +0 -25
  137. package/templates/vanilla/node_modules/picocolors/picocolors.browser.js +0 -4
  138. package/templates/vanilla/node_modules/picocolors/picocolors.d.ts +0 -5
  139. package/templates/vanilla/node_modules/picocolors/picocolors.js +0 -75
  140. package/templates/vanilla/node_modules/picocolors/types.d.ts +0 -51
  141. package/templates/vanilla/node_modules/postcss/LICENSE +0 -20
  142. package/templates/vanilla/node_modules/postcss/README.md +0 -29
  143. package/templates/vanilla/node_modules/postcss/lib/at-rule.d.ts +0 -140
  144. package/templates/vanilla/node_modules/postcss/lib/at-rule.js +0 -25
  145. package/templates/vanilla/node_modules/postcss/lib/comment.d.ts +0 -68
  146. package/templates/vanilla/node_modules/postcss/lib/comment.js +0 -13
  147. package/templates/vanilla/node_modules/postcss/lib/container.d.ts +0 -483
  148. package/templates/vanilla/node_modules/postcss/lib/container.js +0 -447
  149. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.d.ts +0 -248
  150. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.js +0 -133
  151. package/templates/vanilla/node_modules/postcss/lib/declaration.d.ts +0 -151
  152. package/templates/vanilla/node_modules/postcss/lib/declaration.js +0 -24
  153. package/templates/vanilla/node_modules/postcss/lib/document.d.ts +0 -69
  154. package/templates/vanilla/node_modules/postcss/lib/document.js +0 -33
  155. package/templates/vanilla/node_modules/postcss/lib/fromJSON.d.ts +0 -9
  156. package/templates/vanilla/node_modules/postcss/lib/fromJSON.js +0 -54
  157. package/templates/vanilla/node_modules/postcss/lib/input.d.ts +0 -227
  158. package/templates/vanilla/node_modules/postcss/lib/input.js +0 -265
  159. package/templates/vanilla/node_modules/postcss/lib/lazy-result.d.ts +0 -190
  160. package/templates/vanilla/node_modules/postcss/lib/lazy-result.js +0 -550
  161. package/templates/vanilla/node_modules/postcss/lib/list.d.ts +0 -60
  162. package/templates/vanilla/node_modules/postcss/lib/list.js +0 -58
  163. package/templates/vanilla/node_modules/postcss/lib/map-generator.js +0 -368
  164. package/templates/vanilla/node_modules/postcss/lib/no-work-result.d.ts +0 -46
  165. package/templates/vanilla/node_modules/postcss/lib/no-work-result.js +0 -138
  166. package/templates/vanilla/node_modules/postcss/lib/node.d.ts +0 -556
  167. package/templates/vanilla/node_modules/postcss/lib/node.js +0 -449
  168. package/templates/vanilla/node_modules/postcss/lib/parse.d.ts +0 -9
  169. package/templates/vanilla/node_modules/postcss/lib/parse.js +0 -42
  170. package/templates/vanilla/node_modules/postcss/lib/parser.js +0 -611
  171. package/templates/vanilla/node_modules/postcss/lib/postcss.d.mts +0 -69
  172. package/templates/vanilla/node_modules/postcss/lib/postcss.d.ts +0 -458
  173. package/templates/vanilla/node_modules/postcss/lib/postcss.js +0 -101
  174. package/templates/vanilla/node_modules/postcss/lib/postcss.mjs +0 -30
  175. package/templates/vanilla/node_modules/postcss/lib/previous-map.d.ts +0 -81
  176. package/templates/vanilla/node_modules/postcss/lib/previous-map.js +0 -144
  177. package/templates/vanilla/node_modules/postcss/lib/processor.d.ts +0 -115
  178. package/templates/vanilla/node_modules/postcss/lib/processor.js +0 -67
  179. package/templates/vanilla/node_modules/postcss/lib/result.d.ts +0 -205
  180. package/templates/vanilla/node_modules/postcss/lib/result.js +0 -42
  181. package/templates/vanilla/node_modules/postcss/lib/root.d.ts +0 -87
  182. package/templates/vanilla/node_modules/postcss/lib/root.js +0 -61
  183. package/templates/vanilla/node_modules/postcss/lib/rule.d.ts +0 -126
  184. package/templates/vanilla/node_modules/postcss/lib/rule.js +0 -27
  185. package/templates/vanilla/node_modules/postcss/lib/stringifier.d.ts +0 -46
  186. package/templates/vanilla/node_modules/postcss/lib/stringifier.js +0 -353
  187. package/templates/vanilla/node_modules/postcss/lib/stringify.d.ts +0 -9
  188. package/templates/vanilla/node_modules/postcss/lib/stringify.js +0 -11
  189. package/templates/vanilla/node_modules/postcss/lib/symbols.js +0 -5
  190. package/templates/vanilla/node_modules/postcss/lib/terminal-highlight.js +0 -70
  191. package/templates/vanilla/node_modules/postcss/lib/tokenize.js +0 -266
  192. package/templates/vanilla/node_modules/postcss/lib/warn-once.js +0 -13
  193. package/templates/vanilla/node_modules/postcss/lib/warning.d.ts +0 -147
  194. package/templates/vanilla/node_modules/postcss/lib/warning.js +0 -37
  195. package/templates/vanilla/node_modules/postcss/package.json +0 -88
  196. package/templates/vanilla/node_modules/rollup/LICENSE.md +0 -695
  197. package/templates/vanilla/node_modules/rollup/README.md +0 -125
  198. package/templates/vanilla/node_modules/rollup/dist/bin/rollup +0 -1715
  199. package/templates/vanilla/node_modules/rollup/dist/es/getLogFilter.js +0 -64
  200. package/templates/vanilla/node_modules/rollup/dist/es/package.json +0 -1
  201. package/templates/vanilla/node_modules/rollup/dist/es/rollup.js +0 -17
  202. package/templates/vanilla/node_modules/rollup/dist/es/shared/node-entry.js +0 -27273
  203. package/templates/vanilla/node_modules/rollup/dist/es/shared/watch.js +0 -4857
  204. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.d.ts +0 -5
  205. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.js +0 -69
  206. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.d.ts +0 -20
  207. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.js +0 -29
  208. package/templates/vanilla/node_modules/rollup/dist/rollup.d.ts +0 -1012
  209. package/templates/vanilla/node_modules/rollup/dist/rollup.js +0 -31
  210. package/templates/vanilla/node_modules/rollup/dist/shared/fsevents-importer.js +0 -37
  211. package/templates/vanilla/node_modules/rollup/dist/shared/index.js +0 -4571
  212. package/templates/vanilla/node_modules/rollup/dist/shared/loadConfigFile.js +0 -546
  213. package/templates/vanilla/node_modules/rollup/dist/shared/rollup.js +0 -27351
  214. package/templates/vanilla/node_modules/rollup/dist/shared/watch-cli.js +0 -561
  215. package/templates/vanilla/node_modules/rollup/dist/shared/watch-proxy.js +0 -87
  216. package/templates/vanilla/node_modules/rollup/dist/shared/watch.js +0 -316
  217. package/templates/vanilla/node_modules/rollup/package.json +0 -181
  218. package/templates/vanilla/node_modules/source-map-js/LICENSE +0 -28
  219. package/templates/vanilla/node_modules/source-map-js/README.md +0 -765
  220. package/templates/vanilla/node_modules/source-map-js/lib/array-set.js +0 -121
  221. package/templates/vanilla/node_modules/source-map-js/lib/base64-vlq.js +0 -140
  222. package/templates/vanilla/node_modules/source-map-js/lib/base64.js +0 -67
  223. package/templates/vanilla/node_modules/source-map-js/lib/binary-search.js +0 -111
  224. package/templates/vanilla/node_modules/source-map-js/lib/mapping-list.js +0 -79
  225. package/templates/vanilla/node_modules/source-map-js/lib/quick-sort.js +0 -132
  226. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.d.ts +0 -1
  227. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.js +0 -1188
  228. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.d.ts +0 -1
  229. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.js +0 -444
  230. package/templates/vanilla/node_modules/source-map-js/lib/source-node.d.ts +0 -1
  231. package/templates/vanilla/node_modules/source-map-js/lib/source-node.js +0 -413
  232. package/templates/vanilla/node_modules/source-map-js/lib/util.js +0 -594
  233. package/templates/vanilla/node_modules/source-map-js/package.json +0 -71
  234. package/templates/vanilla/node_modules/source-map-js/source-map.d.ts +0 -104
  235. package/templates/vanilla/node_modules/source-map-js/source-map.js +0 -8
  236. package/templates/vanilla/node_modules/vite/LICENSE.md +0 -3396
  237. package/templates/vanilla/node_modules/vite/README.md +0 -20
  238. package/templates/vanilla/node_modules/vite/bin/openChrome.applescript +0 -95
  239. package/templates/vanilla/node_modules/vite/bin/vite.js +0 -61
  240. package/templates/vanilla/node_modules/vite/client.d.ts +0 -281
  241. package/templates/vanilla/node_modules/vite/dist/client/client.mjs +0 -725
  242. package/templates/vanilla/node_modules/vite/dist/client/client.mjs.map +0 -1
  243. package/templates/vanilla/node_modules/vite/dist/client/env.mjs +0 -30
  244. package/templates/vanilla/node_modules/vite/dist/client/env.mjs.map +0 -1
  245. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-7ec6f216.js +0 -914
  246. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-827b23df.js +0 -66713
  247. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-c423598f.js +0 -561
  248. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f0c7dae0.js +0 -7930
  249. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f1e8587f.js +0 -7646
  250. package/templates/vanilla/node_modules/vite/dist/node/cli.js +0 -929
  251. package/templates/vanilla/node_modules/vite/dist/node/constants.js +0 -130
  252. package/templates/vanilla/node_modules/vite/dist/node/index.d.ts +0 -3548
  253. package/templates/vanilla/node_modules/vite/dist/node/index.js +0 -158
  254. package/templates/vanilla/node_modules/vite/dist/node-cjs/publicUtils.cjs +0 -4555
  255. package/templates/vanilla/node_modules/vite/index.cjs +0 -34
  256. package/templates/vanilla/node_modules/vite/package.json +0 -173
  257. package/templates/vanilla/node_modules/vite/types/customEvent.d.ts +0 -35
  258. package/templates/vanilla/node_modules/vite/types/hmrPayload.d.ts +0 -61
  259. package/templates/vanilla/node_modules/vite/types/hot.d.ts +0 -32
  260. package/templates/vanilla/node_modules/vite/types/importGlob.d.ts +0 -97
  261. package/templates/vanilla/node_modules/vite/types/importMeta.d.ts +0 -26
  262. package/templates/vanilla/node_modules/vite/types/metadata.d.ts +0 -10
  263. package/templates/vanilla/node_modules/vite/types/package.json +0 -4
  264. package/templates/vanilla/package-lock.json +0 -589
@@ -1,449 +0,0 @@
1
- 'use strict'
2
-
3
- let CssSyntaxError = require('./css-syntax-error')
4
- let Stringifier = require('./stringifier')
5
- let stringify = require('./stringify')
6
- let { isClean, my } = require('./symbols')
7
-
8
- function cloneNode(obj, parent) {
9
- let cloned = new obj.constructor()
10
-
11
- for (let i in obj) {
12
- if (!Object.prototype.hasOwnProperty.call(obj, i)) {
13
- /* c8 ignore next 2 */
14
- continue
15
- }
16
- if (i === 'proxyCache') continue
17
- let value = obj[i]
18
- let type = typeof value
19
-
20
- if (i === 'parent' && type === 'object') {
21
- if (parent) cloned[i] = parent
22
- } else if (i === 'source') {
23
- cloned[i] = value
24
- } else if (Array.isArray(value)) {
25
- cloned[i] = value.map(j => cloneNode(j, cloned))
26
- } else {
27
- if (type === 'object' && value !== null) value = cloneNode(value)
28
- cloned[i] = value
29
- }
30
- }
31
-
32
- return cloned
33
- }
34
-
35
- function sourceOffset(inputCSS, position) {
36
- // Not all custom syntaxes support `offset` in `source.start` and `source.end`
37
- if (position && typeof position.offset !== 'undefined') {
38
- return position.offset
39
- }
40
-
41
- let column = 1
42
- let line = 1
43
- let offset = 0
44
-
45
- for (let i = 0; i < inputCSS.length; i++) {
46
- if (line === position.line && column === position.column) {
47
- offset = i
48
- break
49
- }
50
-
51
- if (inputCSS[i] === '\n') {
52
- column = 1
53
- line += 1
54
- } else {
55
- column += 1
56
- }
57
- }
58
-
59
- return offset
60
- }
61
-
62
- class Node {
63
- get proxyOf() {
64
- return this
65
- }
66
-
67
- constructor(defaults = {}) {
68
- this.raws = {}
69
- this[isClean] = false
70
- this[my] = true
71
-
72
- for (let name in defaults) {
73
- if (name === 'nodes') {
74
- this.nodes = []
75
- for (let node of defaults[name]) {
76
- if (typeof node.clone === 'function') {
77
- this.append(node.clone())
78
- } else {
79
- this.append(node)
80
- }
81
- }
82
- } else {
83
- this[name] = defaults[name]
84
- }
85
- }
86
- }
87
-
88
- addToError(error) {
89
- error.postcssNode = this
90
- if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) {
91
- let s = this.source
92
- error.stack = error.stack.replace(
93
- /\n\s{4}at /,
94
- `$&${s.input.from}:${s.start.line}:${s.start.column}$&`
95
- )
96
- }
97
- return error
98
- }
99
-
100
- after(add) {
101
- this.parent.insertAfter(this, add)
102
- return this
103
- }
104
-
105
- assign(overrides = {}) {
106
- for (let name in overrides) {
107
- this[name] = overrides[name]
108
- }
109
- return this
110
- }
111
-
112
- before(add) {
113
- this.parent.insertBefore(this, add)
114
- return this
115
- }
116
-
117
- cleanRaws(keepBetween) {
118
- delete this.raws.before
119
- delete this.raws.after
120
- if (!keepBetween) delete this.raws.between
121
- }
122
-
123
- clone(overrides = {}) {
124
- let cloned = cloneNode(this)
125
- for (let name in overrides) {
126
- cloned[name] = overrides[name]
127
- }
128
- return cloned
129
- }
130
-
131
- cloneAfter(overrides = {}) {
132
- let cloned = this.clone(overrides)
133
- this.parent.insertAfter(this, cloned)
134
- return cloned
135
- }
136
-
137
- cloneBefore(overrides = {}) {
138
- let cloned = this.clone(overrides)
139
- this.parent.insertBefore(this, cloned)
140
- return cloned
141
- }
142
-
143
- error(message, opts = {}) {
144
- if (this.source) {
145
- let { end, start } = this.rangeBy(opts)
146
- return this.source.input.error(
147
- message,
148
- { column: start.column, line: start.line },
149
- { column: end.column, line: end.line },
150
- opts
151
- )
152
- }
153
- return new CssSyntaxError(message)
154
- }
155
-
156
- getProxyProcessor() {
157
- return {
158
- get(node, prop) {
159
- if (prop === 'proxyOf') {
160
- return node
161
- } else if (prop === 'root') {
162
- return () => node.root().toProxy()
163
- } else {
164
- return node[prop]
165
- }
166
- },
167
-
168
- set(node, prop, value) {
169
- if (node[prop] === value) return true
170
- node[prop] = value
171
- if (
172
- prop === 'prop' ||
173
- prop === 'value' ||
174
- prop === 'name' ||
175
- prop === 'params' ||
176
- prop === 'important' ||
177
- /* c8 ignore next */
178
- prop === 'text'
179
- ) {
180
- node.markDirty()
181
- }
182
- return true
183
- }
184
- }
185
- }
186
-
187
- /* c8 ignore next 3 */
188
- markClean() {
189
- this[isClean] = true
190
- }
191
-
192
- markDirty() {
193
- if (this[isClean]) {
194
- this[isClean] = false
195
- let next = this
196
- while ((next = next.parent)) {
197
- next[isClean] = false
198
- }
199
- }
200
- }
201
-
202
- next() {
203
- if (!this.parent) return undefined
204
- let index = this.parent.index(this)
205
- return this.parent.nodes[index + 1]
206
- }
207
-
208
- positionBy(opts = {}) {
209
- let pos = this.source.start
210
- if (opts.index) {
211
- pos = this.positionInside(opts.index)
212
- } else if (opts.word) {
213
- let inputString =
214
- 'document' in this.source.input
215
- ? this.source.input.document
216
- : this.source.input.css
217
- let stringRepresentation = inputString.slice(
218
- sourceOffset(inputString, this.source.start),
219
- sourceOffset(inputString, this.source.end)
220
- )
221
- let index = stringRepresentation.indexOf(opts.word)
222
- if (index !== -1) pos = this.positionInside(index)
223
- }
224
- return pos
225
- }
226
-
227
- positionInside(index) {
228
- let column = this.source.start.column
229
- let line = this.source.start.line
230
- let inputString =
231
- 'document' in this.source.input
232
- ? this.source.input.document
233
- : this.source.input.css
234
- let offset = sourceOffset(inputString, this.source.start)
235
- let end = offset + index
236
-
237
- for (let i = offset; i < end; i++) {
238
- if (inputString[i] === '\n') {
239
- column = 1
240
- line += 1
241
- } else {
242
- column += 1
243
- }
244
- }
245
-
246
- return { column, line, offset: end }
247
- }
248
-
249
- prev() {
250
- if (!this.parent) return undefined
251
- let index = this.parent.index(this)
252
- return this.parent.nodes[index - 1]
253
- }
254
-
255
- rangeBy(opts = {}) {
256
- let inputString =
257
- 'document' in this.source.input
258
- ? this.source.input.document
259
- : this.source.input.css
260
- let start = {
261
- column: this.source.start.column,
262
- line: this.source.start.line,
263
- offset: sourceOffset(inputString, this.source.start)
264
- }
265
- let end = this.source.end
266
- ? {
267
- column: this.source.end.column + 1,
268
- line: this.source.end.line,
269
- offset:
270
- typeof this.source.end.offset === 'number'
271
- ? // `source.end.offset` is exclusive, so we don't need to add 1
272
- this.source.end.offset
273
- : // Since line/column in this.source.end is inclusive,
274
- // the `sourceOffset(... , this.source.end)` returns an inclusive offset.
275
- // So, we add 1 to convert it to exclusive.
276
- sourceOffset(inputString, this.source.end) + 1
277
- }
278
- : {
279
- column: start.column + 1,
280
- line: start.line,
281
- offset: start.offset + 1
282
- }
283
-
284
- if (opts.word) {
285
- let stringRepresentation = inputString.slice(
286
- sourceOffset(inputString, this.source.start),
287
- sourceOffset(inputString, this.source.end)
288
- )
289
- let index = stringRepresentation.indexOf(opts.word)
290
- if (index !== -1) {
291
- start = this.positionInside(index)
292
- end = this.positionInside(index + opts.word.length)
293
- }
294
- } else {
295
- if (opts.start) {
296
- start = {
297
- column: opts.start.column,
298
- line: opts.start.line,
299
- offset: sourceOffset(inputString, opts.start)
300
- }
301
- } else if (opts.index) {
302
- start = this.positionInside(opts.index)
303
- }
304
-
305
- if (opts.end) {
306
- end = {
307
- column: opts.end.column,
308
- line: opts.end.line,
309
- offset: sourceOffset(inputString, opts.end)
310
- }
311
- } else if (typeof opts.endIndex === 'number') {
312
- end = this.positionInside(opts.endIndex)
313
- } else if (opts.index) {
314
- end = this.positionInside(opts.index + 1)
315
- }
316
- }
317
-
318
- if (
319
- end.line < start.line ||
320
- (end.line === start.line && end.column <= start.column)
321
- ) {
322
- end = {
323
- column: start.column + 1,
324
- line: start.line,
325
- offset: start.offset + 1
326
- }
327
- }
328
-
329
- return { end, start }
330
- }
331
-
332
- raw(prop, defaultType) {
333
- let str = new Stringifier()
334
- return str.raw(this, prop, defaultType)
335
- }
336
-
337
- remove() {
338
- if (this.parent) {
339
- this.parent.removeChild(this)
340
- }
341
- this.parent = undefined
342
- return this
343
- }
344
-
345
- replaceWith(...nodes) {
346
- if (this.parent) {
347
- let bookmark = this
348
- let foundSelf = false
349
- for (let node of nodes) {
350
- if (node === this) {
351
- foundSelf = true
352
- } else if (foundSelf) {
353
- this.parent.insertAfter(bookmark, node)
354
- bookmark = node
355
- } else {
356
- this.parent.insertBefore(bookmark, node)
357
- }
358
- }
359
-
360
- if (!foundSelf) {
361
- this.remove()
362
- }
363
- }
364
-
365
- return this
366
- }
367
-
368
- root() {
369
- let result = this
370
- while (result.parent && result.parent.type !== 'document') {
371
- result = result.parent
372
- }
373
- return result
374
- }
375
-
376
- toJSON(_, inputs) {
377
- let fixed = {}
378
- let emitInputs = inputs == null
379
- inputs = inputs || new Map()
380
- let inputsNextIndex = 0
381
-
382
- for (let name in this) {
383
- if (!Object.prototype.hasOwnProperty.call(this, name)) {
384
- /* c8 ignore next 2 */
385
- continue
386
- }
387
- if (name === 'parent' || name === 'proxyCache') continue
388
- let value = this[name]
389
-
390
- if (Array.isArray(value)) {
391
- fixed[name] = value.map(i => {
392
- if (typeof i === 'object' && i.toJSON) {
393
- return i.toJSON(null, inputs)
394
- } else {
395
- return i
396
- }
397
- })
398
- } else if (typeof value === 'object' && value.toJSON) {
399
- fixed[name] = value.toJSON(null, inputs)
400
- } else if (name === 'source') {
401
- if (value == null) continue
402
- let inputId = inputs.get(value.input)
403
- if (inputId == null) {
404
- inputId = inputsNextIndex
405
- inputs.set(value.input, inputsNextIndex)
406
- inputsNextIndex++
407
- }
408
- fixed[name] = {
409
- end: value.end,
410
- inputId,
411
- start: value.start
412
- }
413
- } else {
414
- fixed[name] = value
415
- }
416
- }
417
-
418
- if (emitInputs) {
419
- fixed.inputs = [...inputs.keys()].map(input => input.toJSON())
420
- }
421
-
422
- return fixed
423
- }
424
-
425
- toProxy() {
426
- if (!this.proxyCache) {
427
- this.proxyCache = new Proxy(this, this.getProxyProcessor())
428
- }
429
- return this.proxyCache
430
- }
431
-
432
- toString(stringifier = stringify) {
433
- if (stringifier.stringify) stringifier = stringifier.stringify
434
- let result = ''
435
- stringifier(this, i => {
436
- result += i
437
- })
438
- return result
439
- }
440
-
441
- warn(result, text, opts = {}) {
442
- let data = { node: this }
443
- for (let i in opts) data[i] = opts[i]
444
- return result.warn(text, data)
445
- }
446
- }
447
-
448
- module.exports = Node
449
- Node.default = Node
@@ -1,9 +0,0 @@
1
- import { Parser } from './postcss.js'
2
-
3
- interface Parse extends Parser {
4
- default: Parse
5
- }
6
-
7
- declare const parse: Parse
8
-
9
- export = parse
@@ -1,42 +0,0 @@
1
- 'use strict'
2
-
3
- let Container = require('./container')
4
- let Input = require('./input')
5
- let Parser = require('./parser')
6
-
7
- function parse(css, opts) {
8
- let input = new Input(css, opts)
9
- let parser = new Parser(input)
10
- try {
11
- parser.parse()
12
- } catch (e) {
13
- if (process.env.NODE_ENV !== 'production') {
14
- if (e.name === 'CssSyntaxError' && opts && opts.from) {
15
- if (/\.scss$/i.test(opts.from)) {
16
- e.message +=
17
- '\nYou tried to parse SCSS with ' +
18
- 'the standard CSS parser; ' +
19
- 'try again with the postcss-scss parser'
20
- } else if (/\.sass/i.test(opts.from)) {
21
- e.message +=
22
- '\nYou tried to parse Sass with ' +
23
- 'the standard CSS parser; ' +
24
- 'try again with the postcss-sass parser'
25
- } else if (/\.less$/i.test(opts.from)) {
26
- e.message +=
27
- '\nYou tried to parse Less with ' +
28
- 'the standard CSS parser; ' +
29
- 'try again with the postcss-less parser'
30
- }
31
- }
32
- }
33
- throw e
34
- }
35
-
36
- return parser.root
37
- }
38
-
39
- module.exports = parse
40
- parse.default = parse
41
-
42
- Container.registerParse(parse)