@maizzle/framework 4.8.8 → 5.0.0-beta.0
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/bin/maizzle +3 -1
- package/package.json +64 -55
- package/src/commands/build.js +244 -19
- package/src/commands/serve.js +2 -197
- package/src/generators/plaintext.js +192 -91
- package/src/generators/render.js +128 -0
- package/src/index.js +45 -13
- package/src/{generators/posthtml → posthtml}/defaultComponentsConfig.js +6 -4
- package/src/{generators/posthtml → posthtml}/defaultConfig.js +1 -1
- package/src/posthtml/index.js +74 -0
- package/src/posthtml/plugins/expandLinkTag.js +36 -0
- package/src/server/client.js +181 -0
- package/src/server/index.js +383 -0
- package/src/server/routes/hmr.js +24 -0
- package/src/server/routes/index.js +38 -0
- package/src/server/views/error.html +83 -0
- package/src/server/views/index.html +24 -0
- package/src/server/websockets.js +27 -0
- package/src/transformers/addAttributes.js +30 -0
- package/src/transformers/attributeToStyle.js +30 -36
- package/src/transformers/baseUrl.js +56 -27
- package/src/transformers/comb.js +51 -0
- package/src/transformers/core.js +20 -0
- package/src/transformers/filters/defaultFilters.js +90 -71
- package/src/transformers/filters/index.js +14 -78
- package/src/transformers/index.js +268 -63
- package/src/transformers/inline.js +240 -0
- package/src/transformers/markdown.js +13 -14
- package/src/transformers/minify.js +21 -16
- package/src/transformers/posthtmlMso.js +13 -8
- package/src/transformers/prettify.js +16 -15
- package/src/transformers/preventWidows.js +32 -28
- package/src/transformers/removeAttributes.js +19 -19
- package/src/transformers/replaceStrings.js +30 -9
- package/src/transformers/safeClassNames.js +24 -24
- package/src/transformers/shorthandCss.js +22 -0
- package/src/transformers/sixHex.js +17 -17
- package/src/transformers/urlParameters.js +18 -16
- package/src/transformers/useAttributeSizes.js +65 -0
- package/src/utils/getConfigByFilePath.js +124 -0
- package/src/utils/node.js +68 -0
- package/src/utils/string.js +117 -0
- package/types/build.d.ts +117 -57
- package/types/components.d.ts +130 -112
- package/types/config.d.ts +454 -242
- package/types/css/inline.d.ts +234 -0
- package/types/css/purge.d.ts +125 -0
- package/types/events.d.ts +5 -105
- package/types/index.d.ts +148 -116
- package/types/markdown.d.ts +20 -18
- package/types/minify.d.ts +122 -120
- package/types/plaintext.d.ts +46 -52
- package/types/posthtml.d.ts +103 -136
- package/types/render.d.ts +0 -117
- package/types/urlParameters.d.ts +21 -20
- package/types/widowWords.d.ts +9 -7
- package/src/functions/plaintext.js +0 -5
- package/src/functions/render.js +0 -5
- package/src/generators/config.js +0 -52
- package/src/generators/output/index.js +0 -4
- package/src/generators/output/to-disk.js +0 -254
- package/src/generators/output/to-string.js +0 -73
- package/src/generators/postcss.js +0 -23
- package/src/generators/posthtml/index.js +0 -75
- package/src/generators/tailwindcss.js +0 -157
- package/src/transformers/extraAttributes.js +0 -33
- package/src/transformers/inlineCss.js +0 -42
- package/src/transformers/removeInlineBackgroundColor.js +0 -57
- package/src/transformers/removeInlineSizes.js +0 -45
- package/src/transformers/removeInlinedSelectors.js +0 -100
- package/src/transformers/removeUnusedCss.js +0 -48
- package/src/transformers/shorthandInlineCSS.js +0 -26
- package/src/utils/helpers.js +0 -13
- package/types/baseUrl.d.ts +0 -79
- package/types/fetch.d.ts +0 -143
- package/types/inlineCss.d.ts +0 -207
- package/types/layouts.d.ts +0 -39
- package/types/removeUnusedCss.d.ts +0 -115
- package/types/tailwind.d.ts +0 -22
- package/types/templates.d.ts +0 -181
package/types/components.d.ts
CHANGED
|
@@ -1,177 +1,195 @@
|
|
|
1
|
+
import type ExpressionsConfig from './expressions';
|
|
2
|
+
import type { Options as PostHTMLParserOptions } from 'posthtml-parser';
|
|
3
|
+
|
|
4
|
+
interface AnyObject {
|
|
5
|
+
[key: string]: string | AnyObject;
|
|
6
|
+
}
|
|
7
|
+
|
|
1
8
|
export default interface ComponentsConfig {
|
|
2
9
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
10
|
+
* Root path where to look for folders containing component files.
|
|
11
|
+
*
|
|
12
|
+
* @default './'
|
|
13
|
+
*/
|
|
7
14
|
root?: string;
|
|
8
15
|
|
|
9
16
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
* Paths where to look for component files. Must be relative to `root`.
|
|
18
|
+
*
|
|
19
|
+
* @default ['src/components', 'src/layouts', 'src/templates']
|
|
20
|
+
*/
|
|
14
21
|
folders?: string[];
|
|
15
22
|
|
|
16
23
|
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
* Prefix to use for component tags.
|
|
25
|
+
*
|
|
26
|
+
* @default 'x-'
|
|
27
|
+
*/
|
|
21
28
|
tagPrefix?: string;
|
|
22
29
|
|
|
23
30
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
* Tag name to be used in HTML when using a component.
|
|
32
|
+
*
|
|
33
|
+
* @default 'component'
|
|
34
|
+
*/
|
|
28
35
|
tag?: string;
|
|
29
36
|
|
|
30
37
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
38
|
+
* Attribute name to be used when referencing a component via its path.
|
|
39
|
+
*
|
|
40
|
+
* @default 'src'
|
|
41
|
+
*/
|
|
35
42
|
attribute?: string;
|
|
36
43
|
|
|
37
44
|
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
* File extension that component files must use.
|
|
46
|
+
* Any other files will be ignored and not be made available as components.
|
|
47
|
+
*
|
|
48
|
+
* @default 'html'
|
|
49
|
+
*/
|
|
43
50
|
fileExtension?: string;
|
|
44
51
|
|
|
45
52
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
* Name of the tag that will be replaced with the content that is passed to the component.
|
|
54
|
+
*
|
|
55
|
+
* @default 'yield'
|
|
56
|
+
*/
|
|
50
57
|
yield?: string;
|
|
51
58
|
|
|
52
59
|
/**
|
|
53
|
-
Name of the slot tag, where the content will be injected.
|
|
54
|
-
|
|
55
|
-
@default 'slot'
|
|
60
|
+
* Name of the slot tag, where the content will be injected.
|
|
61
|
+
*
|
|
62
|
+
* @default 'slot'
|
|
56
63
|
*/
|
|
57
64
|
slot?: string;
|
|
58
65
|
|
|
59
66
|
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
* Name of the fill tag, where the content to be injected is defined.
|
|
68
|
+
*
|
|
69
|
+
* @default 'fill'
|
|
70
|
+
*/
|
|
64
71
|
fill?: string;
|
|
65
72
|
|
|
66
73
|
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
* String to use as a separator between the slot tag and its name.
|
|
75
|
+
*
|
|
76
|
+
* @default ':'
|
|
77
|
+
*/
|
|
71
78
|
slotSeparator?: string;
|
|
72
79
|
|
|
73
80
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
81
|
+
* Tag name for pushing content to a stack.
|
|
82
|
+
*
|
|
83
|
+
* @default 'push'
|
|
84
|
+
*/
|
|
78
85
|
push?: string;
|
|
79
86
|
|
|
80
87
|
/**
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
* Tag name for popping (rendering) content from a stack.
|
|
89
|
+
*
|
|
90
|
+
* @default 'stack'
|
|
91
|
+
*/
|
|
85
92
|
stack?: string;
|
|
86
93
|
|
|
87
94
|
/**
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
* Name of the props attribute to use in the `<script>` tag of a component.
|
|
96
|
+
*
|
|
97
|
+
* @default 'props'
|
|
98
|
+
*/
|
|
92
99
|
propsScriptAttribute?: string;
|
|
93
100
|
|
|
94
101
|
/**
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
102
|
+
* Name of the object that will be used to store the props of a component.
|
|
103
|
+
*
|
|
104
|
+
* @default 'props'
|
|
105
|
+
*/
|
|
99
106
|
propsContext?: string;
|
|
100
107
|
|
|
101
108
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
* Name of the attribute that will be used to pass props to a component as JSON.
|
|
110
|
+
*
|
|
111
|
+
* @default 'locals'
|
|
112
|
+
*/
|
|
106
113
|
propsAttribute?: string;
|
|
107
114
|
|
|
108
115
|
/**
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
116
|
+
* Name of the key to use when retrieving props passed to a slot via `$slots.slotName.props`.
|
|
117
|
+
*
|
|
118
|
+
* @default 'props'
|
|
119
|
+
*/
|
|
113
120
|
propsSlot?: string;
|
|
114
121
|
|
|
115
122
|
/**
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
123
|
+
* Configure [`posthtml-parser`](https://github.com/posthtml/posthtml-parser).
|
|
124
|
+
*
|
|
125
|
+
* @default
|
|
126
|
+
* {
|
|
127
|
+
* recognizeNoValueAttribute: true,
|
|
128
|
+
* recognizeSelfClosing: true
|
|
129
|
+
* }
|
|
130
|
+
*/
|
|
131
|
+
parserOptions?: PostHTMLParserOptions;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Configure [`posthtml-expressions`](https://github.com/posthtml/posthtml-expressions).
|
|
135
|
+
*
|
|
136
|
+
* @default
|
|
137
|
+
* {
|
|
138
|
+
* strictMode: false,
|
|
139
|
+
* missingLocal: '{local}',
|
|
140
|
+
* locals: {
|
|
141
|
+
* page: config, // the computed Maizzle config object
|
|
142
|
+
* }
|
|
143
|
+
* }
|
|
144
|
+
*/
|
|
145
|
+
expressions?: ExpressionsConfig;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* PostHTML plugins to apply to each parsed component.
|
|
149
|
+
*
|
|
150
|
+
* @default []
|
|
151
|
+
*/
|
|
152
|
+
plugins?: Array<() => void>;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Extra rules for the PostHTML plugin that is used by components to parse attributes.
|
|
156
|
+
*
|
|
157
|
+
* @default {}
|
|
158
|
+
*/
|
|
159
|
+
attrsParserRules?: Record<string, AnyObject>;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* In strict mode, an error will be thrown if a component cannot be rendered.
|
|
163
|
+
*
|
|
164
|
+
* @default true
|
|
165
|
+
*/
|
|
148
166
|
strict?: boolean;
|
|
149
167
|
|
|
150
168
|
/**
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
169
|
+
* Utility methods to be passed to `<script props>` in a component.
|
|
170
|
+
*
|
|
171
|
+
* @default {merge: _.mergeWith, template: _.template}
|
|
172
|
+
*/
|
|
155
173
|
utilities?: Record<string, unknown>;
|
|
156
174
|
|
|
157
175
|
/**
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
176
|
+
* Define additional attributes that should be preserved for specific HTML elements.
|
|
177
|
+
*
|
|
178
|
+
* @default {}
|
|
179
|
+
*/
|
|
162
180
|
elementAttributes?: Record<string, void>;
|
|
163
181
|
|
|
164
182
|
/**
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
183
|
+
* Attributes that should be preserved on all elements in components.
|
|
184
|
+
*
|
|
185
|
+
* @default ['data-*']
|
|
186
|
+
*/
|
|
169
187
|
safelistAttributes?: string[];
|
|
170
188
|
|
|
171
189
|
/**
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
190
|
+
* Attributes that should be removed from all elements in components.
|
|
191
|
+
*
|
|
192
|
+
* @default []
|
|
193
|
+
*/
|
|
176
194
|
blacklistAttributes?: string[];
|
|
177
195
|
}
|