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,458 @@
1
+ import { RawSourceMap, SourceMapGenerator } from 'source-map-js'
2
+
3
+ import AtRule, { AtRuleProps } from './at-rule.js'
4
+ import Comment, { CommentProps } from './comment.js'
5
+ import Container, { ContainerProps, NewChild } from './container.js'
6
+ import CssSyntaxError from './css-syntax-error.js'
7
+ import Declaration, { DeclarationProps } from './declaration.js'
8
+ import Document, { DocumentProps } from './document.js'
9
+ import Input, { FilePosition } from './input.js'
10
+ import LazyResult from './lazy-result.js'
11
+ import list from './list.js'
12
+ import Node, {
13
+ AnyNode,
14
+ ChildNode,
15
+ ChildProps,
16
+ NodeErrorOptions,
17
+ NodeProps,
18
+ Position,
19
+ Source
20
+ } from './node.js'
21
+ import Processor from './processor.js'
22
+ import Result, { Message } from './result.js'
23
+ import Root, { RootProps } from './root.js'
24
+ import Rule, { RuleProps } from './rule.js'
25
+ import Warning, { WarningOptions } from './warning.js'
26
+
27
+ type DocumentProcessor = (
28
+ document: Document,
29
+ helper: postcss.Helpers
30
+ ) => Promise<void> | void
31
+ type RootProcessor = (
32
+ root: Root,
33
+ helper: postcss.Helpers
34
+ ) => Promise<void> | void
35
+ type DeclarationProcessor = (
36
+ decl: Declaration,
37
+ helper: postcss.Helpers
38
+ ) => Promise<void> | void
39
+ type RuleProcessor = (
40
+ rule: Rule,
41
+ helper: postcss.Helpers
42
+ ) => Promise<void> | void
43
+ type AtRuleProcessor = (
44
+ atRule: AtRule,
45
+ helper: postcss.Helpers
46
+ ) => Promise<void> | void
47
+ type CommentProcessor = (
48
+ comment: Comment,
49
+ helper: postcss.Helpers
50
+ ) => Promise<void> | void
51
+
52
+ interface Processors {
53
+ /**
54
+ * Will be called on all`AtRule` nodes.
55
+ *
56
+ * Will be called again on node or children changes.
57
+ */
58
+ AtRule?: { [name: string]: AtRuleProcessor } | AtRuleProcessor
59
+
60
+ /**
61
+ * Will be called on all `AtRule` nodes, when all children will be processed.
62
+ *
63
+ * Will be called again on node or children changes.
64
+ */
65
+ AtRuleExit?: { [name: string]: AtRuleProcessor } | AtRuleProcessor
66
+
67
+ /**
68
+ * Will be called on all `Comment` nodes.
69
+ *
70
+ * Will be called again on node or children changes.
71
+ */
72
+ Comment?: CommentProcessor
73
+
74
+ /**
75
+ * Will be called on all `Comment` nodes after listeners
76
+ * for `Comment` event.
77
+ *
78
+ * Will be called again on node or children changes.
79
+ */
80
+ CommentExit?: CommentProcessor
81
+
82
+ /**
83
+ * Will be called on all `Declaration` nodes after listeners
84
+ * for `Declaration` event.
85
+ *
86
+ * Will be called again on node or children changes.
87
+ */
88
+ Declaration?: { [prop: string]: DeclarationProcessor } | DeclarationProcessor
89
+
90
+ /**
91
+ * Will be called on all `Declaration` nodes.
92
+ *
93
+ * Will be called again on node or children changes.
94
+ */
95
+ DeclarationExit?:
96
+ | { [prop: string]: DeclarationProcessor }
97
+ | DeclarationProcessor
98
+
99
+ /**
100
+ * Will be called on `Document` node.
101
+ *
102
+ * Will be called again on children changes.
103
+ */
104
+ Document?: DocumentProcessor
105
+
106
+ /**
107
+ * Will be called on `Document` node, when all children will be processed.
108
+ *
109
+ * Will be called again on children changes.
110
+ */
111
+ DocumentExit?: DocumentProcessor
112
+
113
+ /**
114
+ * Will be called on `Root` node once.
115
+ */
116
+ Once?: RootProcessor
117
+
118
+ /**
119
+ * Will be called on `Root` node once, when all children will be processed.
120
+ */
121
+ OnceExit?: RootProcessor
122
+
123
+ /**
124
+ * Will be called on `Root` node.
125
+ *
126
+ * Will be called again on children changes.
127
+ */
128
+ Root?: RootProcessor
129
+
130
+ /**
131
+ * Will be called on `Root` node, when all children will be processed.
132
+ *
133
+ * Will be called again on children changes.
134
+ */
135
+ RootExit?: RootProcessor
136
+
137
+ /**
138
+ * Will be called on all `Rule` nodes.
139
+ *
140
+ * Will be called again on node or children changes.
141
+ */
142
+ Rule?: RuleProcessor
143
+
144
+ /**
145
+ * Will be called on all `Rule` nodes, when all children will be processed.
146
+ *
147
+ * Will be called again on node or children changes.
148
+ */
149
+ RuleExit?: RuleProcessor
150
+ }
151
+
152
+ declare namespace postcss {
153
+ export {
154
+ AnyNode,
155
+ AtRule,
156
+ AtRuleProps,
157
+ ChildNode,
158
+ ChildProps,
159
+ Comment,
160
+ CommentProps,
161
+ Container,
162
+ ContainerProps,
163
+ CssSyntaxError,
164
+ Declaration,
165
+ DeclarationProps,
166
+ Document,
167
+ DocumentProps,
168
+ FilePosition,
169
+ Input,
170
+ LazyResult,
171
+ list,
172
+ Message,
173
+ NewChild,
174
+ Node,
175
+ NodeErrorOptions,
176
+ NodeProps,
177
+ Position,
178
+ Processor,
179
+ Result,
180
+ Root,
181
+ RootProps,
182
+ Rule,
183
+ RuleProps,
184
+ Source,
185
+ Warning,
186
+ WarningOptions
187
+ }
188
+
189
+ export type SourceMap = {
190
+ toJSON(): RawSourceMap
191
+ } & SourceMapGenerator
192
+
193
+ export type Helpers = { postcss: Postcss; result: Result } & Postcss
194
+
195
+ export interface Plugin extends Processors {
196
+ postcssPlugin: string
197
+ prepare?: (result: Result) => Processors
198
+ }
199
+
200
+ export interface PluginCreator<PluginOptions> {
201
+ (opts?: PluginOptions): Plugin | Processor
202
+ postcss: true
203
+ }
204
+
205
+ export interface Transformer extends TransformCallback {
206
+ postcssPlugin: string
207
+ postcssVersion: string
208
+ }
209
+
210
+ export interface TransformCallback {
211
+ (root: Root, result: Result): Promise<void> | void
212
+ }
213
+
214
+ export interface OldPlugin<T> extends Transformer {
215
+ (opts?: T): Transformer
216
+ postcss: Transformer
217
+ }
218
+
219
+ export type AcceptedPlugin =
220
+ | {
221
+ postcss: Processor | TransformCallback
222
+ }
223
+ | OldPlugin<any>
224
+ | Plugin
225
+ | PluginCreator<any>
226
+ | Processor
227
+ | TransformCallback
228
+
229
+ export interface Parser<RootNode = Document | Root> {
230
+ (
231
+ css: { toString(): string } | string,
232
+ opts?: Pick<ProcessOptions, 'document' | 'from' | 'map'>
233
+ ): RootNode
234
+ }
235
+
236
+ export interface Builder {
237
+ (part: string, node?: AnyNode, type?: 'end' | 'start'): void
238
+ }
239
+
240
+ export interface Stringifier {
241
+ (node: AnyNode, builder: Builder): void
242
+ }
243
+
244
+ export interface JSONHydrator {
245
+ (data: object): Node
246
+ (data: object[]): Node[]
247
+ }
248
+
249
+ export interface Syntax<RootNode = Document | Root> {
250
+ /**
251
+ * Function to generate AST by string.
252
+ */
253
+ parse?: Parser<RootNode>
254
+
255
+ /**
256
+ * Class to generate string by AST.
257
+ */
258
+ stringify?: Stringifier
259
+ }
260
+
261
+ export interface SourceMapOptions {
262
+ /**
263
+ * Use absolute path in generated source map.
264
+ */
265
+ absolute?: boolean
266
+
267
+ /**
268
+ * Indicates that PostCSS should add annotation comments to the CSS.
269
+ * By default, PostCSS will always add a comment with a path
270
+ * to the source map. PostCSS will not add annotations to CSS files
271
+ * that do not contain any comments.
272
+ *
273
+ * By default, PostCSS presumes that you want to save the source map as
274
+ * `opts.to + '.map'` and will use this path in the annotation comment.
275
+ * A different path can be set by providing a string value for annotation.
276
+ *
277
+ * If you have set `inline: true`, annotation cannot be disabled.
278
+ */
279
+ annotation?: ((file: string, root: Root) => string) | boolean | string
280
+
281
+ /**
282
+ * Override `from` in map’s sources.
283
+ */
284
+ from?: string
285
+
286
+ /**
287
+ * Indicates that the source map should be embedded in the output CSS
288
+ * as a Base64-encoded comment. By default, it is `true`.
289
+ * But if all previous maps are external, not inline, PostCSS will not embed
290
+ * the map even if you do not set this option.
291
+ *
292
+ * If you have an inline source map, the result.map property will be empty,
293
+ * as the source map will be contained within the text of `result.css`.
294
+ */
295
+ inline?: boolean
296
+
297
+ /**
298
+ * Source map content from a previous processing step (e.g., Sass).
299
+ *
300
+ * PostCSS will try to read the previous source map
301
+ * automatically (based on comments within the source CSS), but you can use
302
+ * this option to identify it manually.
303
+ *
304
+ * If desired, you can omit the previous map with prev: `false`.
305
+ */
306
+ prev?: ((file: string) => string) | boolean | object | string
307
+
308
+ /**
309
+ * Indicates that PostCSS should set the origin content (e.g., Sass source)
310
+ * of the source map. By default, it is true. But if all previous maps do not
311
+ * contain sources content, PostCSS will also leave it out even if you
312
+ * do not set this option.
313
+ */
314
+ sourcesContent?: boolean
315
+ }
316
+
317
+ export interface ProcessOptions<RootNode = Document | Root> {
318
+ /**
319
+ * Input file if it is not simple CSS file, but HTML with <style> or JS with CSS-in-JS blocks.
320
+ */
321
+ document?: string
322
+
323
+ /**
324
+ * The path of the CSS source file. You should always set `from`,
325
+ * because it is used in source map generation and syntax error messages.
326
+ */
327
+ from?: string | undefined
328
+
329
+ /**
330
+ * Source map options
331
+ */
332
+ map?: boolean | SourceMapOptions
333
+
334
+ /**
335
+ * Function to generate AST by string.
336
+ */
337
+ parser?: Parser<RootNode> | Syntax<RootNode>
338
+
339
+ /**
340
+ * Class to generate string by AST.
341
+ */
342
+ stringifier?: Stringifier | Syntax<RootNode>
343
+
344
+ /**
345
+ * Object with parse and stringify.
346
+ */
347
+ syntax?: Syntax<RootNode>
348
+
349
+ /**
350
+ * The path where you'll put the output CSS file. You should always set `to`
351
+ * to generate correct source maps.
352
+ */
353
+ to?: string
354
+ }
355
+
356
+ export type Postcss = typeof postcss
357
+
358
+ /**
359
+ * Default function to convert a node tree into a CSS string.
360
+ */
361
+ export let stringify: Stringifier
362
+
363
+ /**
364
+ * Parses source css and returns a new `Root` or `Document` node,
365
+ * which contains the source CSS nodes.
366
+ *
367
+ * ```js
368
+ * // Simple CSS concatenation with source map support
369
+ * const root1 = postcss.parse(css1, { from: file1 })
370
+ * const root2 = postcss.parse(css2, { from: file2 })
371
+ * root1.append(root2).toResult().css
372
+ * ```
373
+ */
374
+ export let parse: Parser<Root>
375
+
376
+ /**
377
+ * Rehydrate a JSON AST (from `Node#toJSON`) back into the AST classes.
378
+ *
379
+ * ```js
380
+ * const json = root.toJSON()
381
+ * // save to file, send by network, etc
382
+ * const root2 = postcss.fromJSON(json)
383
+ * ```
384
+ */
385
+ export let fromJSON: JSONHydrator
386
+
387
+ /**
388
+ * Creates a new `Comment` node.
389
+ *
390
+ * @param defaults Properties for the new node.
391
+ * @return New comment node
392
+ */
393
+ export function comment(defaults?: CommentProps): Comment
394
+
395
+ /**
396
+ * Creates a new `AtRule` node.
397
+ *
398
+ * @param defaults Properties for the new node.
399
+ * @return New at-rule node.
400
+ */
401
+ export function atRule(defaults?: AtRuleProps): AtRule
402
+
403
+ /**
404
+ * Creates a new `Declaration` node.
405
+ *
406
+ * @param defaults Properties for the new node.
407
+ * @return New declaration node.
408
+ */
409
+ export function decl(defaults?: DeclarationProps): Declaration
410
+
411
+ /**
412
+ * Creates a new `Rule` node.
413
+ *
414
+ * @param default Properties for the new node.
415
+ * @return New rule node.
416
+ */
417
+ export function rule(defaults?: RuleProps): Rule
418
+
419
+ /**
420
+ * Creates a new `Root` node.
421
+ *
422
+ * @param defaults Properties for the new node.
423
+ * @return New root node.
424
+ */
425
+ export function root(defaults?: RootProps): Root
426
+
427
+ /**
428
+ * Creates a new `Document` node.
429
+ *
430
+ * @param defaults Properties for the new node.
431
+ * @return New document node.
432
+ */
433
+ export function document(defaults?: DocumentProps): Document
434
+
435
+ export { postcss as default }
436
+ }
437
+
438
+ /**
439
+ * Create a new `Processor` instance that will apply `plugins`
440
+ * as CSS processors.
441
+ *
442
+ * ```js
443
+ * let postcss = require('postcss')
444
+ *
445
+ * postcss(plugins).process(css, { from, to }).then(result => {
446
+ * console.log(result.css)
447
+ * })
448
+ * ```
449
+ *
450
+ * @param plugins PostCSS plugins.
451
+ * @return Processor to process multiple CSS.
452
+ */
453
+ declare function postcss(
454
+ plugins?: readonly postcss.AcceptedPlugin[]
455
+ ): Processor
456
+ declare function postcss(...plugins: postcss.AcceptedPlugin[]): Processor
457
+
458
+ export = postcss
@@ -0,0 +1,101 @@
1
+ 'use strict'
2
+
3
+ let AtRule = require('./at-rule')
4
+ let Comment = require('./comment')
5
+ let Container = require('./container')
6
+ let CssSyntaxError = require('./css-syntax-error')
7
+ let Declaration = require('./declaration')
8
+ let Document = require('./document')
9
+ let fromJSON = require('./fromJSON')
10
+ let Input = require('./input')
11
+ let LazyResult = require('./lazy-result')
12
+ let list = require('./list')
13
+ let Node = require('./node')
14
+ let parse = require('./parse')
15
+ let Processor = require('./processor')
16
+ let Result = require('./result.js')
17
+ let Root = require('./root')
18
+ let Rule = require('./rule')
19
+ let stringify = require('./stringify')
20
+ let Warning = require('./warning')
21
+
22
+ function postcss(...plugins) {
23
+ if (plugins.length === 1 && Array.isArray(plugins[0])) {
24
+ plugins = plugins[0]
25
+ }
26
+ return new Processor(plugins)
27
+ }
28
+
29
+ postcss.plugin = function plugin(name, initializer) {
30
+ let warningPrinted = false
31
+ function creator(...args) {
32
+ // eslint-disable-next-line no-console
33
+ if (console && console.warn && !warningPrinted) {
34
+ warningPrinted = true
35
+ // eslint-disable-next-line no-console
36
+ console.warn(
37
+ name +
38
+ ': postcss.plugin was deprecated. Migration guide:\n' +
39
+ 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'
40
+ )
41
+ if (process.env.LANG && process.env.LANG.startsWith('cn')) {
42
+ /* c8 ignore next 7 */
43
+ // eslint-disable-next-line no-console
44
+ console.warn(
45
+ name +
46
+ ': 里面 postcss.plugin 被弃用. 迁移指南:\n' +
47
+ 'https://www.w3ctech.com/topic/2226'
48
+ )
49
+ }
50
+ }
51
+ let transformer = initializer(...args)
52
+ transformer.postcssPlugin = name
53
+ transformer.postcssVersion = new Processor().version
54
+ return transformer
55
+ }
56
+
57
+ let cache
58
+ Object.defineProperty(creator, 'postcss', {
59
+ get() {
60
+ if (!cache) cache = creator()
61
+ return cache
62
+ }
63
+ })
64
+
65
+ creator.process = function (css, processOpts, pluginOpts) {
66
+ return postcss([creator(pluginOpts)]).process(css, processOpts)
67
+ }
68
+
69
+ return creator
70
+ }
71
+
72
+ postcss.stringify = stringify
73
+ postcss.parse = parse
74
+ postcss.fromJSON = fromJSON
75
+ postcss.list = list
76
+
77
+ postcss.comment = defaults => new Comment(defaults)
78
+ postcss.atRule = defaults => new AtRule(defaults)
79
+ postcss.decl = defaults => new Declaration(defaults)
80
+ postcss.rule = defaults => new Rule(defaults)
81
+ postcss.root = defaults => new Root(defaults)
82
+ postcss.document = defaults => new Document(defaults)
83
+
84
+ postcss.CssSyntaxError = CssSyntaxError
85
+ postcss.Declaration = Declaration
86
+ postcss.Container = Container
87
+ postcss.Processor = Processor
88
+ postcss.Document = Document
89
+ postcss.Comment = Comment
90
+ postcss.Warning = Warning
91
+ postcss.AtRule = AtRule
92
+ postcss.Result = Result
93
+ postcss.Input = Input
94
+ postcss.Rule = Rule
95
+ postcss.Root = Root
96
+ postcss.Node = Node
97
+
98
+ LazyResult.registerPostcss(postcss)
99
+
100
+ module.exports = postcss
101
+ postcss.default = postcss
@@ -0,0 +1,30 @@
1
+ import postcss from './postcss.js'
2
+
3
+ export default postcss
4
+
5
+ export const stringify = postcss.stringify
6
+ export const fromJSON = postcss.fromJSON
7
+ export const plugin = postcss.plugin
8
+ export const parse = postcss.parse
9
+ export const list = postcss.list
10
+
11
+ export const document = postcss.document
12
+ export const comment = postcss.comment
13
+ export const atRule = postcss.atRule
14
+ export const rule = postcss.rule
15
+ export const decl = postcss.decl
16
+ export const root = postcss.root
17
+
18
+ export const CssSyntaxError = postcss.CssSyntaxError
19
+ export const Declaration = postcss.Declaration
20
+ export const Container = postcss.Container
21
+ export const Processor = postcss.Processor
22
+ export const Document = postcss.Document
23
+ export const Comment = postcss.Comment
24
+ export const Warning = postcss.Warning
25
+ export const AtRule = postcss.AtRule
26
+ export const Result = postcss.Result
27
+ export const Input = postcss.Input
28
+ export const Rule = postcss.Rule
29
+ export const Root = postcss.Root
30
+ export const Node = postcss.Node
@@ -0,0 +1,81 @@
1
+ import { SourceMapConsumer } from 'source-map-js'
2
+
3
+ import { ProcessOptions } from './postcss.js'
4
+
5
+ declare namespace PreviousMap {
6
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
7
+ export { PreviousMap_ as default }
8
+ }
9
+
10
+ /**
11
+ * Source map information from input CSS.
12
+ * For example, source map after Sass compiler.
13
+ *
14
+ * This class will automatically find source map in input CSS or in file system
15
+ * near input file (according `from` option).
16
+ *
17
+ * ```js
18
+ * const root = parse(css, { from: 'a.sass.css' })
19
+ * root.input.map //=> PreviousMap
20
+ * ```
21
+ */
22
+ declare class PreviousMap_ {
23
+ /**
24
+ * `sourceMappingURL` content.
25
+ */
26
+ annotation?: string
27
+
28
+ /**
29
+ * The CSS source identifier. Contains `Input#file` if the user
30
+ * set the `from` option, or `Input#id` if they did not.
31
+ */
32
+ file?: string
33
+
34
+ /**
35
+ * Was source map inlined by data-uri to input CSS.
36
+ */
37
+ inline: boolean
38
+
39
+ /**
40
+ * Path to source map file.
41
+ */
42
+ mapFile?: string
43
+
44
+ /**
45
+ * The directory with source map file, if source map is in separated file.
46
+ */
47
+ root?: string
48
+
49
+ /**
50
+ * Source map file content.
51
+ */
52
+ text?: string
53
+
54
+ /**
55
+ * @param css Input CSS source.
56
+ * @param opts Process options.
57
+ */
58
+ constructor(css: string, opts?: ProcessOptions)
59
+
60
+ /**
61
+ * Create a instance of `SourceMapGenerator` class
62
+ * from the `source-map` library to work with source map information.
63
+ *
64
+ * It is lazy method, so it will create object only on first call
65
+ * and then it will use cache.
66
+ *
67
+ * @return Object with source map information.
68
+ */
69
+ consumer(): SourceMapConsumer
70
+
71
+ /**
72
+ * Does source map contains `sourcesContent` with input source text.
73
+ *
74
+ * @return Is `sourcesContent` present.
75
+ */
76
+ withContent(): boolean
77
+ }
78
+
79
+ declare class PreviousMap extends PreviousMap_ {}
80
+
81
+ export = PreviousMap