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.
- package/index.js +95 -0
- package/package.json +21 -0
- package/templates/vanilla/.github/workflows/deploy.yml +38 -0
- package/templates/vanilla/index.html +13 -0
- package/templates/vanilla/node_modules/.package-lock.json +207 -0
- package/templates/vanilla/node_modules/@esbuild/darwin-x64/README.md +3 -0
- package/templates/vanilla/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
- package/templates/vanilla/node_modules/@esbuild/darwin-x64/package.json +17 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/README.md +154 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js +1749 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js.map +1 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js +1743 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js.map +1 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js +2 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js.map +1 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.html +13 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.js +63 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/package.json +38 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/rollup.config.cjs +30 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Component.js +831 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/src/DOMUpdater.js +320 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/src/EventBus.js +123 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Router.js +253 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/src/UpdateScheduler.js +218 -0
- package/templates/vanilla/node_modules/@monygroupcorp/microact/src/index.js +6 -0
- package/templates/vanilla/node_modules/esbuild/LICENSE.md +21 -0
- package/templates/vanilla/node_modules/esbuild/README.md +3 -0
- package/templates/vanilla/node_modules/esbuild/bin/esbuild +0 -0
- package/templates/vanilla/node_modules/esbuild/install.js +287 -0
- package/templates/vanilla/node_modules/esbuild/lib/main.d.ts +660 -0
- package/templates/vanilla/node_modules/esbuild/lib/main.js +2393 -0
- package/templates/vanilla/node_modules/esbuild/package.json +42 -0
- package/templates/vanilla/node_modules/nanoid/LICENSE +20 -0
- package/templates/vanilla/node_modules/nanoid/README.md +39 -0
- package/templates/vanilla/node_modules/nanoid/async/index.browser.cjs +69 -0
- package/templates/vanilla/node_modules/nanoid/async/index.browser.js +34 -0
- package/templates/vanilla/node_modules/nanoid/async/index.cjs +71 -0
- package/templates/vanilla/node_modules/nanoid/async/index.d.ts +56 -0
- package/templates/vanilla/node_modules/nanoid/async/index.js +35 -0
- package/templates/vanilla/node_modules/nanoid/async/index.native.js +26 -0
- package/templates/vanilla/node_modules/nanoid/async/package.json +12 -0
- package/templates/vanilla/node_modules/nanoid/bin/nanoid.cjs +55 -0
- package/templates/vanilla/node_modules/nanoid/index.browser.cjs +72 -0
- package/templates/vanilla/node_modules/nanoid/index.browser.js +34 -0
- package/templates/vanilla/node_modules/nanoid/index.cjs +85 -0
- package/templates/vanilla/node_modules/nanoid/index.d.cts +91 -0
- package/templates/vanilla/node_modules/nanoid/index.d.ts +91 -0
- package/templates/vanilla/node_modules/nanoid/index.js +45 -0
- package/templates/vanilla/node_modules/nanoid/nanoid.js +1 -0
- package/templates/vanilla/node_modules/nanoid/non-secure/index.cjs +34 -0
- package/templates/vanilla/node_modules/nanoid/non-secure/index.d.ts +33 -0
- package/templates/vanilla/node_modules/nanoid/non-secure/index.js +21 -0
- package/templates/vanilla/node_modules/nanoid/non-secure/package.json +6 -0
- package/templates/vanilla/node_modules/nanoid/package.json +89 -0
- package/templates/vanilla/node_modules/nanoid/url-alphabet/index.cjs +7 -0
- package/templates/vanilla/node_modules/nanoid/url-alphabet/index.js +3 -0
- package/templates/vanilla/node_modules/nanoid/url-alphabet/package.json +6 -0
- package/templates/vanilla/node_modules/picocolors/LICENSE +15 -0
- package/templates/vanilla/node_modules/picocolors/README.md +21 -0
- package/templates/vanilla/node_modules/picocolors/package.json +25 -0
- package/templates/vanilla/node_modules/picocolors/picocolors.browser.js +4 -0
- package/templates/vanilla/node_modules/picocolors/picocolors.d.ts +5 -0
- package/templates/vanilla/node_modules/picocolors/picocolors.js +75 -0
- package/templates/vanilla/node_modules/picocolors/types.d.ts +51 -0
- package/templates/vanilla/node_modules/postcss/LICENSE +20 -0
- package/templates/vanilla/node_modules/postcss/README.md +29 -0
- package/templates/vanilla/node_modules/postcss/lib/at-rule.d.ts +140 -0
- package/templates/vanilla/node_modules/postcss/lib/at-rule.js +25 -0
- package/templates/vanilla/node_modules/postcss/lib/comment.d.ts +68 -0
- package/templates/vanilla/node_modules/postcss/lib/comment.js +13 -0
- package/templates/vanilla/node_modules/postcss/lib/container.d.ts +483 -0
- package/templates/vanilla/node_modules/postcss/lib/container.js +447 -0
- package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.d.ts +248 -0
- package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.js +133 -0
- package/templates/vanilla/node_modules/postcss/lib/declaration.d.ts +151 -0
- package/templates/vanilla/node_modules/postcss/lib/declaration.js +24 -0
- package/templates/vanilla/node_modules/postcss/lib/document.d.ts +69 -0
- package/templates/vanilla/node_modules/postcss/lib/document.js +33 -0
- package/templates/vanilla/node_modules/postcss/lib/fromJSON.d.ts +9 -0
- package/templates/vanilla/node_modules/postcss/lib/fromJSON.js +54 -0
- package/templates/vanilla/node_modules/postcss/lib/input.d.ts +227 -0
- package/templates/vanilla/node_modules/postcss/lib/input.js +265 -0
- package/templates/vanilla/node_modules/postcss/lib/lazy-result.d.ts +190 -0
- package/templates/vanilla/node_modules/postcss/lib/lazy-result.js +550 -0
- package/templates/vanilla/node_modules/postcss/lib/list.d.ts +60 -0
- package/templates/vanilla/node_modules/postcss/lib/list.js +58 -0
- package/templates/vanilla/node_modules/postcss/lib/map-generator.js +368 -0
- package/templates/vanilla/node_modules/postcss/lib/no-work-result.d.ts +46 -0
- package/templates/vanilla/node_modules/postcss/lib/no-work-result.js +138 -0
- package/templates/vanilla/node_modules/postcss/lib/node.d.ts +556 -0
- package/templates/vanilla/node_modules/postcss/lib/node.js +449 -0
- package/templates/vanilla/node_modules/postcss/lib/parse.d.ts +9 -0
- package/templates/vanilla/node_modules/postcss/lib/parse.js +42 -0
- package/templates/vanilla/node_modules/postcss/lib/parser.js +611 -0
- package/templates/vanilla/node_modules/postcss/lib/postcss.d.mts +69 -0
- package/templates/vanilla/node_modules/postcss/lib/postcss.d.ts +458 -0
- package/templates/vanilla/node_modules/postcss/lib/postcss.js +101 -0
- package/templates/vanilla/node_modules/postcss/lib/postcss.mjs +30 -0
- package/templates/vanilla/node_modules/postcss/lib/previous-map.d.ts +81 -0
- package/templates/vanilla/node_modules/postcss/lib/previous-map.js +144 -0
- package/templates/vanilla/node_modules/postcss/lib/processor.d.ts +115 -0
- package/templates/vanilla/node_modules/postcss/lib/processor.js +67 -0
- package/templates/vanilla/node_modules/postcss/lib/result.d.ts +205 -0
- package/templates/vanilla/node_modules/postcss/lib/result.js +42 -0
- package/templates/vanilla/node_modules/postcss/lib/root.d.ts +87 -0
- package/templates/vanilla/node_modules/postcss/lib/root.js +61 -0
- package/templates/vanilla/node_modules/postcss/lib/rule.d.ts +126 -0
- package/templates/vanilla/node_modules/postcss/lib/rule.js +27 -0
- package/templates/vanilla/node_modules/postcss/lib/stringifier.d.ts +46 -0
- package/templates/vanilla/node_modules/postcss/lib/stringifier.js +353 -0
- package/templates/vanilla/node_modules/postcss/lib/stringify.d.ts +9 -0
- package/templates/vanilla/node_modules/postcss/lib/stringify.js +11 -0
- package/templates/vanilla/node_modules/postcss/lib/symbols.js +5 -0
- package/templates/vanilla/node_modules/postcss/lib/terminal-highlight.js +70 -0
- package/templates/vanilla/node_modules/postcss/lib/tokenize.js +266 -0
- package/templates/vanilla/node_modules/postcss/lib/warn-once.js +13 -0
- package/templates/vanilla/node_modules/postcss/lib/warning.d.ts +147 -0
- package/templates/vanilla/node_modules/postcss/lib/warning.js +37 -0
- package/templates/vanilla/node_modules/postcss/package.json +88 -0
- package/templates/vanilla/node_modules/rollup/LICENSE.md +695 -0
- package/templates/vanilla/node_modules/rollup/README.md +125 -0
- package/templates/vanilla/node_modules/rollup/dist/bin/rollup +1715 -0
- package/templates/vanilla/node_modules/rollup/dist/es/getLogFilter.js +64 -0
- package/templates/vanilla/node_modules/rollup/dist/es/package.json +1 -0
- package/templates/vanilla/node_modules/rollup/dist/es/rollup.js +17 -0
- package/templates/vanilla/node_modules/rollup/dist/es/shared/node-entry.js +27273 -0
- package/templates/vanilla/node_modules/rollup/dist/es/shared/watch.js +4857 -0
- package/templates/vanilla/node_modules/rollup/dist/getLogFilter.d.ts +5 -0
- package/templates/vanilla/node_modules/rollup/dist/getLogFilter.js +69 -0
- package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.d.ts +20 -0
- package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.js +29 -0
- package/templates/vanilla/node_modules/rollup/dist/rollup.d.ts +1012 -0
- package/templates/vanilla/node_modules/rollup/dist/rollup.js +31 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/fsevents-importer.js +37 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/index.js +4571 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/loadConfigFile.js +546 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/rollup.js +27351 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/watch-cli.js +561 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/watch-proxy.js +87 -0
- package/templates/vanilla/node_modules/rollup/dist/shared/watch.js +316 -0
- package/templates/vanilla/node_modules/rollup/package.json +181 -0
- package/templates/vanilla/node_modules/source-map-js/LICENSE +28 -0
- package/templates/vanilla/node_modules/source-map-js/README.md +765 -0
- package/templates/vanilla/node_modules/source-map-js/lib/array-set.js +121 -0
- package/templates/vanilla/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/templates/vanilla/node_modules/source-map-js/lib/base64.js +67 -0
- package/templates/vanilla/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/templates/vanilla/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/templates/vanilla/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
- package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
- package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/templates/vanilla/node_modules/source-map-js/lib/source-node.d.ts +1 -0
- package/templates/vanilla/node_modules/source-map-js/lib/source-node.js +413 -0
- package/templates/vanilla/node_modules/source-map-js/lib/util.js +594 -0
- package/templates/vanilla/node_modules/source-map-js/package.json +71 -0
- package/templates/vanilla/node_modules/source-map-js/source-map.d.ts +104 -0
- package/templates/vanilla/node_modules/source-map-js/source-map.js +8 -0
- package/templates/vanilla/node_modules/vite/LICENSE.md +3396 -0
- package/templates/vanilla/node_modules/vite/README.md +20 -0
- package/templates/vanilla/node_modules/vite/bin/openChrome.applescript +95 -0
- package/templates/vanilla/node_modules/vite/bin/vite.js +61 -0
- package/templates/vanilla/node_modules/vite/client.d.ts +281 -0
- package/templates/vanilla/node_modules/vite/dist/client/client.mjs +725 -0
- package/templates/vanilla/node_modules/vite/dist/client/client.mjs.map +1 -0
- package/templates/vanilla/node_modules/vite/dist/client/env.mjs +30 -0
- package/templates/vanilla/node_modules/vite/dist/client/env.mjs.map +1 -0
- package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-7ec6f216.js +914 -0
- package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-827b23df.js +66713 -0
- package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-c423598f.js +561 -0
- package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f0c7dae0.js +7930 -0
- package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f1e8587f.js +7646 -0
- package/templates/vanilla/node_modules/vite/dist/node/cli.js +929 -0
- package/templates/vanilla/node_modules/vite/dist/node/constants.js +130 -0
- package/templates/vanilla/node_modules/vite/dist/node/index.d.ts +3548 -0
- package/templates/vanilla/node_modules/vite/dist/node/index.js +158 -0
- package/templates/vanilla/node_modules/vite/dist/node-cjs/publicUtils.cjs +4555 -0
- package/templates/vanilla/node_modules/vite/index.cjs +34 -0
- package/templates/vanilla/node_modules/vite/package.json +173 -0
- package/templates/vanilla/node_modules/vite/types/customEvent.d.ts +35 -0
- package/templates/vanilla/node_modules/vite/types/hmrPayload.d.ts +61 -0
- package/templates/vanilla/node_modules/vite/types/hot.d.ts +32 -0
- package/templates/vanilla/node_modules/vite/types/importGlob.d.ts +97 -0
- package/templates/vanilla/node_modules/vite/types/importMeta.d.ts +26 -0
- package/templates/vanilla/node_modules/vite/types/metadata.d.ts +10 -0
- package/templates/vanilla/node_modules/vite/types/package.json +4 -0
- package/templates/vanilla/package-lock.json +589 -0
- package/templates/vanilla/package.json +17 -0
- package/templates/vanilla/src/components/App.js +60 -0
- package/templates/vanilla/src/components/Card.js +21 -0
- package/templates/vanilla/src/components/Hero.js +15 -0
- package/templates/vanilla/src/components/InteractiveDemo.js +59 -0
- package/templates/vanilla/src/main.js +9 -0
- package/templates/vanilla/src/style/main.css +172 -0
- package/templates/vanilla/vite.config.js +8 -0
- package/templates/web3/.env.example +15 -0
- package/templates/web3/.github/workflows/deploy.yml +38 -0
- package/templates/web3/README.md +33 -0
- package/templates/web3/contracts/foundry.toml +11 -0
- package/templates/web3/contracts/script/Deploy.s.sol +13 -0
- package/templates/web3/contracts/src/Counter.sol +21 -0
- package/templates/web3/index.html +13 -0
- package/templates/web3/package.json +25 -0
- package/templates/web3/scripts/chain-start.mjs +305 -0
- package/templates/web3/scripts/chain-stop.mjs +34 -0
- package/templates/web3/scripts/deploy.mjs +155 -0
- package/templates/web3/scripts/setup.mjs +42 -0
- package/templates/web3/src/components/App.js +49 -0
- package/templates/web3/src/components/CounterCard.js +111 -0
- package/templates/web3/src/main.js +54 -0
- package/templates/web3/src/style/main.css +345 -0
- package/templates/web3/vite.config.js +29 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
let { existsSync, readFileSync } = require('fs')
|
|
4
|
+
let { dirname, join } = require('path')
|
|
5
|
+
let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
|
|
6
|
+
|
|
7
|
+
function fromBase64(str) {
|
|
8
|
+
if (Buffer) {
|
|
9
|
+
return Buffer.from(str, 'base64').toString()
|
|
10
|
+
} else {
|
|
11
|
+
/* c8 ignore next 2 */
|
|
12
|
+
return window.atob(str)
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
class PreviousMap {
|
|
17
|
+
constructor(css, opts) {
|
|
18
|
+
if (opts.map === false) return
|
|
19
|
+
this.loadAnnotation(css)
|
|
20
|
+
this.inline = this.startWith(this.annotation, 'data:')
|
|
21
|
+
|
|
22
|
+
let prev = opts.map ? opts.map.prev : undefined
|
|
23
|
+
let text = this.loadMap(opts.from, prev)
|
|
24
|
+
if (!this.mapFile && opts.from) {
|
|
25
|
+
this.mapFile = opts.from
|
|
26
|
+
}
|
|
27
|
+
if (this.mapFile) this.root = dirname(this.mapFile)
|
|
28
|
+
if (text) this.text = text
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
consumer() {
|
|
32
|
+
if (!this.consumerCache) {
|
|
33
|
+
this.consumerCache = new SourceMapConsumer(this.text)
|
|
34
|
+
}
|
|
35
|
+
return this.consumerCache
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
decodeInline(text) {
|
|
39
|
+
let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/
|
|
40
|
+
let baseUri = /^data:application\/json;base64,/
|
|
41
|
+
let charsetUri = /^data:application\/json;charset=utf-?8,/
|
|
42
|
+
let uri = /^data:application\/json,/
|
|
43
|
+
|
|
44
|
+
let uriMatch = text.match(charsetUri) || text.match(uri)
|
|
45
|
+
if (uriMatch) {
|
|
46
|
+
return decodeURIComponent(text.substr(uriMatch[0].length))
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri)
|
|
50
|
+
if (baseUriMatch) {
|
|
51
|
+
return fromBase64(text.substr(baseUriMatch[0].length))
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
let encoding = text.match(/data:application\/json;([^,]+),/)[1]
|
|
55
|
+
throw new Error('Unsupported source map encoding ' + encoding)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
getAnnotationURL(sourceMapString) {
|
|
59
|
+
return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, '').trim()
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
isMap(map) {
|
|
63
|
+
if (typeof map !== 'object') return false
|
|
64
|
+
return (
|
|
65
|
+
typeof map.mappings === 'string' ||
|
|
66
|
+
typeof map._mappings === 'string' ||
|
|
67
|
+
Array.isArray(map.sections)
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
loadAnnotation(css) {
|
|
72
|
+
let comments = css.match(/\/\*\s*# sourceMappingURL=/g)
|
|
73
|
+
if (!comments) return
|
|
74
|
+
|
|
75
|
+
// sourceMappingURLs from comments, strings, etc.
|
|
76
|
+
let start = css.lastIndexOf(comments.pop())
|
|
77
|
+
let end = css.indexOf('*/', start)
|
|
78
|
+
|
|
79
|
+
if (start > -1 && end > -1) {
|
|
80
|
+
// Locate the last sourceMappingURL to avoid pickin
|
|
81
|
+
this.annotation = this.getAnnotationURL(css.substring(start, end))
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
loadFile(path) {
|
|
86
|
+
this.root = dirname(path)
|
|
87
|
+
if (existsSync(path)) {
|
|
88
|
+
this.mapFile = path
|
|
89
|
+
return readFileSync(path, 'utf-8').toString().trim()
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
loadMap(file, prev) {
|
|
94
|
+
if (prev === false) return false
|
|
95
|
+
|
|
96
|
+
if (prev) {
|
|
97
|
+
if (typeof prev === 'string') {
|
|
98
|
+
return prev
|
|
99
|
+
} else if (typeof prev === 'function') {
|
|
100
|
+
let prevPath = prev(file)
|
|
101
|
+
if (prevPath) {
|
|
102
|
+
let map = this.loadFile(prevPath)
|
|
103
|
+
if (!map) {
|
|
104
|
+
throw new Error(
|
|
105
|
+
'Unable to load previous source map: ' + prevPath.toString()
|
|
106
|
+
)
|
|
107
|
+
}
|
|
108
|
+
return map
|
|
109
|
+
}
|
|
110
|
+
} else if (prev instanceof SourceMapConsumer) {
|
|
111
|
+
return SourceMapGenerator.fromSourceMap(prev).toString()
|
|
112
|
+
} else if (prev instanceof SourceMapGenerator) {
|
|
113
|
+
return prev.toString()
|
|
114
|
+
} else if (this.isMap(prev)) {
|
|
115
|
+
return JSON.stringify(prev)
|
|
116
|
+
} else {
|
|
117
|
+
throw new Error(
|
|
118
|
+
'Unsupported previous source map format: ' + prev.toString()
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
} else if (this.inline) {
|
|
122
|
+
return this.decodeInline(this.annotation)
|
|
123
|
+
} else if (this.annotation) {
|
|
124
|
+
let map = this.annotation
|
|
125
|
+
if (file) map = join(dirname(file), map)
|
|
126
|
+
return this.loadFile(map)
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
startWith(string, start) {
|
|
131
|
+
if (!string) return false
|
|
132
|
+
return string.substr(0, start.length) === start
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
withContent() {
|
|
136
|
+
return !!(
|
|
137
|
+
this.consumer().sourcesContent &&
|
|
138
|
+
this.consumer().sourcesContent.length > 0
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
module.exports = PreviousMap
|
|
144
|
+
PreviousMap.default = PreviousMap
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import Document from './document.js'
|
|
2
|
+
import LazyResult from './lazy-result.js'
|
|
3
|
+
import NoWorkResult from './no-work-result.js'
|
|
4
|
+
import {
|
|
5
|
+
AcceptedPlugin,
|
|
6
|
+
Plugin,
|
|
7
|
+
ProcessOptions,
|
|
8
|
+
TransformCallback,
|
|
9
|
+
Transformer
|
|
10
|
+
} from './postcss.js'
|
|
11
|
+
import Result from './result.js'
|
|
12
|
+
import Root from './root.js'
|
|
13
|
+
|
|
14
|
+
declare namespace Processor {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
16
|
+
export { Processor_ as default }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Contains plugins to process CSS. Create one `Processor` instance,
|
|
21
|
+
* initialize its plugins, and then use that instance on numerous CSS files.
|
|
22
|
+
*
|
|
23
|
+
* ```js
|
|
24
|
+
* const processor = postcss([autoprefixer, postcssNested])
|
|
25
|
+
* processor.process(css1).then(result => console.log(result.css))
|
|
26
|
+
* processor.process(css2).then(result => console.log(result.css))
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
declare class Processor_ {
|
|
30
|
+
/**
|
|
31
|
+
* Plugins added to this processor.
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* const processor = postcss([autoprefixer, postcssNested])
|
|
35
|
+
* processor.plugins.length //=> 2
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
plugins: (Plugin | TransformCallback | Transformer)[]
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Current PostCSS version.
|
|
42
|
+
*
|
|
43
|
+
* ```js
|
|
44
|
+
* if (result.processor.version.split('.')[0] !== '6') {
|
|
45
|
+
* throw new Error('This plugin works only with PostCSS 6')
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
version: string
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @param plugins PostCSS plugins
|
|
53
|
+
*/
|
|
54
|
+
constructor(plugins?: readonly AcceptedPlugin[])
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Parses source CSS and returns a `LazyResult` Promise proxy.
|
|
58
|
+
* Because some plugins can be asynchronous it doesn’t make
|
|
59
|
+
* any transformations. Transformations will be applied
|
|
60
|
+
* in the `LazyResult` methods.
|
|
61
|
+
*
|
|
62
|
+
* ```js
|
|
63
|
+
* processor.process(css, { from: 'a.css', to: 'a.out.css' })
|
|
64
|
+
* .then(result => {
|
|
65
|
+
* console.log(result.css)
|
|
66
|
+
* })
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @param css String with input CSS or any object with a `toString()` method,
|
|
70
|
+
* like a Buffer. Optionally, send a `Result` instance
|
|
71
|
+
* and the processor will take the `Root` from it.
|
|
72
|
+
* @param opts Options.
|
|
73
|
+
* @return Promise proxy.
|
|
74
|
+
*/
|
|
75
|
+
process(
|
|
76
|
+
css: { toString(): string } | LazyResult | Result | Root | string
|
|
77
|
+
): LazyResult | NoWorkResult
|
|
78
|
+
process<RootNode extends Document | Root = Root>(
|
|
79
|
+
css: { toString(): string } | LazyResult | Result | Root | string,
|
|
80
|
+
options: ProcessOptions<RootNode>
|
|
81
|
+
): LazyResult<RootNode>
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Adds a plugin to be used as a CSS processor.
|
|
85
|
+
*
|
|
86
|
+
* PostCSS plugin can be in 4 formats:
|
|
87
|
+
* * A plugin in `Plugin` format.
|
|
88
|
+
* * A plugin creator function with `pluginCreator.postcss = true`.
|
|
89
|
+
* PostCSS will call this function without argument to get plugin.
|
|
90
|
+
* * A function. PostCSS will pass the function a {@link Root}
|
|
91
|
+
* as the first argument and current `Result` instance
|
|
92
|
+
* as the second.
|
|
93
|
+
* * Another `Processor` instance. PostCSS will copy plugins
|
|
94
|
+
* from that instance into this one.
|
|
95
|
+
*
|
|
96
|
+
* Plugins can also be added by passing them as arguments when creating
|
|
97
|
+
* a `postcss` instance (see [`postcss(plugins)`]).
|
|
98
|
+
*
|
|
99
|
+
* Asynchronous plugins should return a `Promise` instance.
|
|
100
|
+
*
|
|
101
|
+
* ```js
|
|
102
|
+
* const processor = postcss()
|
|
103
|
+
* .use(autoprefixer)
|
|
104
|
+
* .use(postcssNested)
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @param plugin PostCSS plugin or `Processor` with plugins.
|
|
108
|
+
* @return Current processor to make methods chain.
|
|
109
|
+
*/
|
|
110
|
+
use(plugin: AcceptedPlugin): this
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
declare class Processor extends Processor_ {}
|
|
114
|
+
|
|
115
|
+
export = Processor
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
let Document = require('./document')
|
|
4
|
+
let LazyResult = require('./lazy-result')
|
|
5
|
+
let NoWorkResult = require('./no-work-result')
|
|
6
|
+
let Root = require('./root')
|
|
7
|
+
|
|
8
|
+
class Processor {
|
|
9
|
+
constructor(plugins = []) {
|
|
10
|
+
this.version = '8.5.6'
|
|
11
|
+
this.plugins = this.normalize(plugins)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
normalize(plugins) {
|
|
15
|
+
let normalized = []
|
|
16
|
+
for (let i of plugins) {
|
|
17
|
+
if (i.postcss === true) {
|
|
18
|
+
i = i()
|
|
19
|
+
} else if (i.postcss) {
|
|
20
|
+
i = i.postcss
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (typeof i === 'object' && Array.isArray(i.plugins)) {
|
|
24
|
+
normalized = normalized.concat(i.plugins)
|
|
25
|
+
} else if (typeof i === 'object' && i.postcssPlugin) {
|
|
26
|
+
normalized.push(i)
|
|
27
|
+
} else if (typeof i === 'function') {
|
|
28
|
+
normalized.push(i)
|
|
29
|
+
} else if (typeof i === 'object' && (i.parse || i.stringify)) {
|
|
30
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
31
|
+
throw new Error(
|
|
32
|
+
'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +
|
|
33
|
+
'one of the syntax/parser/stringifier options as outlined ' +
|
|
34
|
+
'in your PostCSS runner documentation.'
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
} else {
|
|
38
|
+
throw new Error(i + ' is not a PostCSS plugin')
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return normalized
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
process(css, opts = {}) {
|
|
45
|
+
if (
|
|
46
|
+
!this.plugins.length &&
|
|
47
|
+
!opts.parser &&
|
|
48
|
+
!opts.stringifier &&
|
|
49
|
+
!opts.syntax
|
|
50
|
+
) {
|
|
51
|
+
return new NoWorkResult(this, css, opts)
|
|
52
|
+
} else {
|
|
53
|
+
return new LazyResult(this, css, opts)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
use(plugin) {
|
|
58
|
+
this.plugins = this.plugins.concat(this.normalize([plugin]))
|
|
59
|
+
return this
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
module.exports = Processor
|
|
64
|
+
Processor.default = Processor
|
|
65
|
+
|
|
66
|
+
Root.registerProcessor(Processor)
|
|
67
|
+
Document.registerProcessor(Processor)
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Document,
|
|
3
|
+
Node,
|
|
4
|
+
Plugin,
|
|
5
|
+
ProcessOptions,
|
|
6
|
+
Root,
|
|
7
|
+
SourceMap,
|
|
8
|
+
TransformCallback,
|
|
9
|
+
Warning,
|
|
10
|
+
WarningOptions
|
|
11
|
+
} from './postcss.js'
|
|
12
|
+
import Processor from './processor.js'
|
|
13
|
+
|
|
14
|
+
declare namespace Result {
|
|
15
|
+
export interface Message {
|
|
16
|
+
[others: string]: any
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Source PostCSS plugin name.
|
|
20
|
+
*/
|
|
21
|
+
plugin?: string
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Message type.
|
|
25
|
+
*/
|
|
26
|
+
type: string
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface ResultOptions extends ProcessOptions {
|
|
30
|
+
/**
|
|
31
|
+
* The CSS node that was the source of the warning.
|
|
32
|
+
*/
|
|
33
|
+
node?: Node
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Name of plugin that created this warning. `Result#warn` will fill it
|
|
37
|
+
* automatically with `Plugin#postcssPlugin` value.
|
|
38
|
+
*/
|
|
39
|
+
plugin?: string
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
43
|
+
export { Result_ as default }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Provides the result of the PostCSS transformations.
|
|
48
|
+
*
|
|
49
|
+
* A Result instance is returned by `LazyResult#then`
|
|
50
|
+
* or `Root#toResult` methods.
|
|
51
|
+
*
|
|
52
|
+
* ```js
|
|
53
|
+
* postcss([autoprefixer]).process(css).then(result => {
|
|
54
|
+
* console.log(result.css)
|
|
55
|
+
* })
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ```js
|
|
59
|
+
* const result2 = postcss.parse(css).toResult()
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
declare class Result_<RootNode = Document | Root> {
|
|
63
|
+
/**
|
|
64
|
+
* A CSS string representing of `Result#root`.
|
|
65
|
+
*
|
|
66
|
+
* ```js
|
|
67
|
+
* postcss.parse('a{}').toResult().css //=> "a{}"
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
css: string
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Last runned PostCSS plugin.
|
|
74
|
+
*/
|
|
75
|
+
lastPlugin: Plugin | TransformCallback
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* An instance of `SourceMapGenerator` class from the `source-map` library,
|
|
79
|
+
* representing changes to the `Result#root` instance.
|
|
80
|
+
*
|
|
81
|
+
* ```js
|
|
82
|
+
* result.map.toJSON() //=> { version: 3, file: 'a.css', … }
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* ```js
|
|
86
|
+
* if (result.map) {
|
|
87
|
+
* fs.writeFileSync(result.opts.to + '.map', result.map.toString())
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
map: SourceMap
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Contains messages from plugins (e.g., warnings or custom messages).
|
|
95
|
+
* Each message should have type and plugin properties.
|
|
96
|
+
*
|
|
97
|
+
* ```js
|
|
98
|
+
* AtRule: {
|
|
99
|
+
* import: (atRule, { result }) {
|
|
100
|
+
* const importedFile = parseImport(atRule)
|
|
101
|
+
* result.messages.push({
|
|
102
|
+
* type: 'dependency',
|
|
103
|
+
* plugin: 'postcss-import',
|
|
104
|
+
* file: importedFile,
|
|
105
|
+
* parent: result.opts.from
|
|
106
|
+
* })
|
|
107
|
+
* }
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
messages: Result.Message[]
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Options from the `Processor#process` or `Root#toResult` call
|
|
115
|
+
* that produced this Result instance.]
|
|
116
|
+
*
|
|
117
|
+
* ```js
|
|
118
|
+
* root.toResult(opts).opts === opts
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
opts: Result.ResultOptions
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* The Processor instance used for this transformation.
|
|
125
|
+
*
|
|
126
|
+
* ```js
|
|
127
|
+
* for (const plugin of result.processor.plugins) {
|
|
128
|
+
* if (plugin.postcssPlugin === 'postcss-bad') {
|
|
129
|
+
* throw 'postcss-good is incompatible with postcss-bad'
|
|
130
|
+
* }
|
|
131
|
+
* })
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
processor: Processor
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Root node after all transformations.
|
|
138
|
+
*
|
|
139
|
+
* ```js
|
|
140
|
+
* root.toResult().root === root
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
root: RootNode
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* An alias for the `Result#css` property.
|
|
147
|
+
* Use it with syntaxes that generate non-CSS output.
|
|
148
|
+
*
|
|
149
|
+
* ```js
|
|
150
|
+
* result.css === result.content
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
get content(): string
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* @param processor Processor used for this transformation.
|
|
157
|
+
* @param root Root node after all transformations.
|
|
158
|
+
* @param opts Options from the `Processor#process` or `Root#toResult`.
|
|
159
|
+
*/
|
|
160
|
+
constructor(processor: Processor, root: RootNode, opts: Result.ResultOptions)
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Returns for `Result#css` content.
|
|
164
|
+
*
|
|
165
|
+
* ```js
|
|
166
|
+
* result + '' === result.css
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @return String representing of `Result#root`.
|
|
170
|
+
*/
|
|
171
|
+
toString(): string
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Creates an instance of `Warning` and adds it to `Result#messages`.
|
|
175
|
+
*
|
|
176
|
+
* ```js
|
|
177
|
+
* if (decl.important) {
|
|
178
|
+
* result.warn('Avoid !important', { node: decl, word: '!important' })
|
|
179
|
+
* }
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @param text Warning message.
|
|
183
|
+
* @param opts Warning options.
|
|
184
|
+
* @return Created warning.
|
|
185
|
+
*/
|
|
186
|
+
warn(message: string, options?: WarningOptions): Warning
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Returns warnings from plugins. Filters `Warning` instances
|
|
190
|
+
* from `Result#messages`.
|
|
191
|
+
*
|
|
192
|
+
* ```js
|
|
193
|
+
* result.warnings().forEach(warn => {
|
|
194
|
+
* console.warn(warn.toString())
|
|
195
|
+
* })
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* @return Warnings from plugins.
|
|
199
|
+
*/
|
|
200
|
+
warnings(): Warning[]
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
declare class Result<RootNode = Document | Root> extends Result_<RootNode> {}
|
|
204
|
+
|
|
205
|
+
export = Result
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
let Warning = require('./warning')
|
|
4
|
+
|
|
5
|
+
class Result {
|
|
6
|
+
get content() {
|
|
7
|
+
return this.css
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
constructor(processor, root, opts) {
|
|
11
|
+
this.processor = processor
|
|
12
|
+
this.messages = []
|
|
13
|
+
this.root = root
|
|
14
|
+
this.opts = opts
|
|
15
|
+
this.css = ''
|
|
16
|
+
this.map = undefined
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
toString() {
|
|
20
|
+
return this.css
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
warn(text, opts = {}) {
|
|
24
|
+
if (!opts.plugin) {
|
|
25
|
+
if (this.lastPlugin && this.lastPlugin.postcssPlugin) {
|
|
26
|
+
opts.plugin = this.lastPlugin.postcssPlugin
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
let warning = new Warning(text, opts)
|
|
31
|
+
this.messages.push(warning)
|
|
32
|
+
|
|
33
|
+
return warning
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
warnings() {
|
|
37
|
+
return this.messages.filter(i => i.type === 'warning')
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = Result
|
|
42
|
+
Result.default = Result
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import Container, { ContainerProps } from './container.js'
|
|
2
|
+
import Document from './document.js'
|
|
3
|
+
import { ProcessOptions } from './postcss.js'
|
|
4
|
+
import Result from './result.js'
|
|
5
|
+
|
|
6
|
+
declare namespace Root {
|
|
7
|
+
export interface RootRaws extends Record<string, any> {
|
|
8
|
+
/**
|
|
9
|
+
* The space symbols after the last child to the end of file.
|
|
10
|
+
*/
|
|
11
|
+
after?: string
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Non-CSS code after `Root`, when `Root` is inside `Document`.
|
|
15
|
+
*
|
|
16
|
+
* **Experimental:** some aspects of this node could change within minor
|
|
17
|
+
* or patch version releases.
|
|
18
|
+
*/
|
|
19
|
+
codeAfter?: string
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Non-CSS code before `Root`, when `Root` is inside `Document`.
|
|
23
|
+
*
|
|
24
|
+
* **Experimental:** some aspects of this node could change within minor
|
|
25
|
+
* or patch version releases.
|
|
26
|
+
*/
|
|
27
|
+
codeBefore?: string
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Is the last child has an (optional) semicolon.
|
|
31
|
+
*/
|
|
32
|
+
semicolon?: boolean
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface RootProps extends ContainerProps {
|
|
36
|
+
/**
|
|
37
|
+
* Information used to generate byte-to-byte equal node string
|
|
38
|
+
* as it was in the origin input.
|
|
39
|
+
* */
|
|
40
|
+
raws?: RootRaws
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
44
|
+
export { Root_ as default }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Represents a CSS file and contains all its parsed nodes.
|
|
49
|
+
*
|
|
50
|
+
* ```js
|
|
51
|
+
* const root = postcss.parse('a{color:black} b{z-index:2}')
|
|
52
|
+
* root.type //=> 'root'
|
|
53
|
+
* root.nodes.length //=> 2
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
declare class Root_ extends Container {
|
|
57
|
+
nodes: NonNullable<Container['nodes']>
|
|
58
|
+
parent: Document | undefined
|
|
59
|
+
raws: Root.RootRaws
|
|
60
|
+
type: 'root'
|
|
61
|
+
|
|
62
|
+
constructor(defaults?: Root.RootProps)
|
|
63
|
+
|
|
64
|
+
assign(overrides: object | Root.RootProps): this
|
|
65
|
+
clone(overrides?: Partial<Root.RootProps>): this
|
|
66
|
+
cloneAfter(overrides?: Partial<Root.RootProps>): this
|
|
67
|
+
cloneBefore(overrides?: Partial<Root.RootProps>): this
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Returns a `Result` instance representing the root’s CSS.
|
|
71
|
+
*
|
|
72
|
+
* ```js
|
|
73
|
+
* const root1 = postcss.parse(css1, { from: 'a.css' })
|
|
74
|
+
* const root2 = postcss.parse(css2, { from: 'b.css' })
|
|
75
|
+
* root1.append(root2)
|
|
76
|
+
* const result = root1.toResult({ to: 'all.css', map: true })
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @param options Options.
|
|
80
|
+
* @return Result with current root’s CSS.
|
|
81
|
+
*/
|
|
82
|
+
toResult(options?: ProcessOptions): Result
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
declare class Root extends Root_ {}
|
|
86
|
+
|
|
87
|
+
export = Root
|