create-microact-app 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/index.js +95 -0
  2. package/package.json +21 -0
  3. package/templates/vanilla/.github/workflows/deploy.yml +38 -0
  4. package/templates/vanilla/index.html +13 -0
  5. package/templates/vanilla/node_modules/.package-lock.json +207 -0
  6. package/templates/vanilla/node_modules/@esbuild/darwin-x64/README.md +3 -0
  7. package/templates/vanilla/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
  8. package/templates/vanilla/node_modules/@esbuild/darwin-x64/package.json +17 -0
  9. package/templates/vanilla/node_modules/@monygroupcorp/microact/README.md +154 -0
  10. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js +1749 -0
  11. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js.map +1 -0
  12. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js +1743 -0
  13. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js.map +1 -0
  14. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js +2 -0
  15. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js.map +1 -0
  16. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.html +13 -0
  17. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.js +63 -0
  18. package/templates/vanilla/node_modules/@monygroupcorp/microact/package.json +38 -0
  19. package/templates/vanilla/node_modules/@monygroupcorp/microact/rollup.config.cjs +30 -0
  20. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Component.js +831 -0
  21. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/DOMUpdater.js +320 -0
  22. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/EventBus.js +123 -0
  23. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Router.js +253 -0
  24. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/UpdateScheduler.js +218 -0
  25. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/index.js +6 -0
  26. package/templates/vanilla/node_modules/esbuild/LICENSE.md +21 -0
  27. package/templates/vanilla/node_modules/esbuild/README.md +3 -0
  28. package/templates/vanilla/node_modules/esbuild/bin/esbuild +0 -0
  29. package/templates/vanilla/node_modules/esbuild/install.js +287 -0
  30. package/templates/vanilla/node_modules/esbuild/lib/main.d.ts +660 -0
  31. package/templates/vanilla/node_modules/esbuild/lib/main.js +2393 -0
  32. package/templates/vanilla/node_modules/esbuild/package.json +42 -0
  33. package/templates/vanilla/node_modules/nanoid/LICENSE +20 -0
  34. package/templates/vanilla/node_modules/nanoid/README.md +39 -0
  35. package/templates/vanilla/node_modules/nanoid/async/index.browser.cjs +69 -0
  36. package/templates/vanilla/node_modules/nanoid/async/index.browser.js +34 -0
  37. package/templates/vanilla/node_modules/nanoid/async/index.cjs +71 -0
  38. package/templates/vanilla/node_modules/nanoid/async/index.d.ts +56 -0
  39. package/templates/vanilla/node_modules/nanoid/async/index.js +35 -0
  40. package/templates/vanilla/node_modules/nanoid/async/index.native.js +26 -0
  41. package/templates/vanilla/node_modules/nanoid/async/package.json +12 -0
  42. package/templates/vanilla/node_modules/nanoid/bin/nanoid.cjs +55 -0
  43. package/templates/vanilla/node_modules/nanoid/index.browser.cjs +72 -0
  44. package/templates/vanilla/node_modules/nanoid/index.browser.js +34 -0
  45. package/templates/vanilla/node_modules/nanoid/index.cjs +85 -0
  46. package/templates/vanilla/node_modules/nanoid/index.d.cts +91 -0
  47. package/templates/vanilla/node_modules/nanoid/index.d.ts +91 -0
  48. package/templates/vanilla/node_modules/nanoid/index.js +45 -0
  49. package/templates/vanilla/node_modules/nanoid/nanoid.js +1 -0
  50. package/templates/vanilla/node_modules/nanoid/non-secure/index.cjs +34 -0
  51. package/templates/vanilla/node_modules/nanoid/non-secure/index.d.ts +33 -0
  52. package/templates/vanilla/node_modules/nanoid/non-secure/index.js +21 -0
  53. package/templates/vanilla/node_modules/nanoid/non-secure/package.json +6 -0
  54. package/templates/vanilla/node_modules/nanoid/package.json +89 -0
  55. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.cjs +7 -0
  56. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.js +3 -0
  57. package/templates/vanilla/node_modules/nanoid/url-alphabet/package.json +6 -0
  58. package/templates/vanilla/node_modules/picocolors/LICENSE +15 -0
  59. package/templates/vanilla/node_modules/picocolors/README.md +21 -0
  60. package/templates/vanilla/node_modules/picocolors/package.json +25 -0
  61. package/templates/vanilla/node_modules/picocolors/picocolors.browser.js +4 -0
  62. package/templates/vanilla/node_modules/picocolors/picocolors.d.ts +5 -0
  63. package/templates/vanilla/node_modules/picocolors/picocolors.js +75 -0
  64. package/templates/vanilla/node_modules/picocolors/types.d.ts +51 -0
  65. package/templates/vanilla/node_modules/postcss/LICENSE +20 -0
  66. package/templates/vanilla/node_modules/postcss/README.md +29 -0
  67. package/templates/vanilla/node_modules/postcss/lib/at-rule.d.ts +140 -0
  68. package/templates/vanilla/node_modules/postcss/lib/at-rule.js +25 -0
  69. package/templates/vanilla/node_modules/postcss/lib/comment.d.ts +68 -0
  70. package/templates/vanilla/node_modules/postcss/lib/comment.js +13 -0
  71. package/templates/vanilla/node_modules/postcss/lib/container.d.ts +483 -0
  72. package/templates/vanilla/node_modules/postcss/lib/container.js +447 -0
  73. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.d.ts +248 -0
  74. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.js +133 -0
  75. package/templates/vanilla/node_modules/postcss/lib/declaration.d.ts +151 -0
  76. package/templates/vanilla/node_modules/postcss/lib/declaration.js +24 -0
  77. package/templates/vanilla/node_modules/postcss/lib/document.d.ts +69 -0
  78. package/templates/vanilla/node_modules/postcss/lib/document.js +33 -0
  79. package/templates/vanilla/node_modules/postcss/lib/fromJSON.d.ts +9 -0
  80. package/templates/vanilla/node_modules/postcss/lib/fromJSON.js +54 -0
  81. package/templates/vanilla/node_modules/postcss/lib/input.d.ts +227 -0
  82. package/templates/vanilla/node_modules/postcss/lib/input.js +265 -0
  83. package/templates/vanilla/node_modules/postcss/lib/lazy-result.d.ts +190 -0
  84. package/templates/vanilla/node_modules/postcss/lib/lazy-result.js +550 -0
  85. package/templates/vanilla/node_modules/postcss/lib/list.d.ts +60 -0
  86. package/templates/vanilla/node_modules/postcss/lib/list.js +58 -0
  87. package/templates/vanilla/node_modules/postcss/lib/map-generator.js +368 -0
  88. package/templates/vanilla/node_modules/postcss/lib/no-work-result.d.ts +46 -0
  89. package/templates/vanilla/node_modules/postcss/lib/no-work-result.js +138 -0
  90. package/templates/vanilla/node_modules/postcss/lib/node.d.ts +556 -0
  91. package/templates/vanilla/node_modules/postcss/lib/node.js +449 -0
  92. package/templates/vanilla/node_modules/postcss/lib/parse.d.ts +9 -0
  93. package/templates/vanilla/node_modules/postcss/lib/parse.js +42 -0
  94. package/templates/vanilla/node_modules/postcss/lib/parser.js +611 -0
  95. package/templates/vanilla/node_modules/postcss/lib/postcss.d.mts +69 -0
  96. package/templates/vanilla/node_modules/postcss/lib/postcss.d.ts +458 -0
  97. package/templates/vanilla/node_modules/postcss/lib/postcss.js +101 -0
  98. package/templates/vanilla/node_modules/postcss/lib/postcss.mjs +30 -0
  99. package/templates/vanilla/node_modules/postcss/lib/previous-map.d.ts +81 -0
  100. package/templates/vanilla/node_modules/postcss/lib/previous-map.js +144 -0
  101. package/templates/vanilla/node_modules/postcss/lib/processor.d.ts +115 -0
  102. package/templates/vanilla/node_modules/postcss/lib/processor.js +67 -0
  103. package/templates/vanilla/node_modules/postcss/lib/result.d.ts +205 -0
  104. package/templates/vanilla/node_modules/postcss/lib/result.js +42 -0
  105. package/templates/vanilla/node_modules/postcss/lib/root.d.ts +87 -0
  106. package/templates/vanilla/node_modules/postcss/lib/root.js +61 -0
  107. package/templates/vanilla/node_modules/postcss/lib/rule.d.ts +126 -0
  108. package/templates/vanilla/node_modules/postcss/lib/rule.js +27 -0
  109. package/templates/vanilla/node_modules/postcss/lib/stringifier.d.ts +46 -0
  110. package/templates/vanilla/node_modules/postcss/lib/stringifier.js +353 -0
  111. package/templates/vanilla/node_modules/postcss/lib/stringify.d.ts +9 -0
  112. package/templates/vanilla/node_modules/postcss/lib/stringify.js +11 -0
  113. package/templates/vanilla/node_modules/postcss/lib/symbols.js +5 -0
  114. package/templates/vanilla/node_modules/postcss/lib/terminal-highlight.js +70 -0
  115. package/templates/vanilla/node_modules/postcss/lib/tokenize.js +266 -0
  116. package/templates/vanilla/node_modules/postcss/lib/warn-once.js +13 -0
  117. package/templates/vanilla/node_modules/postcss/lib/warning.d.ts +147 -0
  118. package/templates/vanilla/node_modules/postcss/lib/warning.js +37 -0
  119. package/templates/vanilla/node_modules/postcss/package.json +88 -0
  120. package/templates/vanilla/node_modules/rollup/LICENSE.md +695 -0
  121. package/templates/vanilla/node_modules/rollup/README.md +125 -0
  122. package/templates/vanilla/node_modules/rollup/dist/bin/rollup +1715 -0
  123. package/templates/vanilla/node_modules/rollup/dist/es/getLogFilter.js +64 -0
  124. package/templates/vanilla/node_modules/rollup/dist/es/package.json +1 -0
  125. package/templates/vanilla/node_modules/rollup/dist/es/rollup.js +17 -0
  126. package/templates/vanilla/node_modules/rollup/dist/es/shared/node-entry.js +27273 -0
  127. package/templates/vanilla/node_modules/rollup/dist/es/shared/watch.js +4857 -0
  128. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.d.ts +5 -0
  129. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.js +69 -0
  130. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.d.ts +20 -0
  131. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.js +29 -0
  132. package/templates/vanilla/node_modules/rollup/dist/rollup.d.ts +1012 -0
  133. package/templates/vanilla/node_modules/rollup/dist/rollup.js +31 -0
  134. package/templates/vanilla/node_modules/rollup/dist/shared/fsevents-importer.js +37 -0
  135. package/templates/vanilla/node_modules/rollup/dist/shared/index.js +4571 -0
  136. package/templates/vanilla/node_modules/rollup/dist/shared/loadConfigFile.js +546 -0
  137. package/templates/vanilla/node_modules/rollup/dist/shared/rollup.js +27351 -0
  138. package/templates/vanilla/node_modules/rollup/dist/shared/watch-cli.js +561 -0
  139. package/templates/vanilla/node_modules/rollup/dist/shared/watch-proxy.js +87 -0
  140. package/templates/vanilla/node_modules/rollup/dist/shared/watch.js +316 -0
  141. package/templates/vanilla/node_modules/rollup/package.json +181 -0
  142. package/templates/vanilla/node_modules/source-map-js/LICENSE +28 -0
  143. package/templates/vanilla/node_modules/source-map-js/README.md +765 -0
  144. package/templates/vanilla/node_modules/source-map-js/lib/array-set.js +121 -0
  145. package/templates/vanilla/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  146. package/templates/vanilla/node_modules/source-map-js/lib/base64.js +67 -0
  147. package/templates/vanilla/node_modules/source-map-js/lib/binary-search.js +111 -0
  148. package/templates/vanilla/node_modules/source-map-js/lib/mapping-list.js +79 -0
  149. package/templates/vanilla/node_modules/source-map-js/lib/quick-sort.js +132 -0
  150. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
  151. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  152. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
  153. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  154. package/templates/vanilla/node_modules/source-map-js/lib/source-node.d.ts +1 -0
  155. package/templates/vanilla/node_modules/source-map-js/lib/source-node.js +413 -0
  156. package/templates/vanilla/node_modules/source-map-js/lib/util.js +594 -0
  157. package/templates/vanilla/node_modules/source-map-js/package.json +71 -0
  158. package/templates/vanilla/node_modules/source-map-js/source-map.d.ts +104 -0
  159. package/templates/vanilla/node_modules/source-map-js/source-map.js +8 -0
  160. package/templates/vanilla/node_modules/vite/LICENSE.md +3396 -0
  161. package/templates/vanilla/node_modules/vite/README.md +20 -0
  162. package/templates/vanilla/node_modules/vite/bin/openChrome.applescript +95 -0
  163. package/templates/vanilla/node_modules/vite/bin/vite.js +61 -0
  164. package/templates/vanilla/node_modules/vite/client.d.ts +281 -0
  165. package/templates/vanilla/node_modules/vite/dist/client/client.mjs +725 -0
  166. package/templates/vanilla/node_modules/vite/dist/client/client.mjs.map +1 -0
  167. package/templates/vanilla/node_modules/vite/dist/client/env.mjs +30 -0
  168. package/templates/vanilla/node_modules/vite/dist/client/env.mjs.map +1 -0
  169. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-7ec6f216.js +914 -0
  170. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-827b23df.js +66713 -0
  171. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-c423598f.js +561 -0
  172. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f0c7dae0.js +7930 -0
  173. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f1e8587f.js +7646 -0
  174. package/templates/vanilla/node_modules/vite/dist/node/cli.js +929 -0
  175. package/templates/vanilla/node_modules/vite/dist/node/constants.js +130 -0
  176. package/templates/vanilla/node_modules/vite/dist/node/index.d.ts +3548 -0
  177. package/templates/vanilla/node_modules/vite/dist/node/index.js +158 -0
  178. package/templates/vanilla/node_modules/vite/dist/node-cjs/publicUtils.cjs +4555 -0
  179. package/templates/vanilla/node_modules/vite/index.cjs +34 -0
  180. package/templates/vanilla/node_modules/vite/package.json +173 -0
  181. package/templates/vanilla/node_modules/vite/types/customEvent.d.ts +35 -0
  182. package/templates/vanilla/node_modules/vite/types/hmrPayload.d.ts +61 -0
  183. package/templates/vanilla/node_modules/vite/types/hot.d.ts +32 -0
  184. package/templates/vanilla/node_modules/vite/types/importGlob.d.ts +97 -0
  185. package/templates/vanilla/node_modules/vite/types/importMeta.d.ts +26 -0
  186. package/templates/vanilla/node_modules/vite/types/metadata.d.ts +10 -0
  187. package/templates/vanilla/node_modules/vite/types/package.json +4 -0
  188. package/templates/vanilla/package-lock.json +589 -0
  189. package/templates/vanilla/package.json +17 -0
  190. package/templates/vanilla/src/components/App.js +60 -0
  191. package/templates/vanilla/src/components/Card.js +21 -0
  192. package/templates/vanilla/src/components/Hero.js +15 -0
  193. package/templates/vanilla/src/components/InteractiveDemo.js +59 -0
  194. package/templates/vanilla/src/main.js +9 -0
  195. package/templates/vanilla/src/style/main.css +172 -0
  196. package/templates/vanilla/vite.config.js +8 -0
  197. package/templates/web3/.env.example +15 -0
  198. package/templates/web3/.github/workflows/deploy.yml +38 -0
  199. package/templates/web3/README.md +33 -0
  200. package/templates/web3/contracts/foundry.toml +11 -0
  201. package/templates/web3/contracts/script/Deploy.s.sol +13 -0
  202. package/templates/web3/contracts/src/Counter.sol +21 -0
  203. package/templates/web3/index.html +13 -0
  204. package/templates/web3/package.json +25 -0
  205. package/templates/web3/scripts/chain-start.mjs +305 -0
  206. package/templates/web3/scripts/chain-stop.mjs +34 -0
  207. package/templates/web3/scripts/deploy.mjs +155 -0
  208. package/templates/web3/scripts/setup.mjs +42 -0
  209. package/templates/web3/src/components/App.js +49 -0
  210. package/templates/web3/src/components/CounterCard.js +111 -0
  211. package/templates/web3/src/main.js +54 -0
  212. package/templates/web3/src/style/main.css +345 -0
  213. package/templates/web3/vite.config.js +29 -0
