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,368 +0,0 @@
1
- 'use strict'
2
-
3
- let { dirname, relative, resolve, sep } = require('path')
4
- let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
5
- let { pathToFileURL } = require('url')
6
-
7
- let Input = require('./input')
8
-
9
- let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)
10
- let pathAvailable = Boolean(dirname && resolve && relative && sep)
11
-
12
- class MapGenerator {
13
- constructor(stringify, root, opts, cssString) {
14
- this.stringify = stringify
15
- this.mapOpts = opts.map || {}
16
- this.root = root
17
- this.opts = opts
18
- this.css = cssString
19
- this.originalCSS = cssString
20
- this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute
21
-
22
- this.memoizedFileURLs = new Map()
23
- this.memoizedPaths = new Map()
24
- this.memoizedURLs = new Map()
25
- }
26
-
27
- addAnnotation() {
28
- let content
29
-
30
- if (this.isInline()) {
31
- content =
32
- 'data:application/json;base64,' + this.toBase64(this.map.toString())
33
- } else if (typeof this.mapOpts.annotation === 'string') {
34
- content = this.mapOpts.annotation
35
- } else if (typeof this.mapOpts.annotation === 'function') {
36
- content = this.mapOpts.annotation(this.opts.to, this.root)
37
- } else {
38
- content = this.outputFile() + '.map'
39
- }
40
- let eol = '\n'
41
- if (this.css.includes('\r\n')) eol = '\r\n'
42
-
43
- this.css += eol + '/*# sourceMappingURL=' + content + ' */'
44
- }
45
-
46
- applyPrevMaps() {
47
- for (let prev of this.previous()) {
48
- let from = this.toUrl(this.path(prev.file))
49
- let root = prev.root || dirname(prev.file)
50
- let map
51
-
52
- if (this.mapOpts.sourcesContent === false) {
53
- map = new SourceMapConsumer(prev.text)
54
- if (map.sourcesContent) {
55
- map.sourcesContent = null
56
- }
57
- } else {
58
- map = prev.consumer()
59
- }
60
-
61
- this.map.applySourceMap(map, from, this.toUrl(this.path(root)))
62
- }
63
- }
64
-
65
- clearAnnotation() {
66
- if (this.mapOpts.annotation === false) return
67
-
68
- if (this.root) {
69
- let node
70
- for (let i = this.root.nodes.length - 1; i >= 0; i--) {
71
- node = this.root.nodes[i]
72
- if (node.type !== 'comment') continue
73
- if (node.text.startsWith('# sourceMappingURL=')) {
74
- this.root.removeChild(i)
75
- }
76
- }
77
- } else if (this.css) {
78
- this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, '')
79
- }
80
- }
81
-
82
- generate() {
83
- this.clearAnnotation()
84
- if (pathAvailable && sourceMapAvailable && this.isMap()) {
85
- return this.generateMap()
86
- } else {
87
- let result = ''
88
- this.stringify(this.root, i => {
89
- result += i
90
- })
91
- return [result]
92
- }
93
- }
94
-
95
- generateMap() {
96
- if (this.root) {
97
- this.generateString()
98
- } else if (this.previous().length === 1) {
99
- let prev = this.previous()[0].consumer()
100
- prev.file = this.outputFile()
101
- this.map = SourceMapGenerator.fromSourceMap(prev, {
102
- ignoreInvalidMapping: true
103
- })
104
- } else {
105
- this.map = new SourceMapGenerator({
106
- file: this.outputFile(),
107
- ignoreInvalidMapping: true
108
- })
109
- this.map.addMapping({
110
- generated: { column: 0, line: 1 },
111
- original: { column: 0, line: 1 },
112
- source: this.opts.from
113
- ? this.toUrl(this.path(this.opts.from))
114
- : '<no source>'
115
- })
116
- }
117
-
118
- if (this.isSourcesContent()) this.setSourcesContent()
119
- if (this.root && this.previous().length > 0) this.applyPrevMaps()
120
- if (this.isAnnotation()) this.addAnnotation()
121
-
122
- if (this.isInline()) {
123
- return [this.css]
124
- } else {
125
- return [this.css, this.map]
126
- }
127
- }
128
-
129
- generateString() {
130
- this.css = ''
131
- this.map = new SourceMapGenerator({
132
- file: this.outputFile(),
133
- ignoreInvalidMapping: true
134
- })
135
-
136
- let line = 1
137
- let column = 1
138
-
139
- let noSource = '<no source>'
140
- let mapping = {
141
- generated: { column: 0, line: 0 },
142
- original: { column: 0, line: 0 },
143
- source: ''
144
- }
145
-
146
- let last, lines
147
- this.stringify(this.root, (str, node, type) => {
148
- this.css += str
149
-
150
- if (node && type !== 'end') {
151
- mapping.generated.line = line
152
- mapping.generated.column = column - 1
153
- if (node.source && node.source.start) {
154
- mapping.source = this.sourcePath(node)
155
- mapping.original.line = node.source.start.line
156
- mapping.original.column = node.source.start.column - 1
157
- this.map.addMapping(mapping)
158
- } else {
159
- mapping.source = noSource
160
- mapping.original.line = 1
161
- mapping.original.column = 0
162
- this.map.addMapping(mapping)
163
- }
164
- }
165
-
166
- lines = str.match(/\n/g)
167
- if (lines) {
168
- line += lines.length
169
- last = str.lastIndexOf('\n')
170
- column = str.length - last
171
- } else {
172
- column += str.length
173
- }
174
-
175
- if (node && type !== 'start') {
176
- let p = node.parent || { raws: {} }
177
- let childless =
178
- node.type === 'decl' || (node.type === 'atrule' && !node.nodes)
179
- if (!childless || node !== p.last || p.raws.semicolon) {
180
- if (node.source && node.source.end) {
181
- mapping.source = this.sourcePath(node)
182
- mapping.original.line = node.source.end.line
183
- mapping.original.column = node.source.end.column - 1
184
- mapping.generated.line = line
185
- mapping.generated.column = column - 2
186
- this.map.addMapping(mapping)
187
- } else {
188
- mapping.source = noSource
189
- mapping.original.line = 1
190
- mapping.original.column = 0
191
- mapping.generated.line = line
192
- mapping.generated.column = column - 1
193
- this.map.addMapping(mapping)
194
- }
195
- }
196
- }
197
- })
198
- }
199
-
200
- isAnnotation() {
201
- if (this.isInline()) {
202
- return true
203
- }
204
- if (typeof this.mapOpts.annotation !== 'undefined') {
205
- return this.mapOpts.annotation
206
- }
207
- if (this.previous().length) {
208
- return this.previous().some(i => i.annotation)
209
- }
210
- return true
211
- }
212
-
213
- isInline() {
214
- if (typeof this.mapOpts.inline !== 'undefined') {
215
- return this.mapOpts.inline
216
- }
217
-
218
- let annotation = this.mapOpts.annotation
219
- if (typeof annotation !== 'undefined' && annotation !== true) {
220
- return false
221
- }
222
-
223
- if (this.previous().length) {
224
- return this.previous().some(i => i.inline)
225
- }
226
- return true
227
- }
228
-
229
- isMap() {
230
- if (typeof this.opts.map !== 'undefined') {
231
- return !!this.opts.map
232
- }
233
- return this.previous().length > 0
234
- }
235
-
236
- isSourcesContent() {
237
- if (typeof this.mapOpts.sourcesContent !== 'undefined') {
238
- return this.mapOpts.sourcesContent
239
- }
240
- if (this.previous().length) {
241
- return this.previous().some(i => i.withContent())
242
- }
243
- return true
244
- }
245
-
246
- outputFile() {
247
- if (this.opts.to) {
248
- return this.path(this.opts.to)
249
- } else if (this.opts.from) {
250
- return this.path(this.opts.from)
251
- } else {
252
- return 'to.css'
253
- }
254
- }
255
-
256
- path(file) {
257
- if (this.mapOpts.absolute) return file
258
- if (file.charCodeAt(0) === 60 /* `<` */) return file
259
- if (/^\w+:\/\//.test(file)) return file
260
- let cached = this.memoizedPaths.get(file)
261
- if (cached) return cached
262
-
263
- let from = this.opts.to ? dirname(this.opts.to) : '.'
264
-
265
- if (typeof this.mapOpts.annotation === 'string') {
266
- from = dirname(resolve(from, this.mapOpts.annotation))
267
- }
268
-
269
- let path = relative(from, file)
270
- this.memoizedPaths.set(file, path)
271
-
272
- return path
273
- }
274
-
275
- previous() {
276
- if (!this.previousMaps) {
277
- this.previousMaps = []
278
- if (this.root) {
279
- this.root.walk(node => {
280
- if (node.source && node.source.input.map) {
281
- let map = node.source.input.map
282
- if (!this.previousMaps.includes(map)) {
283
- this.previousMaps.push(map)
284
- }
285
- }
286
- })
287
- } else {
288
- let input = new Input(this.originalCSS, this.opts)
289
- if (input.map) this.previousMaps.push(input.map)
290
- }
291
- }
292
-
293
- return this.previousMaps
294
- }
295
-
296
- setSourcesContent() {
297
- let already = {}
298
- if (this.root) {
299
- this.root.walk(node => {
300
- if (node.source) {
301
- let from = node.source.input.from
302
- if (from && !already[from]) {
303
- already[from] = true
304
- let fromUrl = this.usesFileUrls
305
- ? this.toFileUrl(from)
306
- : this.toUrl(this.path(from))
307
- this.map.setSourceContent(fromUrl, node.source.input.css)
308
- }
309
- }
310
- })
311
- } else if (this.css) {
312
- let from = this.opts.from
313
- ? this.toUrl(this.path(this.opts.from))
314
- : '<no source>'
315
- this.map.setSourceContent(from, this.css)
316
- }
317
- }
318
-
319
- sourcePath(node) {
320
- if (this.mapOpts.from) {
321
- return this.toUrl(this.mapOpts.from)
322
- } else if (this.usesFileUrls) {
323
- return this.toFileUrl(node.source.input.from)
324
- } else {
325
- return this.toUrl(this.path(node.source.input.from))
326
- }
327
- }
328
-
329
- toBase64(str) {
330
- if (Buffer) {
331
- return Buffer.from(str).toString('base64')
332
- } else {
333
- return window.btoa(unescape(encodeURIComponent(str)))
334
- }
335
- }
336
-
337
- toFileUrl(path) {
338
- let cached = this.memoizedFileURLs.get(path)
339
- if (cached) return cached
340
-
341
- if (pathToFileURL) {
342
- let fileURL = pathToFileURL(path).toString()
343
- this.memoizedFileURLs.set(path, fileURL)
344
-
345
- return fileURL
346
- } else {
347
- throw new Error(
348
- '`map.absolute` option is not available in this PostCSS build'
349
- )
350
- }
351
- }
352
-
353
- toUrl(path) {
354
- let cached = this.memoizedURLs.get(path)
355
- if (cached) return cached
356
-
357
- if (sep === '\\') {
358
- path = path.replace(/\\/g, '/')
359
- }
360
-
361
- let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)
362
- this.memoizedURLs.set(path, url)
363
-
364
- return url
365
- }
366
- }
367
-
368
- module.exports = MapGenerator
@@ -1,46 +0,0 @@
1
- import LazyResult from './lazy-result.js'
2
- import { SourceMap } from './postcss.js'
3
- import Processor from './processor.js'
4
- import Result, { Message, ResultOptions } from './result.js'
5
- import Root from './root.js'
6
- import Warning from './warning.js'
7
-
8
- declare namespace NoWorkResult {
9
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
10
- export { NoWorkResult_ as default }
11
- }
12
-
13
- /**
14
- * A Promise proxy for the result of PostCSS transformations.
15
- * This lazy result instance doesn't parse css unless `NoWorkResult#root` or `Result#root`
16
- * are accessed. See the example below for details.
17
- * A `NoWork` instance is returned by `Processor#process` ONLY when no plugins defined.
18
- *
19
- * ```js
20
- * const noWorkResult = postcss().process(css) // No plugins are defined.
21
- * // CSS is not parsed
22
- * let root = noWorkResult.root // now css is parsed because we accessed the root
23
- * ```
24
- */
25
- declare class NoWorkResult_ implements LazyResult<Root> {
26
- catch: Promise<Result<Root>>['catch']
27
- finally: Promise<Result<Root>>['finally']
28
- then: Promise<Result<Root>>['then']
29
- get content(): string
30
- get css(): string
31
- get map(): SourceMap
32
- get messages(): Message[]
33
- get opts(): ResultOptions
34
- get processor(): Processor
35
- get root(): Root
36
- get [Symbol.toStringTag](): string
37
- constructor(processor: Processor, css: string, opts: ResultOptions)
38
- async(): Promise<Result<Root>>
39
- sync(): Result<Root>
40
- toString(): string
41
- warnings(): Warning[]
42
- }
43
-
44
- declare class NoWorkResult extends NoWorkResult_ {}
45
-
46
- export = NoWorkResult
@@ -1,138 +0,0 @@
1
- 'use strict'
2
-
3
- let MapGenerator = require('./map-generator')
4
- let parse = require('./parse')
5
- const Result = require('./result')
6
- let stringify = require('./stringify')
7
- let warnOnce = require('./warn-once')
8
-
9
- class NoWorkResult {
10
- get content() {
11
- return this.result.css
12
- }
13
-
14
- get css() {
15
- return this.result.css
16
- }
17
-
18
- get map() {
19
- return this.result.map
20
- }
21
-
22
- get messages() {
23
- return []
24
- }
25
-
26
- get opts() {
27
- return this.result.opts
28
- }
29
-
30
- get processor() {
31
- return this.result.processor
32
- }
33
-
34
- get root() {
35
- if (this._root) {
36
- return this._root
37
- }
38
-
39
- let root
40
- let parser = parse
41
-
42
- try {
43
- root = parser(this._css, this._opts)
44
- } catch (error) {
45
- this.error = error
46
- }
47
-
48
- if (this.error) {
49
- throw this.error
50
- } else {
51
- this._root = root
52
- return root
53
- }
54
- }
55
-
56
- get [Symbol.toStringTag]() {
57
- return 'NoWorkResult'
58
- }
59
-
60
- constructor(processor, css, opts) {
61
- css = css.toString()
62
- this.stringified = false
63
-
64
- this._processor = processor
65
- this._css = css
66
- this._opts = opts
67
- this._map = undefined
68
- let root
69
-
70
- let str = stringify
71
- this.result = new Result(this._processor, root, this._opts)
72
- this.result.css = css
73
-
74
- let self = this
75
- Object.defineProperty(this.result, 'root', {
76
- get() {
77
- return self.root
78
- }
79
- })
80
-
81
- let map = new MapGenerator(str, root, this._opts, css)
82
- if (map.isMap()) {
83
- let [generatedCSS, generatedMap] = map.generate()
84
- if (generatedCSS) {
85
- this.result.css = generatedCSS
86
- }
87
- if (generatedMap) {
88
- this.result.map = generatedMap
89
- }
90
- } else {
91
- map.clearAnnotation()
92
- this.result.css = map.css
93
- }
94
- }
95
-
96
- async() {
97
- if (this.error) return Promise.reject(this.error)
98
- return Promise.resolve(this.result)
99
- }
100
-
101
- catch(onRejected) {
102
- return this.async().catch(onRejected)
103
- }
104
-
105
- finally(onFinally) {
106
- return this.async().then(onFinally, onFinally)
107
- }
108
-
109
- sync() {
110
- if (this.error) throw this.error
111
- return this.result
112
- }
113
-
114
- then(onFulfilled, onRejected) {
115
- if (process.env.NODE_ENV !== 'production') {
116
- if (!('from' in this._opts)) {
117
- warnOnce(
118
- 'Without `from` option PostCSS could generate wrong source map ' +
119
- 'and will not find Browserslist config. Set it to CSS file path ' +
120
- 'or to `undefined` to prevent this warning.'
121
- )
122
- }
123
- }
124
-
125
- return this.async().then(onFulfilled, onRejected)
126
- }
127
-
128
- toString() {
129
- return this._css
130
- }
131
-
132
- warnings() {
133
- return []
134
- }
135
- }
136
-
137
- module.exports = NoWorkResult
138
- NoWorkResult.default = NoWorkResult