keycloakify 11.0.1 → 11.1.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/499.index.js
CHANGED
@@ -785,6 +785,9 @@ var escapeStringForPropertiesFile = __webpack_require__(27190);
|
|
785
785
|
// EXTERNAL MODULE: external "child_process"
|
786
786
|
var external_child_process_ = __webpack_require__(32081);
|
787
787
|
var external_child_process_default = /*#__PURE__*/__webpack_require__.n(external_child_process_);
|
788
|
+
// EXTERNAL MODULE: ./node_modules/properties-parser/index.js
|
789
|
+
var properties_parser = __webpack_require__(44414);
|
790
|
+
var properties_parser_default = /*#__PURE__*/__webpack_require__.n(properties_parser);
|
788
791
|
;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/generateResourcesForMainTheme.js
|
789
792
|
|
790
793
|
|
@@ -804,6 +807,7 @@ var external_child_process_default = /*#__PURE__*/__webpack_require__.n(external
|
|
804
807
|
|
805
808
|
|
806
809
|
|
810
|
+
|
807
811
|
(0,assert.assert)();
|
808
812
|
async function generateResourcesForMainTheme(params) {
|
809
813
|
var _a;
|
@@ -937,14 +941,38 @@ async function generateResourcesForMainTheme(params) {
|
|
937
941
|
})
|
938
942
|
.toString("utf8")
|
939
943
|
.trim();
|
940
|
-
const
|
941
|
-
if (!external_fs_.existsSync(
|
944
|
+
const messageDirPath_defaults = (0,external_path_.join)(accountUiDirPath, "messages");
|
945
|
+
if (!external_fs_.existsSync(messageDirPath_defaults)) {
|
942
946
|
throw new Error(`Please update @keycloakify/keycloak-account-ui to 25.0.4-rc.5 or later.`);
|
943
947
|
}
|
948
|
+
const messagesDirPath_dest = (0,external_path_.join)(getThemeTypeDirPath({ themeType: "account" }), "messages");
|
944
949
|
(0,transformCodebase/* transformCodebase */.N)({
|
945
|
-
srcDirPath:
|
946
|
-
destDirPath:
|
950
|
+
srcDirPath: messageDirPath_defaults,
|
951
|
+
destDirPath: messagesDirPath_dest
|
947
952
|
});
|
953
|
+
apply_theme_changes: {
|
954
|
+
const messagesDirPath_theme = (0,external_path_.join)(buildContext.themeSrcDirPath, "account", "messages");
|
955
|
+
if (!external_fs_.existsSync(messagesDirPath_theme)) {
|
956
|
+
break apply_theme_changes;
|
957
|
+
}
|
958
|
+
external_fs_.readdirSync(messagesDirPath_theme).forEach(basename => {
|
959
|
+
const filePath_src = (0,external_path_.join)(messagesDirPath_theme, basename);
|
960
|
+
const filePath_dest = (0,external_path_.join)(messagesDirPath_dest, basename);
|
961
|
+
if (!external_fs_.existsSync(filePath_dest)) {
|
962
|
+
external_fs_.cpSync(filePath_src, filePath_dest);
|
963
|
+
}
|
964
|
+
const messages_src = properties_parser_default().parse(external_fs_.readFileSync(filePath_src).toString("utf8"));
|
965
|
+
const messages_dest = properties_parser_default().parse(external_fs_.readFileSync(filePath_dest).toString("utf8"));
|
966
|
+
const messages = Object.assign(Object.assign({}, messages_dest), messages_src);
|
967
|
+
const editor = properties_parser_default().createEditor();
|
968
|
+
Object.entries(messages).forEach(([key, value]) => {
|
969
|
+
editor.set(key, value);
|
970
|
+
});
|
971
|
+
external_fs_.writeFileSync(filePath_dest, Buffer.from(editor.toString(), "utf8"));
|
972
|
+
});
|
973
|
+
}
|
974
|
+
languageTags = external_fs_.readdirSync(messagesDirPath_dest)
|
975
|
+
.map(basename => basename.replace(/^messages_/, "").replace(/\.properties$/, ""));
|
948
976
|
}
|
949
977
|
keycloak_static_resources: {
|
950
978
|
if (isForAccountSpa) {
|
@@ -1,5 +1,5 @@
|
|
1
|
-
exports.id =
|
2
|
-
exports.ids = [
|
1
|
+
exports.id = 860;
|
2
|
+
exports.ids = [860];
|
3
3
|
exports.modules = {
|
4
4
|
|
5
5
|
/***/ 15573:
|
@@ -9292,6 +9292,434 @@ jsesc.version = '2.5.2';
|
|
9292
9292
|
module.exports = jsesc;
|
9293
9293
|
|
9294
9294
|
|
9295
|
+
/***/ }),
|
9296
|
+
|
9297
|
+
/***/ 44414:
|
9298
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
9299
|
+
|
9300
|
+
__webpack_require__(21360);
|
9301
|
+
var fs = __webpack_require__(57147);
|
9302
|
+
|
9303
|
+
function Iterator(text) {
|
9304
|
+
var pos = 0, length = text.length;
|
9305
|
+
|
9306
|
+
this.peek = function(num) {
|
9307
|
+
num = num || 0;
|
9308
|
+
if(pos + num >= length) { return null; }
|
9309
|
+
|
9310
|
+
return text.charAt(pos + num);
|
9311
|
+
};
|
9312
|
+
this.next = function(inc) {
|
9313
|
+
inc = inc || 1;
|
9314
|
+
|
9315
|
+
if(pos >= length) { return null; }
|
9316
|
+
|
9317
|
+
return text.charAt((pos += inc) - inc);
|
9318
|
+
};
|
9319
|
+
this.pos = function() {
|
9320
|
+
return pos;
|
9321
|
+
};
|
9322
|
+
}
|
9323
|
+
|
9324
|
+
var rWhitespace = /\s/;
|
9325
|
+
function isWhitespace(chr) {
|
9326
|
+
return rWhitespace.test(chr);
|
9327
|
+
}
|
9328
|
+
function consumeWhiteSpace(iter) {
|
9329
|
+
var start = iter.pos();
|
9330
|
+
|
9331
|
+
while(isWhitespace(iter.peek())) { iter.next(); }
|
9332
|
+
|
9333
|
+
return { type: "whitespace", start: start, end: iter.pos() };
|
9334
|
+
}
|
9335
|
+
|
9336
|
+
function startsComment(chr) {
|
9337
|
+
return chr === "!" || chr === "#";
|
9338
|
+
}
|
9339
|
+
function isEOL(chr) {
|
9340
|
+
return chr == null || chr === "\n" || chr === "\r";
|
9341
|
+
}
|
9342
|
+
function consumeComment(iter) {
|
9343
|
+
var start = iter.pos();
|
9344
|
+
|
9345
|
+
while(!isEOL(iter.peek())) { iter.next(); }
|
9346
|
+
|
9347
|
+
return { type: "comment", start: start, end: iter.pos() };
|
9348
|
+
}
|
9349
|
+
|
9350
|
+
function startsKeyVal(chr) {
|
9351
|
+
return !isWhitespace(chr) && !startsComment(chr);
|
9352
|
+
}
|
9353
|
+
function startsSeparator(chr) {
|
9354
|
+
return chr === "=" || chr === ":" || isWhitespace(chr);
|
9355
|
+
}
|
9356
|
+
function startsEscapedVal(chr) {
|
9357
|
+
return chr === "\\";
|
9358
|
+
}
|
9359
|
+
function consumeEscapedVal(iter) {
|
9360
|
+
var start = iter.pos();
|
9361
|
+
|
9362
|
+
iter.next(); // move past "\"
|
9363
|
+
var curChar = iter.next();
|
9364
|
+
if(curChar === "u") { // encoded unicode char
|
9365
|
+
iter.next(4); // Read in the 4 hex values
|
9366
|
+
}
|
9367
|
+
|
9368
|
+
return { type: "escaped-value", start: start, end: iter.pos() };
|
9369
|
+
}
|
9370
|
+
function consumeKey(iter) {
|
9371
|
+
var start = iter.pos(), children = [];
|
9372
|
+
|
9373
|
+
var curChar;
|
9374
|
+
while((curChar = iter.peek()) !== null) {
|
9375
|
+
if(startsSeparator(curChar)) { break; }
|
9376
|
+
if(startsEscapedVal(curChar)) { children.push(consumeEscapedVal(iter)); continue; }
|
9377
|
+
|
9378
|
+
iter.next();
|
9379
|
+
}
|
9380
|
+
|
9381
|
+
return { type: "key", start: start, end: iter.pos(), children: children };
|
9382
|
+
}
|
9383
|
+
function consumeKeyValSeparator(iter) {
|
9384
|
+
var start = iter.pos();
|
9385
|
+
|
9386
|
+
var seenHardSep = false, curChar;
|
9387
|
+
while((curChar = iter.peek()) !== null) {
|
9388
|
+
if(isEOL(curChar)) { break; }
|
9389
|
+
|
9390
|
+
if(isWhitespace(curChar)) { iter.next(); continue; }
|
9391
|
+
|
9392
|
+
if(seenHardSep) { break; }
|
9393
|
+
|
9394
|
+
seenHardSep = (curChar === ":" || curChar === "=");
|
9395
|
+
if(seenHardSep) { iter.next(); continue; }
|
9396
|
+
|
9397
|
+
break; // curChar is a non-separtor char
|
9398
|
+
}
|
9399
|
+
|
9400
|
+
return { type: "key-value-separator", start: start, end: iter.pos() };
|
9401
|
+
}
|
9402
|
+
function startsLineBreak(iter) {
|
9403
|
+
return iter.peek() === "\\" && isEOL(iter.peek(1));
|
9404
|
+
}
|
9405
|
+
function consumeLineBreak(iter) {
|
9406
|
+
var start = iter.pos();
|
9407
|
+
|
9408
|
+
iter.next(); // consume \
|
9409
|
+
if(iter.peek() === "\r") { iter.next(); }
|
9410
|
+
iter.next(); // consume \n
|
9411
|
+
|
9412
|
+
var curChar;
|
9413
|
+
while((curChar = iter.peek()) !== null) {
|
9414
|
+
if(isEOL(curChar)) { break; }
|
9415
|
+
if(!isWhitespace(curChar)) { break; }
|
9416
|
+
|
9417
|
+
iter.next();
|
9418
|
+
}
|
9419
|
+
|
9420
|
+
return { type: "line-break", start: start, end: iter.pos() };
|
9421
|
+
}
|
9422
|
+
function consumeVal(iter) {
|
9423
|
+
var start = iter.pos(), children = [];
|
9424
|
+
|
9425
|
+
var curChar;
|
9426
|
+
while((curChar = iter.peek()) !== null) {
|
9427
|
+
if(startsLineBreak(iter)) { children.push(consumeLineBreak(iter)); continue; }
|
9428
|
+
if(startsEscapedVal(curChar)) { children.push(consumeEscapedVal(iter)); continue; }
|
9429
|
+
if(isEOL(curChar)) { break; }
|
9430
|
+
|
9431
|
+
iter.next();
|
9432
|
+
}
|
9433
|
+
|
9434
|
+
return { type: "value", start: start, end: iter.pos(), children: children };
|
9435
|
+
}
|
9436
|
+
function consumeKeyVal(iter) {
|
9437
|
+
return {
|
9438
|
+
type: "key-value",
|
9439
|
+
start: iter.pos(),
|
9440
|
+
children: [
|
9441
|
+
consumeKey(iter),
|
9442
|
+
consumeKeyValSeparator(iter),
|
9443
|
+
consumeVal(iter)
|
9444
|
+
],
|
9445
|
+
end: iter.pos()
|
9446
|
+
};
|
9447
|
+
}
|
9448
|
+
|
9449
|
+
var renderChild = {
|
9450
|
+
"escaped-value": function(child, text) {
|
9451
|
+
var type = text.charAt(child.start + 1);
|
9452
|
+
|
9453
|
+
if(type === "t") { return "\t"; }
|
9454
|
+
if(type === "r") { return "\r"; }
|
9455
|
+
if(type === "n") { return "\n"; }
|
9456
|
+
if(type === "f") { return "\f"; }
|
9457
|
+
if(type !== "u") { return type; }
|
9458
|
+
|
9459
|
+
return String.fromCharCode(parseInt(text.substr(child.start + 2, 4), 16));
|
9460
|
+
},
|
9461
|
+
"line-break": function (child, text) {
|
9462
|
+
return "";
|
9463
|
+
}
|
9464
|
+
};
|
9465
|
+
function rangeToBuffer(range, text) {
|
9466
|
+
var start = range.start, buffer = [];
|
9467
|
+
|
9468
|
+
for(var i = 0; i < range.children.length; i++) {
|
9469
|
+
var child = range.children[i];
|
9470
|
+
|
9471
|
+
buffer.push(text.substring(start, child.start));
|
9472
|
+
buffer.push(renderChild[child.type](child, text));
|
9473
|
+
start = child.end;
|
9474
|
+
}
|
9475
|
+
buffer.push(text.substring(start, range.end));
|
9476
|
+
|
9477
|
+
return buffer;
|
9478
|
+
}
|
9479
|
+
function rangesToObject(ranges, text) {
|
9480
|
+
var obj = Object.create(null); // Creates to a true hash map
|
9481
|
+
|
9482
|
+
for(var i = 0; i < ranges.length; i++) {
|
9483
|
+
var range = ranges[i];
|
9484
|
+
|
9485
|
+
if(range.type !== "key-value") { continue; }
|
9486
|
+
|
9487
|
+
var key = rangeToBuffer(range.children[0], text).join("");
|
9488
|
+
var val = rangeToBuffer(range.children[2], text).join("");
|
9489
|
+
obj[key] = val;
|
9490
|
+
}
|
9491
|
+
|
9492
|
+
return obj;
|
9493
|
+
}
|
9494
|
+
|
9495
|
+
function stringToRanges(text) {
|
9496
|
+
var iter = new Iterator(text), ranges = [];
|
9497
|
+
|
9498
|
+
var curChar;
|
9499
|
+
while((curChar = iter.peek()) !== null) {
|
9500
|
+
if(isWhitespace(curChar)) { ranges.push(consumeWhiteSpace(iter)); continue; }
|
9501
|
+
if(startsComment(curChar)) { ranges.push(consumeComment(iter)); continue; }
|
9502
|
+
if(startsKeyVal(curChar)) { ranges.push(consumeKeyVal(iter)); continue; }
|
9503
|
+
|
9504
|
+
throw Error("Something crazy happened. text: '" + text + "'; curChar: '" + curChar + "'");
|
9505
|
+
}
|
9506
|
+
|
9507
|
+
return ranges;
|
9508
|
+
}
|
9509
|
+
|
9510
|
+
function isNewLineRange(range) {
|
9511
|
+
if(!range) { return false; }
|
9512
|
+
|
9513
|
+
if(range.type === "whitespace") { return true; }
|
9514
|
+
|
9515
|
+
if(range.type === "literal") {
|
9516
|
+
return isWhitespace(range.text) && range.text.indexOf("\n") > -1;
|
9517
|
+
}
|
9518
|
+
|
9519
|
+
return false;
|
9520
|
+
}
|
9521
|
+
|
9522
|
+
function escapeMaker(escapes) {
|
9523
|
+
return function escapeKey(key) {
|
9524
|
+
var zeros = [ "", "0", "00", "000" ];
|
9525
|
+
var buf = [];
|
9526
|
+
|
9527
|
+
for(var i = 0; i < key.length; i++) {
|
9528
|
+
var chr = key.charAt(i);
|
9529
|
+
|
9530
|
+
if(escapes[chr]) { buf.push(escapes[chr]); continue; }
|
9531
|
+
|
9532
|
+
var code = chr.codePointAt(0);
|
9533
|
+
|
9534
|
+
if(code <= 0x7F) { buf.push(chr); continue; }
|
9535
|
+
|
9536
|
+
var hex = code.toString(16);
|
9537
|
+
|
9538
|
+
buf.push("\\u");
|
9539
|
+
buf.push(zeros[4 - hex.length]);
|
9540
|
+
buf.push(hex);
|
9541
|
+
}
|
9542
|
+
|
9543
|
+
return buf.join("");
|
9544
|
+
};
|
9545
|
+
}
|
9546
|
+
|
9547
|
+
var escapeKey = escapeMaker({ " ": "\\ ", "\n": "\\n", ":": "\\:", "=": "\\=" });
|
9548
|
+
var escapeVal = escapeMaker({ "\n": "\\n" });
|
9549
|
+
|
9550
|
+
function Editor(text, options) {
|
9551
|
+
if (typeof text === 'object') {
|
9552
|
+
options = text;
|
9553
|
+
text = null;
|
9554
|
+
}
|
9555
|
+
text = text || "";
|
9556
|
+
var path = options.path;
|
9557
|
+
var separator = options.separator || '=';
|
9558
|
+
|
9559
|
+
var ranges = stringToRanges(text);
|
9560
|
+
var obj = rangesToObject(ranges, text);
|
9561
|
+
var keyRange = Object.create(null); // Creates to a true hash map
|
9562
|
+
|
9563
|
+
for(var i = 0; i < ranges.length; i++) {
|
9564
|
+
var range = ranges[i];
|
9565
|
+
|
9566
|
+
if(range.type !== "key-value") { continue; }
|
9567
|
+
|
9568
|
+
var key = rangeToBuffer(range.children[0], text).join("");
|
9569
|
+
keyRange[key] = range;
|
9570
|
+
}
|
9571
|
+
|
9572
|
+
this.addHeadComment = function(comment) {
|
9573
|
+
if(comment == null) { return; }
|
9574
|
+
|
9575
|
+
ranges.unshift({ type: "literal", text: "# " + comment.replace(/\n/g, "\n# ") + "\n" });
|
9576
|
+
};
|
9577
|
+
|
9578
|
+
this.get = function(key) { return obj[key]; };
|
9579
|
+
this.set = function(key, val, comment) {
|
9580
|
+
if(val == null) { this.unset(key); return; }
|
9581
|
+
|
9582
|
+
obj[key] = val;
|
9583
|
+
var escapedKey = escapeKey(key);
|
9584
|
+
var escapedVal = escapeVal(val);
|
9585
|
+
|
9586
|
+
var range = keyRange[key];
|
9587
|
+
if(!range) {
|
9588
|
+
keyRange[key] = range = {
|
9589
|
+
type: "literal",
|
9590
|
+
text: escapedKey + separator + escapedVal
|
9591
|
+
};
|
9592
|
+
|
9593
|
+
var prevRange = ranges[ranges.length - 1];
|
9594
|
+
if(prevRange != null && !isNewLineRange(prevRange)) {
|
9595
|
+
ranges.push({ type: "literal", text: "\n" });
|
9596
|
+
}
|
9597
|
+
ranges.push(range);
|
9598
|
+
}
|
9599
|
+
|
9600
|
+
// comment === null deletes comment. if comment === undefined, it's left alone
|
9601
|
+
if(comment !== undefined) {
|
9602
|
+
range.comment = comment && "# " + comment.replace(/\n/g, "\n# ") + "\n";
|
9603
|
+
}
|
9604
|
+
|
9605
|
+
if(range.type === "literal") {
|
9606
|
+
range.text = escapedKey + separator + escapedVal;
|
9607
|
+
if(range.comment != null) { range.text = range.comment + range.text; }
|
9608
|
+
} else if(range.type === "key-value") {
|
9609
|
+
range.children[2] = { type: "literal", text: escapedVal };
|
9610
|
+
} else {
|
9611
|
+
throw "Unknown node type: " + range.type;
|
9612
|
+
}
|
9613
|
+
};
|
9614
|
+
this.unset = function(key) {
|
9615
|
+
if(!(key in obj)) { return; }
|
9616
|
+
|
9617
|
+
var range = keyRange[key];
|
9618
|
+
var idx = ranges.indexOf(range);
|
9619
|
+
|
9620
|
+
ranges.splice(idx, (isNewLineRange(ranges[idx + 1]) ? 2 : 1));
|
9621
|
+
|
9622
|
+
delete keyRange[key];
|
9623
|
+
delete obj[key];
|
9624
|
+
};
|
9625
|
+
this.valueOf = this.toString = function() {
|
9626
|
+
var buffer = [], stack = [].concat(ranges);
|
9627
|
+
|
9628
|
+
var node;
|
9629
|
+
while((node = stack.shift()) != null) {
|
9630
|
+
switch(node.type) {
|
9631
|
+
case "literal":
|
9632
|
+
buffer.push(node.text);
|
9633
|
+
break;
|
9634
|
+
case "key":
|
9635
|
+
case "value":
|
9636
|
+
case "comment":
|
9637
|
+
case "whitespace":
|
9638
|
+
case "key-value-separator":
|
9639
|
+
case "escaped-value":
|
9640
|
+
case "line-break":
|
9641
|
+
buffer.push(text.substring(node.start, node.end));
|
9642
|
+
break;
|
9643
|
+
case "key-value":
|
9644
|
+
Array.prototype.unshift.apply(stack, node.children);
|
9645
|
+
if(node.comment) { stack.unshift({ type: "literal", text: node.comment }); }
|
9646
|
+
break;
|
9647
|
+
}
|
9648
|
+
}
|
9649
|
+
|
9650
|
+
return buffer.join("");
|
9651
|
+
};
|
9652
|
+
this.save = function(newPath, callback) {
|
9653
|
+
if(typeof newPath === 'function') {
|
9654
|
+
callback = newPath;
|
9655
|
+
newPath = path;
|
9656
|
+
}
|
9657
|
+
newPath = newPath || path;
|
9658
|
+
|
9659
|
+
if(!newPath) {
|
9660
|
+
if (callback) {
|
9661
|
+
return callback("Unknown path");
|
9662
|
+
}
|
9663
|
+
throw new Error("Unknown path");
|
9664
|
+
}
|
9665
|
+
|
9666
|
+
if (callback) {
|
9667
|
+
fs.writeFile(newPath, this.toString(), callback);
|
9668
|
+
} else {
|
9669
|
+
fs.writeFileSync(newPath, this.toString());
|
9670
|
+
}
|
9671
|
+
|
9672
|
+
};
|
9673
|
+
}
|
9674
|
+
function createEditor(/*path, options, callback*/) {
|
9675
|
+
var path, options, callback;
|
9676
|
+
var args = Array.prototype.slice.call(arguments);
|
9677
|
+
for (var i = 0; i < args.length; i ++) {
|
9678
|
+
var arg = args[i];
|
9679
|
+
if (!path && typeof arg === 'string') {
|
9680
|
+
path = arg;
|
9681
|
+
} else if (!options && typeof arg === 'object') {
|
9682
|
+
options = arg;
|
9683
|
+
} else if (!callback && typeof arg === 'function') {
|
9684
|
+
callback = arg;
|
9685
|
+
}
|
9686
|
+
}
|
9687
|
+
options = options || {};
|
9688
|
+
path = path || options.path;
|
9689
|
+
callback = callback || options.callback;
|
9690
|
+
options.path = path;
|
9691
|
+
|
9692
|
+
if(!path) { return new Editor(options); }
|
9693
|
+
|
9694
|
+
if(!callback) { return new Editor(fs.readFileSync(path).toString(), options); }
|
9695
|
+
|
9696
|
+
return fs.readFile(path, function(err, text) {
|
9697
|
+
if(err) { return callback(err, null); }
|
9698
|
+
|
9699
|
+
text = text.toString();
|
9700
|
+
return callback(null, new Editor(text, options));
|
9701
|
+
});
|
9702
|
+
}
|
9703
|
+
|
9704
|
+
function parse(text) {
|
9705
|
+
text = text.toString();
|
9706
|
+
var ranges = stringToRanges(text);
|
9707
|
+
return rangesToObject(ranges, text);
|
9708
|
+
}
|
9709
|
+
|
9710
|
+
function read(path, callback) {
|
9711
|
+
if(!callback) { return parse(fs.readFileSync(path)); }
|
9712
|
+
|
9713
|
+
return fs.readFile(path, function(err, data) {
|
9714
|
+
if(err) { return callback(err, null); }
|
9715
|
+
|
9716
|
+
return callback(null, parse(data));
|
9717
|
+
});
|
9718
|
+
}
|
9719
|
+
|
9720
|
+
module.exports = { parse: parse, read: read, createEditor: createEditor };
|
9721
|
+
|
9722
|
+
|
9295
9723
|
/***/ }),
|
9296
9724
|
|
9297
9725
|
/***/ 11346:
|
@@ -22663,6 +23091,67 @@ exports.SourceMapConsumer = __webpack_require__(75155).SourceMapConsumer;
|
|
22663
23091
|
exports.SourceNode = __webpack_require__(92616).SourceNode;
|
22664
23092
|
|
22665
23093
|
|
23094
|
+
/***/ }),
|
23095
|
+
|
23096
|
+
/***/ 21360:
|
23097
|
+
/***/ (() => {
|
23098
|
+
|
23099
|
+
/*! https://mths.be/codepointat v0.2.0 by @mathias */
|
23100
|
+
if (!String.prototype.codePointAt) {
|
23101
|
+
(function() {
|
23102
|
+
'use strict'; // needed to support `apply`/`call` with `undefined`/`null`
|
23103
|
+
var defineProperty = (function() {
|
23104
|
+
// IE 8 only supports `Object.defineProperty` on DOM elements
|
23105
|
+
try {
|
23106
|
+
var object = {};
|
23107
|
+
var $defineProperty = Object.defineProperty;
|
23108
|
+
var result = $defineProperty(object, object, object) && $defineProperty;
|
23109
|
+
} catch(error) {}
|
23110
|
+
return result;
|
23111
|
+
}());
|
23112
|
+
var codePointAt = function(position) {
|
23113
|
+
if (this == null) {
|
23114
|
+
throw TypeError();
|
23115
|
+
}
|
23116
|
+
var string = String(this);
|
23117
|
+
var size = string.length;
|
23118
|
+
// `ToInteger`
|
23119
|
+
var index = position ? Number(position) : 0;
|
23120
|
+
if (index != index) { // better `isNaN`
|
23121
|
+
index = 0;
|
23122
|
+
}
|
23123
|
+
// Account for out-of-bounds indices:
|
23124
|
+
if (index < 0 || index >= size) {
|
23125
|
+
return undefined;
|
23126
|
+
}
|
23127
|
+
// Get the first code unit
|
23128
|
+
var first = string.charCodeAt(index);
|
23129
|
+
var second;
|
23130
|
+
if ( // check if it’s the start of a surrogate pair
|
23131
|
+
first >= 0xD800 && first <= 0xDBFF && // high surrogate
|
23132
|
+
size > index + 1 // there is a next code unit
|
23133
|
+
) {
|
23134
|
+
second = string.charCodeAt(index + 1);
|
23135
|
+
if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate
|
23136
|
+
// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
23137
|
+
return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
23138
|
+
}
|
23139
|
+
}
|
23140
|
+
return first;
|
23141
|
+
};
|
23142
|
+
if (defineProperty) {
|
23143
|
+
defineProperty(String.prototype, 'codePointAt', {
|
23144
|
+
'value': codePointAt,
|
23145
|
+
'configurable': true,
|
23146
|
+
'writable': true
|
23147
|
+
});
|
23148
|
+
} else {
|
23149
|
+
String.prototype.codePointAt = codePointAt;
|
23150
|
+
}
|
23151
|
+
}());
|
23152
|
+
}
|
23153
|
+
|
23154
|
+
|
22666
23155
|
/***/ }),
|
22667
23156
|
|
22668
23157
|
/***/ 19049:
|
package/bin/main.js
CHANGED
@@ -11312,7 +11312,7 @@ program
|
|
11312
11312
|
.task({
|
11313
11313
|
skip,
|
11314
11314
|
handler: async (cliCommandOptions) => {
|
11315
|
-
const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(941), __nccwpck_require__.e(
|
11315
|
+
const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(941), __nccwpck_require__.e(860), __nccwpck_require__.e(31), __nccwpck_require__.e(499)]).then(__nccwpck_require__.bind(__nccwpck_require__, 70499));
|
11316
11316
|
await command({ cliCommandOptions });
|
11317
11317
|
}
|
11318
11318
|
});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "11.0
|
3
|
+
"version": "11.1.0",
|
4
4
|
"description": "Framework to create custom Keycloak UIs",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -981,7 +981,6 @@
|
|
981
981
|
"bin/main.js",
|
982
982
|
"bin/193.index.js",
|
983
983
|
"bin/20.index.js",
|
984
|
-
"bin/246.index.js",
|
985
984
|
"bin/266.index.js",
|
986
985
|
"bin/304.index.js",
|
987
986
|
"bin/31.index.js",
|
@@ -995,6 +994,7 @@
|
|
995
994
|
"bin/743.index.js",
|
996
995
|
"bin/780.index.js",
|
997
996
|
"bin/786.index.js",
|
997
|
+
"bin/860.index.js",
|
998
998
|
"bin/877.index.js",
|
999
999
|
"bin/903.index.js",
|
1000
1000
|
"bin/932.index.js",
|
@@ -1040,6 +1040,7 @@
|
|
1040
1040
|
"@babel/core": "^7.24.5",
|
1041
1041
|
"@babel/generator": "^7.24.5",
|
1042
1042
|
"@babel/parser": "^7.24.5",
|
1043
|
+
"@babel/preset-env": "7.24.8",
|
1043
1044
|
"@babel/types": "^7.24.5",
|
1044
1045
|
"@emotion/react": "^11.11.4",
|
1045
1046
|
"@octokit/rest": "^20.1.1",
|
@@ -1047,20 +1048,27 @@
|
|
1047
1048
|
"@storybook/builder-webpack5": "^6.5.13",
|
1048
1049
|
"@storybook/manager-webpack5": "^6.5.13",
|
1049
1050
|
"@storybook/react": "^6.5.13",
|
1050
|
-
"eslint-plugin-storybook": "^0.6.7",
|
1051
1051
|
"@types/babel__generator": "^7.6.4",
|
1052
|
+
"@types/dompurify": "^2.0.0",
|
1052
1053
|
"@types/make-fetch-happen": "^10.0.1",
|
1053
1054
|
"@types/minimist": "^1.2.2",
|
1054
1055
|
"@types/node": "^18.15.3",
|
1056
|
+
"@types/properties-parser": "^0.3.3",
|
1055
1057
|
"@types/react": "^18.0.35",
|
1056
1058
|
"@types/react-dom": "^18.0.11",
|
1057
1059
|
"@types/yauzl": "^2.10.3",
|
1058
1060
|
"@vercel/ncc": "^0.38.1",
|
1061
|
+
"babel-loader": "9.1.3",
|
1059
1062
|
"chalk": "^4.1.2",
|
1060
1063
|
"cheerio": "1.0.0-rc.12",
|
1061
1064
|
"chokidar-cli": "^3.0.0",
|
1062
1065
|
"cli-select": "^1.1.2",
|
1066
|
+
"dompurify": "^3.1.6",
|
1067
|
+
"eslint-plugin-storybook": "^0.6.7",
|
1068
|
+
"evt": "^2.5.7",
|
1069
|
+
"html-entities": "^2.5.2",
|
1063
1070
|
"husky": "^4.3.8",
|
1071
|
+
"isomorphic-dompurify": "^2.15.0",
|
1064
1072
|
"lint-staged": "^11.0.0",
|
1065
1073
|
"magic-string": "^0.30.7",
|
1066
1074
|
"make-fetch-happen": "^11.0.3",
|
@@ -1075,20 +1083,13 @@
|
|
1075
1083
|
"termost": "^v0.12.1",
|
1076
1084
|
"tsc-alias": "^1.8.10",
|
1077
1085
|
"tss-react": "^4.9.10",
|
1086
|
+
"tsx": "^4.15.5",
|
1078
1087
|
"typescript": "^4.9.4",
|
1079
1088
|
"vite": "^5.2.11",
|
1080
1089
|
"vitest": "^1.6.0",
|
1081
|
-
"yauzl": "^2.10.0",
|
1082
|
-
"zod": "^3.17.10",
|
1083
|
-
"evt": "^2.5.7",
|
1084
|
-
"tsx": "^4.15.5",
|
1085
|
-
"html-entities": "^2.5.2",
|
1086
|
-
"isomorphic-dompurify": "^2.15.0",
|
1087
|
-
"dompurify": "^3.1.6",
|
1088
|
-
"@types/dompurify": "^2.0.0",
|
1089
1090
|
"webpack": "5.93.0",
|
1090
1091
|
"webpack-cli": "5.1.4",
|
1091
|
-
"
|
1092
|
-
"
|
1092
|
+
"yauzl": "^2.10.0",
|
1093
|
+
"zod": "^3.17.10"
|
1093
1094
|
}
|
1094
1095
|
}
|
@@ -31,6 +31,7 @@ import { objectEntries } from "tsafe/objectEntries";
|
|
31
31
|
import { escapeStringForPropertiesFile } from "../../tools/escapeStringForPropertiesFile";
|
32
32
|
import * as child_process from "child_process";
|
33
33
|
import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath";
|
34
|
+
import propertiesParser from "properties-parser";
|
34
35
|
|
35
36
|
export type BuildContextLike = BuildContextLike_kcContextExclusionsFtlCode &
|
36
37
|
BuildContextLike_generateMessageProperties & {
|
@@ -239,21 +240,73 @@ export async function generateResourcesForMainTheme(params: {
|
|
239
240
|
.toString("utf8")
|
240
241
|
.trim();
|
241
242
|
|
242
|
-
const
|
243
|
+
const messageDirPath_defaults = pathJoin(accountUiDirPath, "messages");
|
243
244
|
|
244
|
-
if (!fs.existsSync(
|
245
|
+
if (!fs.existsSync(messageDirPath_defaults)) {
|
245
246
|
throw new Error(
|
246
247
|
`Please update @keycloakify/keycloak-account-ui to 25.0.4-rc.5 or later.`
|
247
248
|
);
|
248
249
|
}
|
249
250
|
|
251
|
+
const messagesDirPath_dest = pathJoin(
|
252
|
+
getThemeTypeDirPath({ themeType: "account" }),
|
253
|
+
"messages"
|
254
|
+
);
|
255
|
+
|
250
256
|
transformCodebase({
|
251
|
-
srcDirPath:
|
252
|
-
destDirPath:
|
253
|
-
getThemeTypeDirPath({ themeType: "account" }),
|
254
|
-
"messages"
|
255
|
-
)
|
257
|
+
srcDirPath: messageDirPath_defaults,
|
258
|
+
destDirPath: messagesDirPath_dest
|
256
259
|
});
|
260
|
+
|
261
|
+
apply_theme_changes: {
|
262
|
+
const messagesDirPath_theme = pathJoin(
|
263
|
+
buildContext.themeSrcDirPath,
|
264
|
+
"account",
|
265
|
+
"messages"
|
266
|
+
);
|
267
|
+
|
268
|
+
if (!fs.existsSync(messagesDirPath_theme)) {
|
269
|
+
break apply_theme_changes;
|
270
|
+
}
|
271
|
+
|
272
|
+
fs.readdirSync(messagesDirPath_theme).forEach(basename => {
|
273
|
+
const filePath_src = pathJoin(messagesDirPath_theme, basename);
|
274
|
+
const filePath_dest = pathJoin(messagesDirPath_dest, basename);
|
275
|
+
|
276
|
+
if (!fs.existsSync(filePath_dest)) {
|
277
|
+
fs.cpSync(filePath_src, filePath_dest);
|
278
|
+
}
|
279
|
+
|
280
|
+
const messages_src = propertiesParser.parse(
|
281
|
+
fs.readFileSync(filePath_src).toString("utf8")
|
282
|
+
);
|
283
|
+
const messages_dest = propertiesParser.parse(
|
284
|
+
fs.readFileSync(filePath_dest).toString("utf8")
|
285
|
+
);
|
286
|
+
|
287
|
+
const messages = {
|
288
|
+
...messages_dest,
|
289
|
+
...messages_src
|
290
|
+
};
|
291
|
+
|
292
|
+
const editor = propertiesParser.createEditor();
|
293
|
+
|
294
|
+
Object.entries(messages).forEach(([key, value]) => {
|
295
|
+
editor.set(key, value);
|
296
|
+
});
|
297
|
+
|
298
|
+
fs.writeFileSync(
|
299
|
+
filePath_dest,
|
300
|
+
Buffer.from(editor.toString(), "utf8")
|
301
|
+
);
|
302
|
+
});
|
303
|
+
}
|
304
|
+
|
305
|
+
languageTags = fs
|
306
|
+
.readdirSync(messagesDirPath_dest)
|
307
|
+
.map(basename =>
|
308
|
+
basename.replace(/^messages_/, "").replace(/\.properties$/, "")
|
309
|
+
);
|
257
310
|
}
|
258
311
|
|
259
312
|
keycloak_static_resources: {
|