keycloakify
Version:
Framework to create custom Keycloak UIs
119 lines (105 loc) • 6.5 kB
JavaScript
;
exports.id = 656;
exports.ids = [656];
exports.modules = {
/***/ 98656:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "initializeSpa": () => (/* binding */ initializeSpa)
/* harmony export */ });
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71017);
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57147);
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29041);
/* harmony import */ var tsafe_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38469);
/* harmony import */ var _addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80339);
/* harmony import */ var _tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(48433);
/* harmony import */ var _tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63046);
/* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32081);
/* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52300);
/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78818);
/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_7__);
(0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)();
async function initializeSpa(params) {
var _a;
const { themeType, buildContext } = params;
{
const themeTypeSrcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_0__.join)(buildContext.themeSrcDirPath, themeType);
if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(themeTypeSrcDirPath) &&
fs__WEBPACK_IMPORTED_MODULE_1__.readdirSync(themeTypeSrcDirPath).length > 0) {
console.warn(chalk__WEBPACK_IMPORTED_MODULE_7___default().red(`There is already a ${(0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(process.cwd(), themeTypeSrcDirPath)} directory in your project. Aborting.`));
process.exit(-1);
}
}
const parsedPackageJson = (() => {
const zParsedPackageJson = (() => {
const zTargetType = zod__WEBPACK_IMPORTED_MODULE_8__.z.object({
scripts: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
dependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional(),
devDependencies: zod__WEBPACK_IMPORTED_MODULE_8__.z.record(zod__WEBPACK_IMPORTED_MODULE_8__.z.union([zod__WEBPACK_IMPORTED_MODULE_8__.z.string(), zod__WEBPACK_IMPORTED_MODULE_8__.z.undefined()])).optional()
});
tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h;
return (0,tsafe_id__WEBPACK_IMPORTED_MODULE_9__.id)(zTargetType);
})();
const parsedPackageJson = JSON.parse(fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(buildContext.packageJsonFilePath).toString("utf8"));
zParsedPackageJson.parse(parsedPackageJson);
(0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)((0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__.is)(parsedPackageJson));
return parsedPackageJson;
})();
(0,_addSyncExtensionsToPostinstallScript__WEBPACK_IMPORTED_MODULE_3__/* .addSyncExtensionsToPostinstallScript */ .N)({
parsedPackageJson,
buildContext
});
const uiSharedMajor = (() => {
const dependencies = Object.assign(Object.assign({}, parsedPackageJson.devDependencies), parsedPackageJson.dependencies);
const version = dependencies["@keycloakify/keycloak-ui-shared"];
if (version === undefined) {
return undefined;
}
const match = version.match(/^[^~]?(\d+)\./);
if (match === null) {
return undefined;
}
return match[1];
})();
const moduleName = `@keycloakify/keycloak-${themeType}-ui`;
const version = (() => {
const cmdOutput = child_process__WEBPACK_IMPORTED_MODULE_6__.execSync(`npm show ${moduleName} versions --json`)
.toString("utf8")
.trim();
const versions = JSON.parse(cmdOutput);
// NOTE: Bug in some older npm versions
if (typeof versions === "string") {
return [versions];
}
return versions;
})()
.reverse()
.filter(version => !version.includes("-"))
.find(version => uiSharedMajor === undefined ? true : version.startsWith(`${uiSharedMajor}.`));
(0,tsafe_assert__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .h)(version !== undefined);
((_a = parsedPackageJson.dependencies) !== null && _a !== void 0 ? _a : (parsedPackageJson.dependencies = {}))[moduleName] = `~${version}`;
if (parsedPackageJson.devDependencies !== undefined) {
delete parsedPackageJson.devDependencies[moduleName];
}
{
let sourceCode = JSON.stringify(parsedPackageJson, undefined, 2);
if (await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .getIsPrettierAvailable */ .MT)()) {
sourceCode = await (0,_tools_runPrettier__WEBPACK_IMPORTED_MODULE_4__/* .runPrettier */ .eY)({
sourceCode,
filePath: buildContext.packageJsonFilePath
});
}
fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(buildContext.packageJsonFilePath, Buffer.from(sourceCode, "utf8"));
}
await (0,_tools_npmInstall__WEBPACK_IMPORTED_MODULE_5__/* .npmInstall */ .c)({
packageJsonDirPath: (0,path__WEBPACK_IMPORTED_MODULE_0__.dirname)(buildContext.packageJsonFilePath)
});
}
//# sourceMappingURL=initializeSpa.js.map
/***/ })
};
;