wapplr 1.0.69 → 1.0.71
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/dist/common/styles.js +9 -1
- package/dist/server/createServer.js +121 -11
- package/dist/server/html.js +12 -8
- package/package.json +1 -1
package/dist/common/styles.js
CHANGED
|
@@ -188,12 +188,20 @@ function createStyleManager() {
|
|
|
188
188
|
styleManager = _p$styleManager === void 0 ? createDefaultStyleManager(p) : _p$styleManager;
|
|
189
189
|
|
|
190
190
|
function defaultHandle(req, res, next) {
|
|
191
|
+
var _targetObject$config2, _targetObject$config3, _targetObject$config4, _targetObject$config5, _targetObject$config6;
|
|
192
|
+
|
|
191
193
|
var targetObject = wapp.getTargetObject ? wapp.getTargetObject() : wapp;
|
|
192
194
|
|
|
193
|
-
if (!targetObject
|
|
195
|
+
if (!(targetObject !== null && targetObject !== void 0 && (_targetObject$config2 = targetObject.config) !== null && _targetObject$config2 !== void 0 && (_targetObject$config3 = _targetObject$config2.styles) !== null && _targetObject$config3 !== void 0 && _targetObject$config3.disableClearStyles)) {
|
|
194
196
|
stylesMiddleware.styleManager.clear();
|
|
195
197
|
}
|
|
196
198
|
|
|
199
|
+
if (targetObject !== null && targetObject !== void 0 && (_targetObject$config4 = targetObject.config) !== null && _targetObject$config4 !== void 0 && (_targetObject$config5 = _targetObject$config4.assets) !== null && _targetObject$config5 !== void 0 && (_targetObject$config6 = _targetObject$config5.cssToInlineStyle) !== null && _targetObject$config6 !== void 0 && _targetObject$config6._getCss) {
|
|
200
|
+
wapp.styles.add({
|
|
201
|
+
_getCss: targetObject.config.assets.cssToInlineStyle._getCss
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
197
205
|
next();
|
|
198
206
|
}
|
|
199
207
|
|
|
@@ -19,9 +19,13 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
19
19
|
|
|
20
20
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _nodeHttp = _interopRequireDefault(require("node:http"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _nodeHttp2 = _interopRequireDefault(require("node:http2"));
|
|
25
|
+
|
|
26
|
+
var _nodeFs = _interopRequireDefault(require("node:fs"));
|
|
27
|
+
|
|
28
|
+
var _nodePath = _interopRequireDefault(require("node:path"));
|
|
25
29
|
|
|
26
30
|
var _common = _interopRequireDefault(require("../common"));
|
|
27
31
|
|
|
@@ -57,6 +61,69 @@ function createServer() {
|
|
|
57
61
|
_serverConfig$disable = serverConfig.disableUseDefaultMiddlewares,
|
|
58
62
|
disableUseDefaultMiddlewares = _serverConfig$disable === void 0 ? false : _serverConfig$disable,
|
|
59
63
|
rest = (0, _objectWithoutProperties2["default"])(serverConfig, _excluded);
|
|
64
|
+
var defaultCssToInlineStyle = Object.create(Object.prototype, {
|
|
65
|
+
loadCssToStyle: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
66
|
+
value: function value(a) {
|
|
67
|
+
if (Array.isArray(a) && a.length) {
|
|
68
|
+
var getThemeCss = function getThemeCss() {
|
|
69
|
+
var themeCss = [];
|
|
70
|
+
|
|
71
|
+
if (assets && assets.chunks) {
|
|
72
|
+
Object.keys(assets.chunks).forEach(function (key) {
|
|
73
|
+
if (key === 'client') {
|
|
74
|
+
var files = assets.chunks[key].sort();
|
|
75
|
+
files.forEach(function (style) {
|
|
76
|
+
if (style && style.match(".css") && a.indexOf(style) > -1 && !(themeCss.indexOf(style) > -1)) {
|
|
77
|
+
themeCss.push(style);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return themeCss;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
var intersection = a.filter(function (x) {
|
|
88
|
+
return assets.cssToInlineStyle.css.includes(x);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
if (intersection.length === a.length) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var themeCss = getThemeCss();
|
|
96
|
+
var text = "";
|
|
97
|
+
var css = [];
|
|
98
|
+
themeCss.forEach(function (cssPath) {
|
|
99
|
+
if (_nodeFs["default"].existsSync(_nodePath["default"].join(publicPath, cssPath))) {
|
|
100
|
+
var cssContent = _nodeFs["default"].readFileSync(_nodePath["default"].join(publicPath, cssPath));
|
|
101
|
+
|
|
102
|
+
if (cssContent) {
|
|
103
|
+
text = [text, cssContent].filter(function (t) {
|
|
104
|
+
return t;
|
|
105
|
+
}).join(" ");
|
|
106
|
+
css.push(cssPath);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
assets.cssToInlineStyle.text = text;
|
|
111
|
+
assets.cssToInlineStyle.css = css;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}),
|
|
115
|
+
_getCss: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
116
|
+
value: function value() {
|
|
117
|
+
return assets.cssToInlineStyle.cssText || "";
|
|
118
|
+
}
|
|
119
|
+
}),
|
|
120
|
+
text: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
121
|
+
value: ''
|
|
122
|
+
}),
|
|
123
|
+
css: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
124
|
+
value: []
|
|
125
|
+
})
|
|
126
|
+
});
|
|
60
127
|
var defaultAssets = Object.create(Object.prototype, {
|
|
61
128
|
client: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
62
129
|
value: assets["client.js"]
|
|
@@ -74,11 +141,13 @@ function createServer() {
|
|
|
74
141
|
|
|
75
142
|
if (assets && assets.chunks) {
|
|
76
143
|
Object.keys(assets.chunks).forEach(function (key) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
chunks.
|
|
80
|
-
|
|
81
|
-
|
|
144
|
+
if (key === 'client') {
|
|
145
|
+
assets.chunks[key].forEach(function (script) {
|
|
146
|
+
if (script && script.match(".js") && chunks.indexOf(script) === -1) {
|
|
147
|
+
chunks.push(script);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
82
151
|
});
|
|
83
152
|
}
|
|
84
153
|
|
|
@@ -87,7 +156,7 @@ function createServer() {
|
|
|
87
156
|
if (assets) {
|
|
88
157
|
Object.keys(assets).forEach(function (key) {
|
|
89
158
|
if (key !== "chunks" && scripts.indexOf(assets[key]) === -1) {
|
|
90
|
-
if (assets[key].match(".js")) {
|
|
159
|
+
if (assets[key] && assets[key].match(".js")) {
|
|
91
160
|
scripts.push(assets[key]);
|
|
92
161
|
}
|
|
93
162
|
}
|
|
@@ -96,6 +165,47 @@ function createServer() {
|
|
|
96
165
|
|
|
97
166
|
return scripts;
|
|
98
167
|
}
|
|
168
|
+
}),
|
|
169
|
+
cssToInlineStyle: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
170
|
+
enumerable: false,
|
|
171
|
+
value: defaultCssToInlineStyle
|
|
172
|
+
}),
|
|
173
|
+
getCsStyles: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
174
|
+
enumerable: false,
|
|
175
|
+
value: function value() {
|
|
176
|
+
var chunks = [];
|
|
177
|
+
|
|
178
|
+
if (assets && assets.chunks) {
|
|
179
|
+
Object.keys(assets.chunks).forEach(function (key) {
|
|
180
|
+
if (key === 'client') {
|
|
181
|
+
var files = assets.chunks[key].sort();
|
|
182
|
+
files.forEach(function (style) {
|
|
183
|
+
var _assets$cssToInlineSt;
|
|
184
|
+
|
|
185
|
+
if (style && style.match(".css") && chunks.indexOf(style) === -1 && !(((_assets$cssToInlineSt = assets.cssToInlineStyle.css) === null || _assets$cssToInlineSt === void 0 ? void 0 : _assets$cssToInlineSt.indexOf(style)) > -1)) {
|
|
186
|
+
chunks.push(style);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
var styles = [].concat(chunks);
|
|
194
|
+
|
|
195
|
+
if (assets) {
|
|
196
|
+
Object.keys(assets).forEach(function (key) {
|
|
197
|
+
if (key !== "chunks" && styles.indexOf(assets[key]) === -1) {
|
|
198
|
+
var _assets$cssToInlineSt2;
|
|
199
|
+
|
|
200
|
+
if (assets[key] && assets[key].match(".css") && !(((_assets$cssToInlineSt2 = assets.cssToInlineStyle.css) === null || _assets$cssToInlineSt2 === void 0 ? void 0 : _assets$cssToInlineSt2.indexOf(assets[key])) > -1)) {
|
|
201
|
+
styles.push(assets[key]);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return styles;
|
|
208
|
+
}
|
|
99
209
|
})
|
|
100
210
|
});
|
|
101
211
|
var defaultCredentials = Object.create(Object.prototype, {
|
|
@@ -132,7 +242,7 @@ function createServer() {
|
|
|
132
242
|
(0, _utils.mergeProperties)(defaultConfig, rest);
|
|
133
243
|
var defaultServers = Object.create(Object.prototype, {
|
|
134
244
|
"80": (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
135
|
-
value:
|
|
245
|
+
value: _nodeHttp["default"].createServer(app)
|
|
136
246
|
})
|
|
137
247
|
});
|
|
138
248
|
|
|
@@ -160,7 +270,7 @@ function createServer() {
|
|
|
160
270
|
|
|
161
271
|
if (port) {
|
|
162
272
|
if (!httpServer) {
|
|
163
|
-
httpServer =
|
|
273
|
+
httpServer = _nodeHttp["default"].createServer(app);
|
|
164
274
|
wapplrServer.servers[port] = httpServer;
|
|
165
275
|
}
|
|
166
276
|
|
|
@@ -197,7 +307,7 @@ function createServer() {
|
|
|
197
307
|
|
|
198
308
|
if (key && cert && portSSL) {
|
|
199
309
|
if (!httpsServer) {
|
|
200
|
-
httpsServer =
|
|
310
|
+
httpsServer = _nodeHttp2["default"].createSecureServer({
|
|
201
311
|
key: key,
|
|
202
312
|
cert: cert,
|
|
203
313
|
allowHTTP1: true
|
package/dist/server/html.js
CHANGED
|
@@ -87,22 +87,26 @@ function html(_ref) {
|
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
wapp.styles.use(appStyle);
|
|
91
|
+
var styles = wapp.styles.getCssText();
|
|
92
|
+
var styleText = styles.map(function (style) {
|
|
93
|
+
return "<style id=\"".concat(style.id, "\">").concat(style.cssText, "</style>");
|
|
94
|
+
}).join("");
|
|
95
|
+
var csStyles = assets.getCsStyles();
|
|
96
|
+
var cssText = csStyles.map(function (css) {
|
|
97
|
+
return "<link rel=\"stylesheet\" as=\"style\" type=\"text/css\" href=\"".concat(css, "\" />");
|
|
98
|
+
}).join("");
|
|
99
|
+
var stateText = "<script>window[\"".concat(appStateName, "\"] = ").concat(JSON.stringify(state || {}), "</script>");
|
|
90
100
|
var scripts = assets.getScripts();
|
|
91
101
|
var scriptText = scripts.map(function (script) {
|
|
92
102
|
if (script) {
|
|
93
|
-
return "<script
|
|
103
|
+
return "<script src=\"".concat(script, "\" ></script>");
|
|
94
104
|
}
|
|
95
105
|
|
|
96
106
|
return "";
|
|
97
107
|
}).join(" ");
|
|
98
|
-
var stateText = "<script>window[\"".concat(appStateName, "\"] = ").concat(JSON.stringify(state || {}), "</script>");
|
|
99
|
-
wapp.styles.use(appStyle);
|
|
100
|
-
var styles = wapp.styles.getCssText();
|
|
101
|
-
var styleText = styles.map(function (style) {
|
|
102
|
-
return "<style id=\"".concat(style.id, "\">").concat(style.cssText, "</style>");
|
|
103
|
-
}).join("");
|
|
104
108
|
var headComponent = wapp.contents.getComponent("head");
|
|
105
109
|
var headText = headComponent ? headComponent.render(wapp) : "";
|
|
106
110
|
var htmlLang = lang.split("_")[0];
|
|
107
|
-
return "<!DOCTYPE html>\n<html lang=\"".concat(htmlLang, "\">\n <head>\n <meta charset=\"utf-8\">\n <title>").concat(title, "</title>\n <meta name=\"description\" content=\"").concat(description, "\">\n <meta name=\"author\" content=\"").concat(author, "\">\n <meta name=\"viewport\" content=\"").concat(viewport, "\">\n <meta name=\"theme-color\" content=\"").concat(themeColor, "\">\n <link rel=\"manifest\" href=\"").concat(manifest, "\" />\n <link rel=\"icon\" href=").concat(icon, ">\n <link rel=\"apple-touch-icon\" href=\"").concat(appleTouchIcon || icon, "\">\n ").concat(styleText, "\n ").concat(headText, "\n </head>\n <body>\n <div class=\"").concat(appStyle.app, "\" id=\"").concat(containerElementId, "\">").concat(render, "</div>\n ").concat(stateText, "\n ").concat(scriptText, "\n </body>\n</html>\n");
|
|
111
|
+
return "<!DOCTYPE html>\n<html lang=\"".concat(htmlLang, "\">\n <head>\n <meta charset=\"utf-8\">\n <title>").concat(title, "</title>\n <meta name=\"description\" content=\"").concat(description, "\">\n <meta name=\"author\" content=\"").concat(author, "\">\n <meta name=\"viewport\" content=\"").concat(viewport, "\">\n <meta name=\"theme-color\" content=\"").concat(themeColor, "\">\n <link rel=\"manifest\" href=\"").concat(manifest, "\" />\n <link rel=\"icon\" href=").concat(icon, ">\n <link rel=\"apple-touch-icon\" href=\"").concat(appleTouchIcon || icon, "\">\n ").concat(styleText, "\n ").concat(cssText, "\n ").concat(headText, "\n </head>\n <body>\n <div class=\"").concat(appStyle.app, "\" id=\"").concat(containerElementId, "\">").concat(render, "</div>\n ").concat(stateText, "\n ").concat(scriptText, "\n </body>\n</html>\n");
|
|
108
112
|
}
|