keycloakify 10.0.0-rc.23 → 10.0.0-rc.24
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/PUBLIC_URL.d.ts +1 -1
- package/PUBLIC_URL.js +1 -1
- package/PUBLIC_URL.js.map +1 -1
- package/account/Fallback.js.map +1 -1
- package/account/Template.js +3 -3
- package/account/Template.js.map +1 -1
- package/account/i18n/baseMessages/index.js.map +1 -1
- package/account/i18n/i18n.js.map +1 -1
- package/account/index.d.ts +2 -2
- package/account/index.js +1 -2
- package/account/index.js.map +1 -1
- package/account/kcContext/KcContext.d.ts +12 -0
- package/account/kcContext/KcContext.js.map +1 -1
- package/account/kcContext/getKcContextMock.d.ts +24 -0
- package/account/kcContext/getKcContextMock.js +28 -0
- package/account/kcContext/getKcContextMock.js.map +1 -0
- package/account/kcContext/index.d.ts +2 -1
- package/account/kcContext/index.js +1 -1
- package/account/kcContext/index.js.map +1 -1
- package/account/kcContext/kcContextMocks.js +23 -91
- package/account/kcContext/kcContextMocks.js.map +1 -1
- package/account/pages/Account.js +1 -1
- package/account/pages/Account.js.map +1 -1
- package/account/pages/Applications.js +2 -2
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.js +1 -1
- package/account/pages/FederatedIdentity.js.map +1 -1
- package/account/pages/Log.js +1 -1
- package/account/pages/Log.js.map +1 -1
- package/account/pages/Password.js +6 -4
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.js +1 -1
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.js +1 -1
- package/account/pages/Totp.js.map +1 -1
- package/bin/main.js +152 -162
- package/lib/BASE_URL.js.map +1 -1
- package/login/Fallback.js.map +1 -1
- package/login/Template.js +7 -7
- package/login/Template.js.map +1 -1
- package/login/UserProfileFormFields.js +24 -68
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/baseMessages/index.js.map +1 -1
- package/login/i18n/i18n.js.map +1 -1
- package/login/index.d.ts +2 -3
- package/login/index.js +1 -2
- package/login/index.js.map +1 -1
- package/login/kcContext/KcContext.d.ts +23 -12
- package/login/kcContext/KcContext.js.map +1 -1
- package/login/kcContext/getKcContextMock.d.ts +24 -0
- package/login/kcContext/getKcContextMock.js +28 -0
- package/login/kcContext/getKcContextMock.js.map +1 -0
- package/login/kcContext/index.d.ts +2 -1
- package/login/kcContext/index.js +1 -1
- package/login/kcContext/index.js.map +1 -1
- package/login/kcContext/kcContextMocks.js +32 -99
- package/login/kcContext/kcContextMocks.js.map +1 -1
- package/login/lib/useDownloadTerms.js +8 -14
- package/login/lib/useDownloadTerms.js.map +1 -1
- package/login/lib/useGetClassName.js +1 -1
- package/login/lib/useGetClassName.js.map +1 -1
- package/login/lib/useUserProfileForm.d.ts +9 -1
- package/login/lib/useUserProfileForm.js +94 -15
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.js +1 -1
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.js +2 -2
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.js +1 -1
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.js +1 -1
- package/login/pages/Error.js.map +1 -1
- package/login/pages/FrontchannelLogout.js +1 -1
- package/login/pages/FrontchannelLogout.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.js +1 -1
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/Info.js +5 -5
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.js +4 -4
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.js +2 -2
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.js +1 -1
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.js +1 -1
- package/login/pages/LoginIdpLinkEmail.js.map +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.js +2 -2
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.js +1 -1
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.js +1 -1
- package/login/pages/LoginPageExpired.js.map +1 -1
- package/login/pages/LoginPassword.js +3 -3
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.js +10 -10
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.js +1 -1
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.js +2 -2
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.js +3 -3
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.js +4 -2
- package/login/pages/LoginUpdateProfile.js.map +1 -1
- package/login/pages/LoginUsername.js +3 -3
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.js +1 -1
- package/login/pages/LoginVerifyEmail.js.map +1 -1
- package/login/pages/LoginX509Info.js +1 -1
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.js +1 -1
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/Register.js +8 -4
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.js +1 -1
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.js +2 -2
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.js +1 -1
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.js +5 -3
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.js +8 -8
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.js +2 -2
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.js +5 -5
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +26 -38
- package/src/PUBLIC_URL.ts +1 -1
- package/src/account/Template.tsx +2 -3
- package/src/account/index.ts +2 -2
- package/src/account/kcContext/KcContext.ts +19 -1
- package/src/account/kcContext/getKcContextMock.ts +80 -0
- package/src/account/kcContext/index.ts +2 -1
- package/src/account/kcContext/kcContextMocks.ts +26 -91
- package/src/bin/copy-keycloak-resources-to-public.ts +1 -4
- package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +4 -6
- package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +25 -25
- package/src/login/Template.tsx +4 -5
- package/src/login/UserProfileFormFields.tsx +28 -80
- package/src/login/index.ts +6 -3
- package/src/login/kcContext/KcContext.ts +41 -27
- package/src/login/kcContext/getKcContextMock.ts +80 -0
- package/src/login/kcContext/index.ts +7 -1
- package/src/login/kcContext/kcContextMocks.ts +95 -156
- package/src/login/lib/useDownloadTerms.ts +10 -24
- package/src/login/lib/useGetClassName.ts +1 -1
- package/src/login/lib/useUserProfileForm.tsx +117 -13
- package/src/login/pages/LoginConfigTotp.tsx +1 -1
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +7 -8
- package/src/login/pages/WebauthnAuthenticate.tsx +2 -3
- package/src/login/pages/WebauthnRegister.tsx +2 -3
- package/src/tools/ExtractAfterStartingWith.ts +4 -0
- package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +4 -4
- package/src/tools/ValueOf.ts +2 -0
- package/src/tools/deepAssign.ts +51 -20
- package/src/tools/structuredCloneButFunctions.ts +24 -0
- package/src/tools/useInsertLinkTags.ts +78 -87
- package/src/tools/useInsertScriptTags.ts +69 -78
- package/src/tools/useOnFirstMount.ts +18 -0
- package/tools/Array.prototype.every.js.map +1 -1
- package/tools/ExtractAfterStartingWith.d.ts +1 -0
- package/tools/ExtractAfterStartingWith.js +2 -0
- package/tools/ExtractAfterStartingWith.js.map +1 -0
- package/tools/HTMLElement.prototype.prepend.js.map +1 -1
- package/tools/StatefulObservable/StatefulObservable.js.map +1 -1
- package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +1 -1
- package/tools/StatefulObservable/hooks/useRerenderOnChange.js +4 -4
- package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -1
- package/tools/ValueOf.d.ts +2 -0
- package/tools/ValueOf.js +2 -0
- package/tools/ValueOf.js.map +1 -0
- package/tools/clsx.js.map +1 -1
- package/tools/deepAssign.d.ts +1 -0
- package/tools/deepAssign.js +39 -16
- package/tools/deepAssign.js.map +1 -1
- package/tools/formatNumber.js.map +1 -1
- package/tools/structuredCloneButFunctions.d.ts +7 -0
- package/tools/structuredCloneButFunctions.js +19 -0
- package/tools/structuredCloneButFunctions.js.map +1 -0
- package/tools/useInsertLinkTags.d.ts +11 -6
- package/tools/useInsertLinkTags.js +53 -53
- package/tools/useInsertLinkTags.js.map +1 -1
- package/tools/useInsertScriptTags.d.ts +15 -6
- package/tools/useInsertScriptTags.js +56 -64
- package/tools/useInsertScriptTags.js.map +1 -1
- package/tools/useOnFirstMount.d.ts +2 -0
- package/tools/useOnFirstMount.js +15 -0
- package/tools/useOnFirstMount.js.map +1 -0
- package/tools/useSetClassName.js.map +1 -1
- package/vite-plugin/index.js +66 -64
- package/account/kcContext/createGetKcContext.d.ts +0 -19
- package/account/kcContext/createGetKcContext.js +0 -78
- package/account/kcContext/createGetKcContext.js.map +0 -1
- package/account/kcContext/getKcContext.d.ts +0 -13
- package/account/kcContext/getKcContext.js +0 -13
- package/account/kcContext/getKcContext.js.map +0 -1
- package/account/kcContext/getKcContextFromWindow.d.ts +0 -10
- package/account/kcContext/getKcContextFromWindow.js +0 -5
- package/account/kcContext/getKcContextFromWindow.js.map +0 -1
- package/login/kcContext/createGetKcContext.d.ts +0 -19
- package/login/kcContext/createGetKcContext.js +0 -114
- package/login/kcContext/createGetKcContext.js.map +0 -1
- package/login/kcContext/getKcContext.d.ts +0 -13
- package/login/kcContext/getKcContext.js +0 -13
- package/login/kcContext/getKcContext.js.map +0 -1
- package/login/kcContext/getKcContextFromWindow.d.ts +0 -10
- package/login/kcContext/getKcContextFromWindow.js +0 -5
- package/login/kcContext/getKcContextFromWindow.js.map +0 -1
- package/src/account/kcContext/createGetKcContext.ts +0 -134
- package/src/account/kcContext/getKcContext.ts +0 -23
- package/src/account/kcContext/getKcContextFromWindow.ts +0 -15
- package/src/login/kcContext/createGetKcContext.ts +0 -199
- package/src/login/kcContext/getKcContext.ts +0 -23
- package/src/login/kcContext/getKcContextFromWindow.ts +0 -15
- package/src/tools/AndByDiscriminatingKey.ts +0 -31
- package/src/tools/deepClone.ts +0 -19
- package/src/tools/memoize.ts +0 -55
- package/tools/AndByDiscriminatingKey.d.ts +0 -5
- package/tools/AndByDiscriminatingKey.js +0 -2
- package/tools/AndByDiscriminatingKey.js.map +0 -1
- package/tools/deepClone.d.ts +0 -2
- package/tools/deepClone.js +0 -14
- package/tools/deepClone.js.map +0 -1
- package/tools/memoize.d.ts +0 -7
- package/tools/memoize.js +0 -38
- package/tools/memoize.js.map +0 -1
@@ -1,58 +1,58 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
1
|
+
import { useEffect, useReducer } from "react";
|
2
|
+
import { useConst } from "../tools/useConst";
|
3
|
+
import { id } from "tsafe/id";
|
4
|
+
import { useOnFistMount } from "../tools/useOnFirstMount";
|
5
|
+
const alreadyMountedComponentOrHookNames = new Set();
|
6
|
+
/**
|
7
|
+
* NOTE: The component that use this hook can only be mounded once!
|
8
|
+
* And can't rerender with different hrefs.
|
9
|
+
* If it's mounted again the page will be reloaded.
|
10
|
+
* This simulates the behavior of a server rendered page that imports css stylesheet in the head.
|
11
|
+
*/
|
12
|
+
export function useInsertLinkTags(params) {
|
13
|
+
const { hrefs, componentOrHookName } = params;
|
14
|
+
useOnFistMount(() => {
|
15
|
+
const isAlreadyMounted = alreadyMountedComponentOrHookNames.has(componentOrHookName);
|
16
|
+
if (isAlreadyMounted) {
|
17
|
+
window.location.reload();
|
18
|
+
return;
|
19
|
+
}
|
20
|
+
alreadyMountedComponentOrHookNames.add(componentOrHookName);
|
21
|
+
});
|
22
|
+
const [areAllStyleSheetsLoaded, setAllStyleSheetsLoaded] = useReducer(() => true, false);
|
23
|
+
const refPrAllStyleSheetLoaded = useConst(() => ({
|
24
|
+
current: id(undefined)
|
25
|
+
}));
|
26
|
+
useEffect(() => {
|
27
|
+
var _a;
|
28
|
+
let isActive = true;
|
29
|
+
((_a = refPrAllStyleSheetLoaded.current) !== null && _a !== void 0 ? _a : (refPrAllStyleSheetLoaded.current = (async () => {
|
30
|
+
let lastMountedHtmlElement = undefined;
|
31
|
+
const prs = [];
|
32
|
+
for (const href of hrefs) {
|
33
|
+
const htmlElement = document.createElement("link");
|
34
|
+
prs.push(new Promise(resolve => htmlElement.addEventListener("load", () => resolve())));
|
35
|
+
htmlElement.rel = "stylesheet";
|
36
|
+
htmlElement.href = href;
|
37
|
+
if (lastMountedHtmlElement !== undefined) {
|
38
|
+
lastMountedHtmlElement.insertAdjacentElement("afterend", htmlElement);
|
18
39
|
}
|
19
|
-
|
20
|
-
|
21
|
-
const removeFns = [];
|
22
|
-
for (const href of hrefs) {
|
23
|
-
const htmlElement = document.createElement("link");
|
24
|
-
prs.push(new Promise(resolve => htmlElement.addEventListener("load", () => resolve())));
|
25
|
-
htmlElement.rel = "stylesheet";
|
26
|
-
htmlElement.href = href;
|
27
|
-
if (lastMountedHtmlElement !== undefined) {
|
28
|
-
lastMountedHtmlElement.insertAdjacentElement("afterend", htmlElement);
|
29
|
-
}
|
30
|
-
else {
|
31
|
-
document.head.prepend(htmlElement);
|
32
|
-
}
|
33
|
-
removeFns.push(() => {
|
34
|
-
htmlElement.remove();
|
35
|
-
});
|
36
|
-
lastMountedHtmlElement = htmlElement;
|
40
|
+
else {
|
41
|
+
document.head.prepend(htmlElement);
|
37
42
|
}
|
38
|
-
|
39
|
-
styleSheetHrefs: hrefs,
|
40
|
-
prAreAllStyleSheetsLoaded: Promise.all(prs).then(() => undefined),
|
41
|
-
remove: () => removeFns.forEach(fn => fn())
|
42
|
-
};
|
43
|
+
lastMountedHtmlElement = htmlElement;
|
43
44
|
}
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
}
|
54
|
-
|
55
|
-
}
|
56
|
-
return { useInsertLinkTags };
|
45
|
+
await Promise.all(prs);
|
46
|
+
})())).then(() => {
|
47
|
+
if (!isActive) {
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
setAllStyleSheetsLoaded();
|
51
|
+
});
|
52
|
+
return () => {
|
53
|
+
isActive = false;
|
54
|
+
};
|
55
|
+
}, []);
|
56
|
+
return { areAllStyleSheetsLoaded };
|
57
57
|
}
|
58
58
|
//# sourceMappingURL=useInsertLinkTags.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useInsertLinkTags.js","sourceRoot":"","sources":["../src/tools/useInsertLinkTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"useInsertLinkTags.js","sourceRoot":"","sources":["../src/tools/useInsertLinkTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,kCAAkC,GAAG,IAAI,GAAG,EAAU,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAGjC;IACG,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;IAE9C,cAAc,CAAC,GAAG,EAAE;QAChB,MAAM,gBAAgB,GAClB,kCAAkC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEhE,IAAI,gBAAgB,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO;SACV;QAED,kCAAkC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,GAAG,UAAU,CACjE,GAAG,EAAE,CAAC,IAAI,EACV,KAAK,CACR,CAAC;IAEF,MAAM,wBAAwB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,EAAE,CAA4B,SAAS,CAAC;KACpD,CAAC,CAAC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE;;QACX,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,OAAC,wBAAwB,CAAC,OAAO,oCAAhC,wBAAwB,CAAC,OAAO,GAAK,CAAC,KAAK,IAAI,EAAE;YAC9C,IAAI,sBAAsB,GAAgC,SAAS,CAAC;YAEpE,MAAM,GAAG,GAAoB,EAAE,CAAC;YAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAEnD,GAAG,CAAC,IAAI,CACJ,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CACxB,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CACxD,CACJ,CAAC;gBAEF,WAAW,CAAC,GAAG,GAAG,YAAY,CAAC;gBAE/B,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;gBAExB,IAAI,sBAAsB,KAAK,SAAS,EAAE;oBACtC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;iBACzE;qBAAM;oBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;iBACtC;gBAED,sBAAsB,GAAG,WAAW,CAAC;aACxC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,EAAE,EAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAO;aACV;YAED,uBAAuB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACR,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACvC,CAAC"}
|
@@ -11,10 +11,19 @@ export declare namespace ScriptTag {
|
|
11
11
|
};
|
12
12
|
export {};
|
13
13
|
}
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
/**
|
15
|
+
* NOTE: The component that use this hook can only be mounded once!
|
16
|
+
* And can't rerender with different scriptTags.
|
17
|
+
* If it's mounted again the page will be reloaded.
|
18
|
+
* This simulates the behavior of a server rendered page that imports javascript in the head.
|
19
|
+
*
|
20
|
+
* The returned function is supposed to be called in a useEffect and
|
21
|
+
* will not download the scripts multiple times event if called more than once (react strict mode).
|
22
|
+
*
|
23
|
+
*/
|
24
|
+
export declare function useInsertScriptTags(params: {
|
25
|
+
componentOrHookName: string;
|
26
|
+
scriptTags: ScriptTag[];
|
27
|
+
}): {
|
28
|
+
insertScriptTags: () => void;
|
20
29
|
};
|
@@ -1,78 +1,70 @@
|
|
1
1
|
import { useCallback } from "react";
|
2
|
-
import { useConst } from "../tools/useConst";
|
3
2
|
import { assert } from "tsafe/assert";
|
4
|
-
|
3
|
+
import { useOnFistMount } from "../tools/useOnFirstMount";
|
4
|
+
const alreadyMountedComponentOrHookNames = new Set();
|
5
|
+
/**
|
6
|
+
* NOTE: The component that use this hook can only be mounded once!
|
7
|
+
* And can't rerender with different scriptTags.
|
8
|
+
* If it's mounted again the page will be reloaded.
|
9
|
+
* This simulates the behavior of a server rendered page that imports javascript in the head.
|
10
|
+
*
|
11
|
+
* The returned function is supposed to be called in a useEffect and
|
12
|
+
* will not download the scripts multiple times event if called more than once (react strict mode).
|
13
|
+
*
|
14
|
+
*/
|
15
|
+
export function useInsertScriptTags(params) {
|
16
|
+
const { scriptTags, componentOrHookName } = params;
|
17
|
+
useOnFistMount(() => {
|
18
|
+
const isAlreadyMounted = alreadyMountedComponentOrHookNames.has(componentOrHookName);
|
19
|
+
if (isAlreadyMounted) {
|
20
|
+
window.location.reload();
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
alreadyMountedComponentOrHookNames.add(componentOrHookName);
|
24
|
+
});
|
5
25
|
let areScriptsInserted = false;
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
const insertScriptTags = useCallback(() => {
|
26
|
+
const insertScriptTags = useCallback(() => {
|
27
|
+
if (areScriptsInserted) {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
scriptTags.forEach(scriptTag => {
|
31
|
+
// NOTE: Avoid loading same script twice. (Like jQuery for example)
|
13
32
|
{
|
14
|
-
const
|
15
|
-
|
33
|
+
const scripts = document.getElementsByTagName("script");
|
34
|
+
for (let i = 0; i < scripts.length; i++) {
|
35
|
+
const script = scripts[i];
|
16
36
|
if ("textContent" in scriptTag) {
|
17
|
-
|
37
|
+
if (script.textContent === scriptTag.textContent) {
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
continue;
|
18
41
|
}
|
19
42
|
if ("src" in scriptTag) {
|
20
|
-
|
43
|
+
if (script.getAttribute("src") === scriptTag.src) {
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
continue;
|
21
47
|
}
|
22
48
|
assert(false);
|
23
|
-
})
|
24
|
-
.join("---");
|
25
|
-
if (getFingerprint(scriptTags) !==
|
26
|
-
getFingerprint(currentScriptTagsRef.current)) {
|
27
|
-
// NOTE: This is for when the scripts imported in the Template have changed switching
|
28
|
-
// from one page to another in storybook.
|
29
|
-
window.location.reload();
|
30
|
-
return;
|
31
49
|
}
|
32
50
|
}
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
const scripts = document.getElementsByTagName("script");
|
40
|
-
for (let i = 0; i < scripts.length; i++) {
|
41
|
-
const script = scripts[i];
|
42
|
-
if ("textContent" in scriptTag) {
|
43
|
-
if (script.textContent === scriptTag.textContent) {
|
44
|
-
return;
|
45
|
-
}
|
46
|
-
continue;
|
47
|
-
}
|
48
|
-
if ("src" in scriptTag) {
|
49
|
-
if (script.getAttribute("src") === scriptTag.src) {
|
50
|
-
return;
|
51
|
-
}
|
52
|
-
continue;
|
53
|
-
}
|
54
|
-
assert(false);
|
55
|
-
}
|
51
|
+
const htmlElement = document.createElement("script");
|
52
|
+
htmlElement.type = scriptTag.type;
|
53
|
+
(() => {
|
54
|
+
if ("textContent" in scriptTag) {
|
55
|
+
htmlElement.textContent = scriptTag.textContent;
|
56
|
+
return;
|
56
57
|
}
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
assert(false);
|
69
|
-
})();
|
70
|
-
document.head.appendChild(htmlElement);
|
71
|
-
});
|
72
|
-
areScriptsInserted = true;
|
73
|
-
}, []);
|
74
|
-
return { insertScriptTags };
|
75
|
-
}
|
76
|
-
return { useInsertScriptTags };
|
58
|
+
if ("src" in scriptTag) {
|
59
|
+
htmlElement.src = scriptTag.src;
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
assert(false);
|
63
|
+
})();
|
64
|
+
document.head.appendChild(htmlElement);
|
65
|
+
});
|
66
|
+
areScriptsInserted = true;
|
67
|
+
}, []);
|
68
|
+
return { insertScriptTags };
|
77
69
|
}
|
78
70
|
//# sourceMappingURL=useInsertScriptTags.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useInsertScriptTags.js","sourceRoot":"","sources":["../src/tools/useInsertScriptTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"useInsertScriptTags.js","sourceRoot":"","sources":["../src/tools/useInsertScriptTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAiBnE,MAAM,kCAAkC,GAAG,IAAI,GAAG,EAAU,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAGnC;IACG,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;IAEnD,cAAc,CAAC,GAAG,EAAE;QAChB,MAAM,gBAAgB,GAClB,kCAAkC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEhE,IAAI,gBAAgB,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO;SACV;QAED,kCAAkC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,kBAAkB,EAAE;YACpB,OAAO;SACV;QAED,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC3B,mEAAmE;YACnE;gBACI,MAAM,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,aAAa,IAAI,SAAS,EAAE;wBAC5B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE;4BAC9C,OAAO;yBACV;wBACD,SAAS;qBACZ;oBACD,IAAI,KAAK,IAAI,SAAS,EAAE;wBACpB,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,GAAG,EAAE;4BAC9C,OAAO;yBACV;wBACD,SAAS;qBACZ;oBACD,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjB;aACJ;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAErD,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAElC,CAAC,GAAG,EAAE;gBACF,IAAI,aAAa,IAAI,SAAS,EAAE;oBAC5B,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;oBAChD,OAAO;iBACV;gBACD,IAAI,KAAK,IAAI,SAAS,EAAE;oBACpB,WAAW,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;oBAChC,OAAO;iBACV;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;YAEL,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,kBAAkB,GAAG,IAAI,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAChC,CAAC"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { useEffect } from "react";
|
2
|
+
import { useConst } from "powerhooks/useConst";
|
3
|
+
import { id } from "tsafe/id";
|
4
|
+
/** Callback is guaranteed to be call only once per component mount event in strict mode */
|
5
|
+
export function useOnFistMount(callback) {
|
6
|
+
const refHasCallbackBeenCalled = useConst(() => ({ current: id(false) }));
|
7
|
+
useEffect(() => {
|
8
|
+
if (refHasCallbackBeenCalled.current) {
|
9
|
+
return;
|
10
|
+
}
|
11
|
+
callback();
|
12
|
+
refHasCallbackBeenCalled.current = true;
|
13
|
+
}, []);
|
14
|
+
}
|
15
|
+
//# sourceMappingURL=useOnFirstMount.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useOnFirstMount.js","sourceRoot":"","sources":["../src/tools/useOnFirstMount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAE9B,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,QAAoB;IAC/C,MAAM,wBAAwB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAU,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,wBAAwB,CAAC,OAAO,EAAE;YAClC,OAAO;SACV;QAED,QAAQ,EAAE,CAAC;QAEX,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useSetClassName.js","sourceRoot":"","sources":["../src/tools/useSetClassName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,UAAU,eAAe,CAAC,MAG/B;IACG,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE
|
1
|
+
{"version":3,"file":"useSetClassName.js","sourceRoot":"","sources":["../src/tools/useSetClassName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,UAAU,eAAe,CAAC,MAG/B;IACG,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE;YAC7C,OAAO;SACV;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhF,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpC,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
package/vite-plugin/index.js
CHANGED
@@ -959,7 +959,7 @@ var SemVer;
|
|
959
959
|
return "no bump";
|
960
960
|
}
|
961
961
|
SemVer.bumpType = bumpType;
|
962
|
-
})(SemVer
|
962
|
+
})(SemVer = exports.SemVer || (exports.SemVer = {}));
|
963
963
|
//# sourceMappingURL=SemVer.js.map
|
964
964
|
|
965
965
|
/***/ }),
|
@@ -1124,10 +1124,10 @@ var fetchProxyOptions_1 = __nccwpck_require__(1222);
|
|
1124
1124
|
var crypto = __importStar(__nccwpck_require__(6113));
|
1125
1125
|
var fs_rm_1 = __nccwpck_require__(8699);
|
1126
1126
|
function downloadAndExtractArchive(params) {
|
1127
|
+
var _a;
|
1127
1128
|
return __awaiter(this, void 0, void 0, function () {
|
1128
|
-
var url, uniqueIdOfOnOnArchiveFile, onArchiveFile, cacheDirPath, npmWorkspaceRootDirPath, archiveFileBasename, archiveFilePath, isDownloaded, response,
|
1129
|
+
var url, uniqueIdOfOnOnArchiveFile, onArchiveFile, cacheDirPath, npmWorkspaceRootDirPath, archiveFileBasename, archiveFilePath, isDownloaded, response, _b, _c, extractDirBasename, _d, _e, extractedDirPath, isExtracted;
|
1129
1130
|
var _this = this;
|
1130
|
-
var _e;
|
1131
1131
|
return __generator(this, function (_f) {
|
1132
1132
|
switch (_f.label) {
|
1133
1133
|
case 0:
|
@@ -1159,13 +1159,13 @@ function downloadAndExtractArchive(params) {
|
|
1159
1159
|
case 5: return [4 /*yield*/, (0, promises_1.mkdir)((0, path_1.dirname)(archiveFilePath), { recursive: true })];
|
1160
1160
|
case 6:
|
1161
1161
|
_f.sent();
|
1162
|
-
|
1163
|
-
|
1162
|
+
_b = make_fetch_happen_1.default;
|
1163
|
+
_c = [url];
|
1164
1164
|
return [4 /*yield*/, (0, fetchProxyOptions_1.getProxyFetchOptions)({ npmWorkspaceRootDirPath: npmWorkspaceRootDirPath })];
|
1165
|
-
case 7: return [4 /*yield*/,
|
1165
|
+
case 7: return [4 /*yield*/, _b.apply(void 0, _c.concat([_f.sent()]))];
|
1166
1166
|
case 8:
|
1167
1167
|
response = _f.sent();
|
1168
|
-
(
|
1168
|
+
(_a = response.body) === null || _a === void 0 ? void 0 : _a.setMaxListeners(Number.MAX_VALUE);
|
1169
1169
|
(0, assert_1.assert)(typeof response.body !== "undefined" && response.body != null);
|
1170
1170
|
return [4 /*yield*/, (0, promises_1.writeFile)(archiveFilePath, response.body)];
|
1171
1171
|
case 9:
|
@@ -1183,9 +1183,9 @@ function downloadAndExtractArchive(params) {
|
|
1183
1183
|
.update(onArchiveFile.toString())
|
1184
1184
|
.digest("hex")
|
1185
1185
|
.substring(0, 5));
|
1186
|
-
|
1186
|
+
_e = (_d = Promise).all;
|
1187
1187
|
return [4 /*yield*/, (0, promises_1.readdir)(cacheDirPath)];
|
1188
|
-
case 12: return [4 /*yield*/,
|
1188
|
+
case 12: return [4 /*yield*/, _e.apply(_d, [(_f.sent())
|
1189
1189
|
.filter((function () {
|
1190
1190
|
var prefix = extractDirBasename
|
1191
1191
|
.split("_")
|
@@ -1240,22 +1240,24 @@ function downloadAndExtractArchive(params) {
|
|
1240
1240
|
_f.label = 18;
|
1241
1241
|
case 18: return [4 /*yield*/, (0, extractArchive_1.extractArchive)({
|
1242
1242
|
archiveFilePath: archiveFilePath,
|
1243
|
-
onArchiveFile: function (_a) {
|
1244
|
-
var relativeFilePathInArchive =
|
1245
|
-
return
|
1246
|
-
return
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
|
1252
|
-
|
1253
|
-
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
1243
|
+
onArchiveFile: function (_a) {
|
1244
|
+
var relativeFilePathInArchive = _a.relativeFilePathInArchive, readFile = _a.readFile, writeFile = _a.writeFile;
|
1245
|
+
return __awaiter(_this, void 0, void 0, function () {
|
1246
|
+
return __generator(this, function (_b) {
|
1247
|
+
return [2 /*return*/, onArchiveFile({
|
1248
|
+
fileRelativePath: relativeFilePathInArchive,
|
1249
|
+
readFile: readFile,
|
1250
|
+
writeFile: function (_a) {
|
1251
|
+
var fileRelativePath = _a.fileRelativePath, modifiedData = _a.modifiedData;
|
1252
|
+
return writeFile({
|
1253
|
+
filePath: (0, path_1.join)(extractedDirPath, fileRelativePath),
|
1254
|
+
modifiedData: modifiedData
|
1255
|
+
});
|
1256
|
+
}
|
1257
|
+
})];
|
1258
|
+
});
|
1257
1259
|
});
|
1258
|
-
}
|
1260
|
+
}
|
1259
1261
|
})];
|
1260
1262
|
case 19:
|
1261
1263
|
_f.sent();
|
@@ -1567,13 +1569,13 @@ function getNmpConfig(params) {
|
|
1567
1569
|
});
|
1568
1570
|
}
|
1569
1571
|
function getProxyFetchOptions(params) {
|
1572
|
+
var _a, _b, _c;
|
1570
1573
|
return __awaiter(this, void 0, void 0, function () {
|
1571
1574
|
function maybeBoolean(arg0) {
|
1572
1575
|
return typeof arg0 === "undefined" ? undefined : Boolean(arg0);
|
1573
1576
|
}
|
1574
|
-
var npmWorkspaceRootDirPath, cfg, proxy, noProxy, strictSSL, cert, ca, cafile,
|
1577
|
+
var npmWorkspaceRootDirPath, cfg, proxy, noProxy, strictSSL, cert, ca, cafile, _d, _e, _f, _g;
|
1575
1578
|
var _this = this;
|
1576
|
-
var _e, _f, _g;
|
1577
1579
|
return __generator(this, function (_h) {
|
1578
1580
|
switch (_h.label) {
|
1579
1581
|
case 0:
|
@@ -1581,16 +1583,16 @@ function getProxyFetchOptions(params) {
|
|
1581
1583
|
return [4 /*yield*/, getNmpConfig({ npmWorkspaceRootDirPath: npmWorkspaceRootDirPath })];
|
1582
1584
|
case 1:
|
1583
1585
|
cfg = _h.sent();
|
1584
|
-
proxy = ensureSingleOrNone((
|
1585
|
-
noProxy = (
|
1586
|
+
proxy = ensureSingleOrNone((_a = cfg["https-proxy"]) !== null && _a !== void 0 ? _a : cfg["proxy"]);
|
1587
|
+
noProxy = (_b = cfg["noproxy"]) !== null && _b !== void 0 ? _b : cfg["no-proxy"];
|
1586
1588
|
strictSSL = maybeBoolean(ensureSingleOrNone(cfg["strict-ssl"]));
|
1587
1589
|
cert = cfg["cert"];
|
1588
|
-
ca = ensureArray((
|
1590
|
+
ca = ensureArray((_c = cfg["ca"]) !== null && _c !== void 0 ? _c : cfg["ca[]"]);
|
1589
1591
|
cafile = ensureSingleOrNone(cfg["cafile"]);
|
1590
1592
|
if (!(typeof cafile !== "undefined" && cafile !== "null")) return [3 /*break*/, 3];
|
1591
|
-
|
1592
|
-
|
1593
|
-
|
1593
|
+
_e = (_d = ca.push).apply;
|
1594
|
+
_f = [ca];
|
1595
|
+
_g = [[]];
|
1594
1596
|
return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
|
1595
1597
|
function chunks(arr, size) {
|
1596
1598
|
if (size === void 0) { size = 2; }
|
@@ -1609,7 +1611,7 @@ function getProxyFetchOptions(params) {
|
|
1609
1611
|
});
|
1610
1612
|
}); })()];
|
1611
1613
|
case 2:
|
1612
|
-
|
1614
|
+
_e.apply(_d, _f.concat([__spreadArray.apply(void 0, _g.concat([__read.apply(void 0, [(_h.sent())]), false]))]));
|
1613
1615
|
_h.label = 3;
|
1614
1616
|
case 3: return [2 /*return*/, {
|
1615
1617
|
proxy: proxy,
|
@@ -2292,7 +2294,9 @@ var fs = __importStar(__nccwpck_require__(7147));
|
|
2292
2294
|
function getNpmWorkspaceRootDirPath(params) {
|
2293
2295
|
var reactAppRootDirPath = params.reactAppRootDirPath, dependencyExpected = params.dependencyExpected;
|
2294
2296
|
var npmWorkspaceRootDirPath = (function callee(depth) {
|
2297
|
+
var e_1, _a;
|
2295
2298
|
var cwd = (0, path_1.resolve)(path_1.join.apply(void 0, __spreadArray([], __read(__spreadArray([reactAppRootDirPath], __read(Array(depth).fill("..")), false)), false)));
|
2299
|
+
(0, assert_1.assert)(cwd !== path_1.sep, "NPM workspace not found");
|
2296
2300
|
try {
|
2297
2301
|
child_process.execSync("npm config get", {
|
2298
2302
|
cwd: cwd,
|
@@ -2301,44 +2305,42 @@ function getNpmWorkspaceRootDirPath(params) {
|
|
2301
2305
|
}
|
2302
2306
|
catch (error) {
|
2303
2307
|
if (String(error).includes("ENOWORKSPACES")) {
|
2304
|
-
(0, assert_1.assert)(cwd !== path_1.sep, "NPM workspace not found");
|
2305
2308
|
return callee(depth + 1);
|
2306
2309
|
}
|
2307
2310
|
throw error;
|
2308
2311
|
}
|
2309
|
-
var
|
2310
|
-
|
2311
|
-
|
2312
|
-
|
2313
|
-
|
2314
|
-
|
2315
|
-
|
2316
|
-
|
2317
|
-
|
2318
|
-
|
2319
|
-
|
2320
|
-
|
2321
|
-
|
2322
|
-
|
2323
|
-
|
2324
|
-
|
2325
|
-
(0, assert_1.assert)(dependencies instanceof Object);
|
2326
|
-
if (dependencies[dependencyExpected] === undefined) {
|
2327
|
-
continue;
|
2328
|
-
}
|
2329
|
-
isExpectedDependencyFound = true;
|
2312
|
+
var packageJsonFilePath = (0, path_1.join)(cwd, "package.json");
|
2313
|
+
if (!fs.existsSync(packageJsonFilePath)) {
|
2314
|
+
return callee(depth + 1);
|
2315
|
+
}
|
2316
|
+
(0, assert_1.assert)(fs.existsSync(packageJsonFilePath));
|
2317
|
+
var parsedPackageJson = JSON.parse(fs.readFileSync(packageJsonFilePath).toString("utf8"));
|
2318
|
+
var isExpectedDependencyFound = false;
|
2319
|
+
try {
|
2320
|
+
for (var _b = __values([
|
2321
|
+
"dependencies",
|
2322
|
+
"devDependencies"
|
2323
|
+
]), _c = _b.next(); !_c.done; _c = _b.next()) {
|
2324
|
+
var dependenciesOrDevDependencies = _c.value;
|
2325
|
+
var dependencies = parsedPackageJson[dependenciesOrDevDependencies];
|
2326
|
+
if (dependencies === undefined) {
|
2327
|
+
continue;
|
2330
2328
|
}
|
2331
|
-
|
2332
|
-
|
2333
|
-
|
2334
|
-
try {
|
2335
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
2329
|
+
(0, assert_1.assert)(dependencies instanceof Object);
|
2330
|
+
if (dependencies[dependencyExpected] === undefined) {
|
2331
|
+
continue;
|
2336
2332
|
}
|
2337
|
-
|
2333
|
+
isExpectedDependencyFound = true;
|
2334
|
+
}
|
2335
|
+
}
|
2336
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
2337
|
+
finally {
|
2338
|
+
try {
|
2339
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
2338
2340
|
}
|
2339
|
-
|
2340
|
-
}
|
2341
|
-
if (!isExpectedDependencyFound) {
|
2341
|
+
finally { if (e_1) throw e_1.error; }
|
2342
|
+
}
|
2343
|
+
if (!isExpectedDependencyFound && parsedPackageJson.name !== dependencyExpected) {
|
2342
2344
|
return callee(depth + 1);
|
2343
2345
|
}
|
2344
2346
|
return cwd;
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import type { DeepPartial } from "../../tools/DeepPartial";
|
2
|
-
import type { ExtendKcContext } from "./getKcContextFromWindow";
|
3
|
-
export declare function createGetKcContext<KcContextExtension extends {
|
4
|
-
pageId: string;
|
5
|
-
} = never>(params?: {
|
6
|
-
mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
|
7
|
-
mockProperties?: Record<string, string>;
|
8
|
-
}): {
|
9
|
-
getKcContext: <PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
|
10
|
-
mockPageId?: PageId;
|
11
|
-
storyPartialKcContext?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, {
|
12
|
-
pageId: PageId;
|
13
|
-
}>>;
|
14
|
-
}) => {
|
15
|
-
kcContext: PageId extends undefined ? ExtendKcContext<KcContextExtension> | undefined : Extract<ExtendKcContext<KcContextExtension>, {
|
16
|
-
pageId: PageId;
|
17
|
-
}>;
|
18
|
-
};
|
19
|
-
};
|