@@ -0,0 +1,265 @@
1
+ 'use strict'
2
+
3
+ let { nanoid } = require('nanoid/non-secure')
4
+ let { isAbsolute, resolve } = require('path')
5
+ let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
6
+ let { fileURLToPath, pathToFileURL } = require('url')
7
+
8
+ let CssSyntaxError = require('./css-syntax-error')
9
+ let PreviousMap = require('./previous-map')
10
+ let terminalHighlight = require('./terminal-highlight')
11
+
12
+ let lineToIndexCache = Symbol('lineToIndexCache')
13
+
14
+ let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)
15
+ let pathAvailable = Boolean(resolve && isAbsolute)
16
+
17
+ function getLineToIndex(input) {
18
+ if (input[lineToIndexCache]) return input[lineToIndexCache]
19
+ let lines = input.css.split('\n')
20
+ let lineToIndex = new Array(lines.length)
21
+ let prevIndex = 0
22
+
23
+ for (let i = 0, l = lines.length; i < l; i++) {
24
+ lineToIndex[i] = prevIndex
25
+ prevIndex += lines[i].length + 1
26
+ }
27
+
28
+ input[lineToIndexCache] = lineToIndex
29
+ return lineToIndex
30
+ }
31
+
32
+ class Input {
33
+ get from() {
34
+ return this.file || this.id
35
+ }
36
+
37
+ constructor(css, opts = {}) {
38
+ if (
39
+ css === null ||
40
+ typeof css === 'undefined' ||
41
+ (typeof css === 'object' && !css.toString)
42
+ ) {
43
+ throw new Error(`PostCSS received ${css} instead of CSS string`)
44
+ }
45
+
46
+ this.css = css.toString()
47
+
48
+ if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') {
49
+ this.hasBOM = true
50
+ this.css = this.css.slice(1)
51
+ } else {
52
+ this.hasBOM = false
53
+ }
54
+
55
+ this.document = this.css
56
+ if (opts.document) this.document = opts.document.toString()
57
+
58
+ if (opts.from) {
59
+ if (
60
+ !pathAvailable ||
61
+ /^\w+:\/\//.test(opts.from) ||
62
+ isAbsolute(opts.from)
63
+ ) {
64
+ this.file = opts.from
65
+ } else {
66
+ this.file = resolve(opts.from)
67
+ }
68
+ }
69
+
70
+ if (pathAvailable && sourceMapAvailable) {
71
+ let map = new PreviousMap(this.css, opts)
72
+ if (map.text) {
73
+ this.map = map
74
+ let file = map.consumer().file
75
+ if (!this.file && file) this.file = this.mapResolve(file)
76
+ }
77
+ }
78
+
79
+ if (!this.file) {
80
+ this.id = '<input css ' + nanoid(6) + '>'
81
+ }
82
+ if (this.map) this.map.file = this.from
83
+ }
84
+
85
+ error(message, line, column, opts = {}) {
86
+ let endColumn, endLine, endOffset, offset, result
87
+
88
+ if (line && typeof line === 'object') {
89
+ let start = line
90
+ let end = column
91
+ if (typeof start.offset === 'number') {
92
+ offset = start.offset
93
+ let pos = this.fromOffset(offset)
94
+ line = pos.line
95
+ column = pos.col
96
+ } else {
97
+ line = start.line
98
+ column = start.column
99
+ offset = this.fromLineAndColumn(line, column)
100
+ }
101
+ if (typeof end.offset === 'number') {
102
+ endOffset = end.offset
103
+ let pos = this.fromOffset(endOffset)
104
+ endLine = pos.line
105
+ endColumn = pos.col
106
+ } else {
107
+ endLine = end.line
108
+ endColumn = end.column
109
+ endOffset = this.fromLineAndColumn(end.line, end.column)
110
+ }
111
+ } else if (!column) {
112
+ offset = line
113
+ let pos = this.fromOffset(offset)
114
+ line = pos.line
115
+ column = pos.col
116
+ } else {
117
+ offset = this.fromLineAndColumn(line, column)
118
+ }
119
+
120
+ let origin = this.origin(line, column, endLine, endColumn)
121
+ if (origin) {
122
+ result = new CssSyntaxError(
123
+ message,
124
+ origin.endLine === undefined
125
+ ? origin.line
126
+ : { column: origin.column, line: origin.line },
127
+ origin.endLine === undefined
128
+ ? origin.column
129
+ : { column: origin.endColumn, line: origin.endLine },
130
+ origin.source,
131
+ origin.file,
132
+ opts.plugin
133
+ )
134
+ } else {
135
+ result = new CssSyntaxError(
136
+ message,
137
+ endLine === undefined ? line : { column, line },
138
+ endLine === undefined ? column : { column: endColumn, line: endLine },
139
+ this.css,
140
+ this.file,
141
+ opts.plugin
142
+ )
143
+ }
144
+
145
+ result.input = { column, endColumn, endLine, endOffset, line, offset, source: this.css }
146
+ if (this.file) {
147
+ if (pathToFileURL) {
148
+ result.input.url = pathToFileURL(this.file).toString()
149
+ }
150
+ result.input.file = this.file
151
+ }
152
+
153
+ return result
154
+ }
155
+
156
+ fromLineAndColumn(line, column) {
157
+ let lineToIndex = getLineToIndex(this)
158
+ let index = lineToIndex[line - 1]
159
+ return index + column - 1
160
+ }
161
+
162
+ fromOffset(offset) {
163
+ let lineToIndex = getLineToIndex(this)
164
+ let lastLine = lineToIndex[lineToIndex.length - 1]
165
+
166
+ let min = 0
167
+ if (offset >= lastLine) {
168
+ min = lineToIndex.length - 1
169
+ } else {
170
+ let max = lineToIndex.length - 2
171
+ let mid
172
+ while (min < max) {
173
+ mid = min + ((max - min) >> 1)
174
+ if (offset < lineToIndex[mid]) {
175
+ max = mid - 1
176
+ } else if (offset >= lineToIndex[mid + 1]) {
177
+ min = mid + 1
178
+ } else {
179
+ min = mid
180
+ break
181
+ }
182
+ }
183
+ }
184
+ return {
185
+ col: offset - lineToIndex[min] + 1,
186
+ line: min + 1
187
+ }
188
+ }
189
+
190
+ mapResolve(file) {
191
+ if (/^\w+:\/\//.test(file)) {
192
+ return file
193
+ }
194
+ return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)
195
+ }
196
+
197
+ origin(line, column, endLine, endColumn) {
198
+ if (!this.map) return false
199
+ let consumer = this.map.consumer()
200
+
201
+ let from = consumer.originalPositionFor({ column, line })
202
+ if (!from.source) return false
203
+
204
+ let to
205
+ if (typeof endLine === 'number') {
206
+ to = consumer.originalPositionFor({ column: endColumn, line: endLine })
207
+ }
208
+
209
+ let fromUrl
210
+
211
+ if (isAbsolute(from.source)) {
212
+ fromUrl = pathToFileURL(from.source)
213
+ } else {
214
+ fromUrl = new URL(
215
+ from.source,
216
+ this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)
217
+ )
218
+ }
219
+
220
+ let result = {
221
+ column: from.column,
222
+ endColumn: to && to.column,
223
+ endLine: to && to.line,
224
+ line: from.line,
225
+ url: fromUrl.toString()
226
+ }
227
+
228
+ if (fromUrl.protocol === 'file:') {
229
+ if (fileURLToPath) {
230
+ result.file = fileURLToPath(fromUrl)
231
+ } else {
232
+ /* c8 ignore next 2 */
233
+ throw new Error(`file: protocol is not available in this PostCSS build`)
234
+ }
235
+ }
236
+
237
+ let source = consumer.sourceContentFor(from.source)
238
+ if (source) result.source = source
239
+
240
+ return result
241
+ }
242
+
243
+ toJSON() {
244
+ let json = {}
245
+ for (let name of ['hasBOM', 'css', 'file', 'id']) {
246
+ if (this[name] != null) {
247
+ json[name] = this[name]
248
+ }
249
+ }
250
+ if (this.map) {
251
+ json.map = { ...this.map }
252
+ if (json.map.consumerCache) {
253
+ json.map.consumerCache = undefined
254
+ }
255
+ }
256
+ return json
257
+ }
258
+ }
259
+
260
+ module.exports = Input
261
+ Input.default = Input
262
+
263
+ if (terminalHighlight && terminalHighlight.registerInput) {
264
+ terminalHighlight.registerInput(Input)
265
+ }
@@ -0,0 +1,190 @@
1
+ import Document from './document.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 LazyResult {
9
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
10
+ export { LazyResult_ as default }
11
+ }
12
+
13
+ /**
14
+ * A Promise proxy for the result of PostCSS transformations.
15
+ *
16
+ * A `LazyResult` instance is returned by `Processor#process`.
17
+ *
18
+ * ```js
19
+ * const lazy = postcss([autoprefixer]).process(css)
20
+ * ```
21
+ */
22
+ declare class LazyResult_<RootNode = Document | Root>
23
+ implements PromiseLike<Result<RootNode>>
24
+ {
25
+ /**
26
+ * Processes input CSS through synchronous and asynchronous plugins
27
+ * and calls onRejected for each error thrown in any plugin.
28
+ *
29
+ * It implements standard Promise API.
30
+ *
31
+ * ```js
32
+ * postcss([autoprefixer]).process(css).then(result => {
33
+ * console.log(result.css)
34
+ * }).catch(error => {
35
+ * console.error(error)
36
+ * })
37
+ * ```
38
+ */
39
+ catch: Promise<Result<RootNode>>['catch']
40
+
41
+ /**
42
+ * Processes input CSS through synchronous and asynchronous plugins
43
+ * and calls onFinally on any error or when all plugins will finish work.
44
+ *
45
+ * It implements standard Promise API.
46
+ *
47
+ * ```js
48
+ * postcss([autoprefixer]).process(css).finally(() => {
49
+ * console.log('processing ended')
50
+ * })
51
+ * ```
52
+ */
53
+ finally: Promise<Result<RootNode>>['finally']
54
+
55
+ /**
56
+ * Processes input CSS through synchronous and asynchronous plugins
57
+ * and calls `onFulfilled` with a Result instance. If a plugin throws
58
+ * an error, the `onRejected` callback will be executed.
59
+ *
60
+ * It implements standard Promise API.
61
+ *
62
+ * ```js
63
+ * postcss([autoprefixer]).process(css, { from: cssPath }).then(result => {
64
+ * console.log(result.css)
65
+ * })
66
+ * ```
67
+ */
68
+ then: Promise<Result<RootNode>>['then']
69
+
70
+ /**
71
+ * An alias for the `css` property. Use it with syntaxes
72
+ * that generate non-CSS output.
73
+ *
74
+ * This property will only work with synchronous plugins.
75
+ * If the processor contains any asynchronous plugins
76
+ * it will throw an error.
77
+ *
78
+ * PostCSS runners should always use `LazyResult#then`.
79
+ */
80
+ get content(): string
81
+
82
+ /**
83
+ * Processes input CSS through synchronous plugins, converts `Root`
84
+ * to a CSS string and returns `Result#css`.
85
+ *
86
+ * This property will only work with synchronous plugins.
87
+ * If the processor contains any asynchronous plugins
88
+ * it will throw an error.
89
+ *
90
+ * PostCSS runners should always use `LazyResult#then`.
91
+ */
92
+ get css(): string
93
+
94
+ /**
95
+ * Processes input CSS through synchronous plugins
96
+ * and returns `Result#map`.
97
+ *
98
+ * This property will only work with synchronous plugins.
99
+ * If the processor contains any asynchronous plugins
100
+ * it will throw an error.
101
+ *
102
+ * PostCSS runners should always use `LazyResult#then`.
103
+ */
104
+ get map(): SourceMap
105
+
106
+ /**
107
+ * Processes input CSS through synchronous plugins
108
+ * and returns `Result#messages`.
109
+ *
110
+ * This property will only work with synchronous plugins. If the processor
111
+ * contains any asynchronous plugins it will throw an error.
112
+ *
113
+ * PostCSS runners should always use `LazyResult#then`.
114
+ */
115
+ get messages(): Message[]
116
+
117
+ /**
118
+ * Options from the `Processor#process` call.
119
+ */
120
+ get opts(): ResultOptions
121
+
122
+ /**
123
+ * Returns a `Processor` instance, which will be used
124
+ * for CSS transformations.
125
+ */
126
+ get processor(): Processor
127
+
128
+ /**
129
+ * Processes input CSS through synchronous plugins
130
+ * and returns `Result#root`.
131
+ *
132
+ * This property will only work with synchronous plugins. If the processor
133
+ * contains any asynchronous plugins it will throw an error.
134
+ *
135
+ * PostCSS runners should always use `LazyResult#then`.
136
+ */
137
+ get root(): RootNode
138
+
139
+ /**
140
+ * Returns the default string description of an object.
141
+ * Required to implement the Promise interface.
142
+ */
143
+ get [Symbol.toStringTag](): string
144
+
145
+ /**
146
+ * @param processor Processor used for this transformation.
147
+ * @param css CSS to parse and transform.
148
+ * @param opts Options from the `Processor#process` or `Root#toResult`.
149
+ */
150
+ constructor(processor: Processor, css: string, opts: ResultOptions)
151
+
152
+ /**
153
+ * Run plugin in async way and return `Result`.
154
+ *
155
+ * @return Result with output content.
156
+ */
157
+ async(): Promise<Result<RootNode>>
158
+
159
+ /**
160
+ * Run plugin in sync way and return `Result`.
161
+ *
162
+ * @return Result with output content.
163
+ */
164
+ sync(): Result<RootNode>
165
+
166
+ /**
167
+ * Alias for the `LazyResult#css` property.
168
+ *
169
+ * ```js
170
+ * lazy + '' === lazy.css
171
+ * ```
172
+ *
173
+ * @return Output CSS.
174
+ */
175
+ toString(): string
176
+
177
+ /**
178
+ * Processes input CSS through synchronous plugins
179
+ * and calls `Result#warnings`.
180
+ *
181
+ * @return Warnings from plugins.
182
+ */
183
+ warnings(): Warning[]
184
+ }
185
+
186
+ declare class LazyResult<
187
+ RootNode = Document | Root
188
+ > extends LazyResult_<RootNode> {}
189
+
190
+ export = LazyResult