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.
@@ -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.config || targetObject.config && !targetObject.config.styles || targetObject.config && targetObject.config.styles && !targetObject.config.styles.disableClearStyles) {
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 _http = _interopRequireDefault(require("http"));
22
+ var _nodeHttp = _interopRequireDefault(require("node:http"));
23
23
 
24
- var _http2 = _interopRequireDefault(require("http2"));
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
- assets.chunks[key].forEach(function (script) {
78
- if (script.match(".js") && chunks.indexOf(script) === -1) {
79
- chunks.push(script);
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: _http["default"].createServer(app)
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 = _http["default"].createServer(app);
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 = _http2["default"].createSecureServer({
310
+ httpsServer = _nodeHttp2["default"].createSecureServer({
201
311
  key: key,
202
312
  cert: cert,
203
313
  allowHTTP1: true
@@ -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 key=\"".concat(script, "\" src=\"").concat(script, "\" ></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
  }
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "files": [
23
23
  "dist/*"
24
24
  ],
25
- "version": "1.0.69",
25
+ "version": "1.0.71",
26
26
  "main": "dist/server",
27
27
  "browser": "dist/client",
28
28
  "repository": {