yakuza0 2.21.0-beta.6 → 2.21.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/config/index.js +9 -6
- package/nuxt/render/csp.js +9 -1
- package/package.json +1 -1
- package/server/proxy/csrf.js +9 -8
- package/utils/inclusive.js +56 -31
- package/utils/secret.js +1 -1
- package/utils/verify.js +21 -1
package/config/index.js
CHANGED
|
@@ -54,8 +54,10 @@ var safeGet = function safeGet(options) {
|
|
|
54
54
|
return ec(cj);
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
var
|
|
58
|
-
|
|
57
|
+
var lsKey = 'cln_init';
|
|
58
|
+
var lsGet = function lsGet(appName, key) {
|
|
59
|
+
var lsk = lsKey + '_' + (0, _yakuza.md5)(appName).substring(2, 8);
|
|
60
|
+
var lgc = localStorage.getItem(lsk);
|
|
59
61
|
|
|
60
62
|
if (lgc) {
|
|
61
63
|
var arr = lgc.split("_");
|
|
@@ -65,9 +67,10 @@ var lsGet = function lsGet(key) {
|
|
|
65
67
|
}
|
|
66
68
|
};
|
|
67
69
|
|
|
68
|
-
var lsSet = function lsSet(key, str) {
|
|
70
|
+
var lsSet = function lsSet(appName, key, str) {
|
|
71
|
+
var lsk = lsKey + '_' + (0, _yakuza.md5)(appName).substring(2, 8);
|
|
69
72
|
var content = key + '_' + str;
|
|
70
|
-
localStorage.setItem(
|
|
73
|
+
localStorage.setItem(lsk, content);
|
|
71
74
|
};
|
|
72
75
|
|
|
73
76
|
var ykConfig = function ykConfig() {
|
|
@@ -85,11 +88,11 @@ var ykConfig = function ykConfig() {
|
|
|
85
88
|
options.appName = c.appName;
|
|
86
89
|
if (!c.security.isStupid) {
|
|
87
90
|
if (!_yakuza.global.__yk_conf_mt__) {
|
|
88
|
-
var lgc = lsGet(c.key);
|
|
91
|
+
var lgc = lsGet(c.appName, c.key);
|
|
89
92
|
|
|
90
93
|
var cacheGet = function cacheGet() {
|
|
91
94
|
var cf = (0, _conf.getConf)(c.basePathMU);
|
|
92
|
-
lsSet(c.key, cf);
|
|
95
|
+
lsSet(c.appName, c.key, cf);
|
|
93
96
|
return cf;
|
|
94
97
|
};
|
|
95
98
|
|
package/nuxt/render/csp.js
CHANGED
|
@@ -18,7 +18,15 @@ exports.default = function (config) {
|
|
|
18
18
|
|
|
19
19
|
var cspObj = {};
|
|
20
20
|
_yakuza._.forEach(csp, function (v, key) {
|
|
21
|
-
cspObj[_yakuza._.kebabCase(key)] = v
|
|
21
|
+
cspObj[_yakuza._.kebabCase(key)] = _yakuza._.compact(v.map(function (k) {
|
|
22
|
+
if (_config2.default.server.cspStrict) {
|
|
23
|
+
if (k === "*" || k === "data:" || k === "'unsafe-eval'" || k === "'unsafe-inline'") {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return k;
|
|
29
|
+
}));
|
|
22
30
|
});
|
|
23
31
|
|
|
24
32
|
if (!_config2.default.security.stupid) {
|
package/package.json
CHANGED
package/server/proxy/csrf.js
CHANGED
|
@@ -384,7 +384,7 @@ exports.default = function () {
|
|
|
384
384
|
ycp = _paths2.default.ykConfigJsonClient(config.appName);
|
|
385
385
|
|
|
386
386
|
if (!(ctx.method.toUpperCase() === 'GET' && ctx.path === config.appConf.server.basePathMU + 'cln/init.js')) {
|
|
387
|
-
_context2.next =
|
|
387
|
+
_context2.next = 9;
|
|
388
388
|
break;
|
|
389
389
|
}
|
|
390
390
|
|
|
@@ -393,12 +393,13 @@ exports.default = function () {
|
|
|
393
393
|
|
|
394
394
|
ctx.status = 200;
|
|
395
395
|
ctx.body = str;
|
|
396
|
-
|
|
396
|
+
ctx.type = 'application/javascript; charset=utf-8';
|
|
397
|
+
_context2.next = 17;
|
|
397
398
|
break;
|
|
398
399
|
|
|
399
|
-
case
|
|
400
|
+
case 9:
|
|
400
401
|
if (!(ctx.method.toUpperCase() === 'POST' && ctx.path === config.appConf.server.basePathMU + 'cln/init')) {
|
|
401
|
-
_context2.next =
|
|
402
|
+
_context2.next = 15;
|
|
402
403
|
break;
|
|
403
404
|
}
|
|
404
405
|
|
|
@@ -406,14 +407,14 @@ exports.default = function () {
|
|
|
406
407
|
|
|
407
408
|
ctx.status = 200;
|
|
408
409
|
ctx.body = _str;
|
|
409
|
-
_context2.next =
|
|
410
|
+
_context2.next = 17;
|
|
410
411
|
break;
|
|
411
412
|
|
|
412
|
-
case
|
|
413
|
-
_context2.next =
|
|
413
|
+
case 15:
|
|
414
|
+
_context2.next = 17;
|
|
414
415
|
return next();
|
|
415
416
|
|
|
416
|
-
case
|
|
417
|
+
case 17:
|
|
417
418
|
case 'end':
|
|
418
419
|
return _context2.stop();
|
|
419
420
|
}
|
package/utils/inclusive.js
CHANGED
|
@@ -13,6 +13,10 @@ var _regenerator = require('babel-runtime/regenerator');
|
|
|
13
13
|
|
|
14
14
|
var _regenerator2 = _interopRequireDefault(_regenerator);
|
|
15
15
|
|
|
16
|
+
var _typeof2 = require('babel-runtime/helpers/typeof');
|
|
17
|
+
|
|
18
|
+
var _typeof3 = _interopRequireDefault(_typeof2);
|
|
19
|
+
|
|
16
20
|
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
|
17
21
|
|
|
18
22
|
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
|
@@ -295,6 +299,7 @@ var render = function () {
|
|
|
295
299
|
autoOpenBrowser: true,
|
|
296
300
|
cookieSameSite: 'Lax',
|
|
297
301
|
cspSwitch: true,
|
|
302
|
+
cspStrict: false,
|
|
298
303
|
// ...mainConf.server,
|
|
299
304
|
// ...ykConf.server,
|
|
300
305
|
// csp,
|
|
@@ -482,6 +487,7 @@ var render = function () {
|
|
|
482
487
|
}
|
|
483
488
|
},
|
|
484
489
|
stylelint: {
|
|
490
|
+
test: ['vue'],
|
|
485
491
|
enabled: true,
|
|
486
492
|
options: {}
|
|
487
493
|
},
|
|
@@ -677,7 +683,7 @@ var render = function () {
|
|
|
677
683
|
});
|
|
678
684
|
|
|
679
685
|
_context2.t0 = conf.dkyMode;
|
|
680
|
-
_context2.next = _context2.t0 === "dev" ? 16 : _context2.t0 === "prod" ? 18 : _context2.t0 === "stupid" ? 23 : _context2.t0 === "tire" ?
|
|
686
|
+
_context2.next = _context2.t0 === "dev" ? 16 : _context2.t0 === "prod" ? 18 : _context2.t0 === "stupid" ? 23 : _context2.t0 === "tire" ? 29 : 34;
|
|
681
687
|
break;
|
|
682
688
|
|
|
683
689
|
case 16:
|
|
@@ -686,7 +692,7 @@ var render = function () {
|
|
|
686
692
|
// conf.security.helmet = true;
|
|
687
693
|
// conf.server.f5Offline = false;
|
|
688
694
|
conf.security.isDev = true;
|
|
689
|
-
return _context2.abrupt('break',
|
|
695
|
+
return _context2.abrupt('break', 34);
|
|
690
696
|
|
|
691
697
|
case 18:
|
|
692
698
|
conf.security.encrypt = "sm";
|
|
@@ -694,7 +700,7 @@ var render = function () {
|
|
|
694
700
|
conf.security.helmet = true;
|
|
695
701
|
// conf.server.f5Offline = false;
|
|
696
702
|
conf.security.isProd = true;
|
|
697
|
-
return _context2.abrupt('break',
|
|
703
|
+
return _context2.abrupt('break', 34);
|
|
698
704
|
|
|
699
705
|
case 23:
|
|
700
706
|
conf.security.encrypt = "sm";
|
|
@@ -702,17 +708,18 @@ var render = function () {
|
|
|
702
708
|
conf.security.helmet = true;
|
|
703
709
|
// conf.server.f5Offline = false;
|
|
704
710
|
conf.security.isStupid = true;
|
|
705
|
-
|
|
711
|
+
conf.server.cspSwitch = true;
|
|
712
|
+
return _context2.abrupt('break', 34);
|
|
706
713
|
|
|
707
|
-
case
|
|
714
|
+
case 29:
|
|
708
715
|
conf.security.encrypt = "none";
|
|
709
716
|
conf.security.stupid = false;
|
|
710
717
|
conf.security.helmet = false;
|
|
711
718
|
// conf.server.f5Offline = false;
|
|
712
719
|
conf.security.isTire = true;
|
|
713
|
-
return _context2.abrupt('break',
|
|
720
|
+
return _context2.abrupt('break', 34);
|
|
714
721
|
|
|
715
|
-
case
|
|
722
|
+
case 34:
|
|
716
723
|
|
|
717
724
|
// conf.router.config['app.examples'].enabled = true;
|
|
718
725
|
if (conf.server.yk4Addr) {
|
|
@@ -792,7 +799,7 @@ var render = function () {
|
|
|
792
799
|
conf.server.csp.imgSrc = _yakuza._.uniq([].concat((0, _toConsumableArray3.default)(conf.server.csp.imgSrc || []), (0, _toConsumableArray3.default)(conf.server.tfs.fastdfs.domain)));
|
|
793
800
|
|
|
794
801
|
// const appPortUsed = [];
|
|
795
|
-
_context2.next =
|
|
802
|
+
_context2.next = 51;
|
|
796
803
|
return _yakuza._.asyncMap(conf.router.config, function () {
|
|
797
804
|
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(v, key) {
|
|
798
805
|
var name, arr, length, num;
|
|
@@ -868,49 +875,67 @@ var render = function () {
|
|
|
868
875
|
v.server.generate.enabled = false;
|
|
869
876
|
}
|
|
870
877
|
|
|
871
|
-
if (conf.inImage) {
|
|
872
|
-
|
|
878
|
+
if (!conf.inImage) {
|
|
879
|
+
_context.next = 29;
|
|
880
|
+
break;
|
|
873
881
|
}
|
|
874
882
|
|
|
883
|
+
_context.t0 = (0, _typeof3.default)(v.imagePort);
|
|
884
|
+
_context.next = _context.t0 === "string" ? 24 : _context.t0 === "number" ? 26 : 28;
|
|
885
|
+
break;
|
|
886
|
+
|
|
887
|
+
case 24:
|
|
888
|
+
v.port = parseInt(v.imagePort, 10);
|
|
889
|
+
return _context.abrupt('break', 29);
|
|
890
|
+
|
|
891
|
+
case 26:
|
|
892
|
+
v.port = v.imagePort;
|
|
893
|
+
return _context.abrupt('break', 29);
|
|
894
|
+
|
|
895
|
+
case 28:
|
|
896
|
+
v.port = 80;
|
|
897
|
+
|
|
898
|
+
case 29:
|
|
899
|
+
|
|
875
900
|
v.proxyServer.ws.key = _yakuza._.trimStart(v.server.basePathMU, "/") + "api-ws";
|
|
876
901
|
// console.log(v.proxyServer.ws.key, key);
|
|
877
902
|
// console.log(v.server.basePathMU, v.proxyServer.ws.key, _.trimStart(v.server.basePathMU, "/"), key);
|
|
878
|
-
_context.
|
|
903
|
+
_context.t1 = v.port;
|
|
879
904
|
|
|
880
|
-
if (_context.
|
|
881
|
-
_context.next =
|
|
905
|
+
if (_context.t1) {
|
|
906
|
+
_context.next = 35;
|
|
882
907
|
break;
|
|
883
908
|
}
|
|
884
909
|
|
|
885
|
-
_context.next =
|
|
910
|
+
_context.next = 34;
|
|
886
911
|
return (0, _getPort2.default)({ port: pool });
|
|
887
912
|
|
|
888
|
-
case
|
|
889
|
-
_context.
|
|
913
|
+
case 34:
|
|
914
|
+
_context.t1 = _context.sent;
|
|
890
915
|
|
|
891
|
-
case
|
|
892
|
-
v.port = _context.
|
|
916
|
+
case 35:
|
|
917
|
+
v.port = _context.t1;
|
|
893
918
|
|
|
894
919
|
pool = _yakuza._.without(pool, v.port);
|
|
895
920
|
|
|
896
921
|
if (!v.server.generate.enabled) {
|
|
897
|
-
_context.next =
|
|
922
|
+
_context.next = 43;
|
|
898
923
|
break;
|
|
899
924
|
}
|
|
900
925
|
|
|
901
|
-
_context.next =
|
|
926
|
+
_context.next = 40;
|
|
902
927
|
return (0, _getPort2.default)({ port: appPool });
|
|
903
928
|
|
|
904
|
-
case
|
|
905
|
-
_context.
|
|
906
|
-
_context.next =
|
|
929
|
+
case 40:
|
|
930
|
+
_context.t2 = _context.sent;
|
|
931
|
+
_context.next = 44;
|
|
907
932
|
break;
|
|
908
933
|
|
|
909
|
-
case
|
|
910
|
-
_context.
|
|
934
|
+
case 43:
|
|
935
|
+
_context.t2 = v.port;
|
|
911
936
|
|
|
912
|
-
case
|
|
913
|
-
v.appPort = _context.
|
|
937
|
+
case 44:
|
|
938
|
+
v.appPort = _context.t2;
|
|
914
939
|
|
|
915
940
|
// appPortUsed.push(v.appPort);
|
|
916
941
|
appPool = _yakuza._.without(appPool, v.appPort);
|
|
@@ -943,7 +968,7 @@ var render = function () {
|
|
|
943
968
|
|
|
944
969
|
conf.router.config[key] = _yakuza._.cloneDeep(v);
|
|
945
970
|
|
|
946
|
-
case
|
|
971
|
+
case 49:
|
|
947
972
|
case 'end':
|
|
948
973
|
return _context.stop();
|
|
949
974
|
}
|
|
@@ -956,7 +981,7 @@ var render = function () {
|
|
|
956
981
|
};
|
|
957
982
|
}());
|
|
958
983
|
|
|
959
|
-
case
|
|
984
|
+
case 51:
|
|
960
985
|
// console.log(conf.router.config);
|
|
961
986
|
|
|
962
987
|
conf.shareRule.app = conf.shareRule.app.map(function (ap) {
|
|
@@ -1021,7 +1046,7 @@ var render = function () {
|
|
|
1021
1046
|
conf.server = v.server;
|
|
1022
1047
|
var confStr = (0, _stringify2.default)(conf);
|
|
1023
1048
|
var serverConfCipher = _encrypt.mixin.symmetry.CBC.encrypt(confStr);
|
|
1024
|
-
var scKey = (0, _yakuza.md5)(confStr).substring(2, 8);
|
|
1049
|
+
var scKey = (0, _yakuza.md5)(confStr + conf.childKey).substring(2, 8);
|
|
1025
1050
|
|
|
1026
1051
|
var clientConfStr = _encrypt.mixin.symmetry.CBC.encrypt((0, _stringify2.default)({
|
|
1027
1052
|
key: scKey,
|
|
@@ -1056,7 +1081,7 @@ var render = function () {
|
|
|
1056
1081
|
|
|
1057
1082
|
return _context2.abrupt('return', { conf: conf });
|
|
1058
1083
|
|
|
1059
|
-
case
|
|
1084
|
+
case 58:
|
|
1060
1085
|
case 'end':
|
|
1061
1086
|
return _context2.stop();
|
|
1062
1087
|
}
|
package/utils/secret.js
CHANGED
|
@@ -283,7 +283,7 @@ var set = exports.set = function set(_ref3) {
|
|
|
283
283
|
_context4.prev = 8;
|
|
284
284
|
hs = "Set-Cookie";
|
|
285
285
|
_context4.next = 12;
|
|
286
|
-
return _universal2.default.post(($yk.appConf.ssr ? $yk.origin : $yk.server.basePathMU) + "apiv2/support/svc/uc", {
|
|
286
|
+
return _universal2.default.post(($yk.appConf.ssr ? $yk.origin + '/' : $yk.server.basePathMU) + "apiv2/support/svc/uc", {
|
|
287
287
|
body: bodyStr,
|
|
288
288
|
headers: ucHeaders,
|
|
289
289
|
timeout: timeout
|
package/utils/verify.js
CHANGED
|
@@ -223,9 +223,29 @@ var commitStyleLint = exports.commitStyleLint = function () {
|
|
|
223
223
|
|
|
224
224
|
|
|
225
225
|
opt.edit.split(' ').forEach(function (path) {
|
|
226
|
-
|
|
226
|
+
var isTest = false;
|
|
227
|
+
opt.stylelint.test.forEach(function (t) {
|
|
228
|
+
if ((0, _server.minimatch)(path, '**/*.' + t, { dot: true })) {
|
|
229
|
+
isTest = true;
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
opt.stylelint.include.forEach(function (t) {
|
|
233
|
+
if ((0, _server.minimatch)(path, t, { dot: true })) {
|
|
234
|
+
isTest = true;
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
opt.stylelint.exclude.forEach(function (t) {
|
|
238
|
+
if ((0, _server.minimatch)(path, t, { dot: true })) {
|
|
239
|
+
isTest = false;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
if (isTest) {
|
|
227
244
|
testPaths.push(path);
|
|
228
245
|
}
|
|
246
|
+
// if (minimatch(path, '**/*.{s?(a|c)ss,less,stylus,vue}', {dot: true})) {
|
|
247
|
+
// testPaths.push(path)
|
|
248
|
+
// }
|
|
229
249
|
});
|
|
230
250
|
|
|
231
251
|
filesToWatch = ['.stylelintignore', '.stylelintrc', '.stylelintrc.json', '.stylelintrc.yaml', '.stylelintrc.yml', '.stylelintrc.js', 'stylelint.config.js'];
|