keycloakify 7.0.0-rc.10 → 7.0.0-rc.12
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/account/kcContext/getKcContext.js +1 -1
- package/account/kcContext/getKcContext.js.map +1 -1
- package/account/kcContext/getKcContextFromWindow.d.ts +1 -1
- package/account/kcContext/getKcContextFromWindow.js.map +1 -1
- package/account/kcContext/kcContextMocks.js.map +1 -1
- package/bin/keycloakify/keycloakify.js +10 -5
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/package.json +1 -1
- package/src/account/kcContext/getKcContext.ts +1 -1
- package/src/account/kcContext/getKcContextFromWindow.ts +1 -1
- package/src/account/kcContext/kcContextMocks.ts +1 -1
- package/src/bin/keycloakify/keycloakify.ts +20 -12
- package/src/tools/AndByDiscriminatingKey.ts +5 -1
- package/tools/AndByDiscriminatingKey.d.ts +1 -1
@@ -1,10 +1,10 @@
|
|
1
|
-
import { kcContextMocks, kcContextCommonMock } from "./kcContextMocks";
|
2
1
|
import { deepAssign } from "../../tools/deepAssign";
|
3
2
|
import { getKcContextFromWindow } from "./getKcContextFromWindow";
|
4
3
|
import { pathJoin } from "../../bin/tools/pathJoin";
|
5
4
|
import { pathBasename } from "../../tools/pathBasename";
|
6
5
|
import { mockTestingResourcesCommonPath } from "../../bin/mockTestingResourcesPath";
|
7
6
|
import { symToStr } from "tsafe/symToStr";
|
7
|
+
import { kcContextMocks, kcContextCommonMock } from "../../account/kcContext/kcContextMocks";
|
8
8
|
export function getKcContext(params) {
|
9
9
|
const { mockPageId, mockData } = params !== null && params !== void 0 ? params : {};
|
10
10
|
const realKcContext = getKcContextFromWindow();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getKcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/getKcContext.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getKcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/getKcContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,UAAU,YAAY,CAAwD,MAGnF;IACG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,sBAAsB,EAAsB,CAAC;IAEnE,IAAI,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE;QACzD,2CAA2C;QAE3C,OAAO,CAAC,GAAG,CACP;YACI,kBAAkB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,WAAW,UAAU,GAAG;YAClE,mFAAmF;SACtF,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,mDAAmD,CACtD,CAAC;QAEF,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAExF,MAAM,0BAA0B,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAEzF,IAAI,oBAAoB,KAAK,SAAS,IAAI,0BAA0B,KAAK,SAAS,EAAE;YAChF,OAAO,CAAC,IAAI,CACR;gBACI,+CAA+C,UAAU,kBAAkB;gBAC3E,6FAA6F;gBAC7F,6DAA6D;aAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;SACL;QAED,MAAM,SAAS,GAAQ,EAAE,CAAC;QAE1B,UAAU,CAAC;YACP,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,iBAAG,QAAQ,EAAE,UAAU,IAAK,mBAAmB,CAAE;SACzH,CAAC,CAAC;QAEH,IAAI,0BAA0B,KAAK,SAAS,EAAE;YAC1C,UAAU,CAAC;gBACP,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,0BAA0B;aACvC,CAAC,CAAC;SACN;QAED,OAAO,EAAE,SAAS,EAAE,CAAC;KACxB;IAED,IAAI,aAAa,KAAK,SAAS,EAAE;QAC7B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;KACrC;IAED;QACI,MAAM,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;QAE9B,GAAG,CAAC,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,8BAA8B,CAAC,CAAC,CAAC;KACvG;IAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAC1C,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { KcContext } from "./KcContext";
|
2
1
|
import type { AndByDiscriminatingKey } from "../../tools/AndByDiscriminatingKey";
|
2
|
+
import type { KcContext } from "./KcContext";
|
3
3
|
export type ExtendKcContext<KcContextExtension extends {
|
4
4
|
pageId: string;
|
5
5
|
}> = [KcContextExtension] extends [never] ? KcContext : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getKcContextFromWindow.js","sourceRoot":"","sources":["../../src/account/kcContext/getKcContextFromWindow.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getKcContextFromWindow.js","sourceRoot":"","sources":["../../src/account/kcContext/getKcContextFromWindow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAOtF,MAAM,UAAU,sBAAsB;IAClC,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAc,CAAC,mBAAmB,CAAC,CAAC;AAC5F,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/account/kcContext/kcContextMocks.ts"],"names":[],"mappings":";AAAA,OAAO,sCAAsC,CAAC;
|
1
|
+
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/account/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
|
@@ -104,7 +104,7 @@ function main() {
|
|
104
104
|
"reactAppBuildDirPath": (0, path_1.join)(reactProjectDirPath, "build"),
|
105
105
|
buildOptions: buildOptions,
|
106
106
|
//We have to leave it at that otherwise we break our default theme.
|
107
|
-
//Problem is that we can
|
107
|
+
//Problem is that we can`t guarantee that the the old resources
|
108
108
|
//will still be available on the newer keycloak version.
|
109
109
|
"keycloakVersion": "11.0.3"
|
110
110
|
})];
|
@@ -187,15 +187,20 @@ function main() {
|
|
187
187
|
"",
|
188
188
|
"To test your theme locally you can spin up a Keycloak ".concat(containerKeycloakVersion, " container image with the theme pre loaded by running:"),
|
189
189
|
"",
|
190
|
-
"\uD83D\uDC49 $
|
190
|
+
"\uD83D\uDC49 $ .".concat(path_1.sep).concat((0, path_1.relative)(reactProjectDirPath, (0, path_1.join)(exports.keycloakThemeBuildingDirPath, generateStartKeycloakTestingContainer_1.generateStartKeycloakTestingContainer.basename)), " \uD83D\uDC48"),
|
191
191
|
"",
|
192
192
|
"Test with different Keycloak versions by editing the .sh file. see available versions here: https://quay.io/repository/keycloak/keycloak?tab=tags",
|
193
193
|
"",
|
194
194
|
"Once your container is up and running: ",
|
195
195
|
"- Log into the admin console 👉 http://localhost:8080/admin username: admin, password: admin 👈",
|
196
|
-
|
197
|
-
|
198
|
-
"
|
196
|
+
"- Create a realm named \"myrealm\"",
|
197
|
+
"- Create a client with ID: \"myclient\"",
|
198
|
+
" Root URL: https://www.keycloak.org/app/",
|
199
|
+
" Valid redirect URIs: https://www.keycloak.org/app* http://localhost* (localhost isn't necessary here but it will be once you'll want to test the integration with your app)",
|
200
|
+
" Valid post logout redirect URIs: https://www.keycloak.org/app* http://localhost*",
|
201
|
+
" Web origins: *",
|
202
|
+
" Login Theme: ".concat(buildOptions.themeName),
|
203
|
+
" Click save at the bottom of the page.",
|
199
204
|
"- Go to \uD83D\uDC49 https://www.keycloak.org/app/ \uD83D\uDC48 Click \"Save\" then \"Sign in\". You should see your login page",
|
200
205
|
"",
|
201
206
|
"Video demoing this process: https://youtu.be/N3wlBoH4hKg",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAkF;AAClF,mEAAkE;AAClE,
|
1
|
+
{"version":3,"file":"keycloakify.js","sourceRoot":"","sources":["../../src/bin/keycloakify/keycloakify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
import { kcContextMocks, kcContextCommonMock } from "./kcContextMocks";
|
2
1
|
import type { DeepPartial } from "keycloakify/tools/DeepPartial";
|
3
2
|
import { deepAssign } from "keycloakify/tools/deepAssign";
|
4
3
|
import type { ExtendKcContext } from "./getKcContextFromWindow";
|
@@ -7,6 +6,7 @@ import { pathJoin } from "keycloakify/bin/tools/pathJoin";
|
|
7
6
|
import { pathBasename } from "keycloakify/tools/pathBasename";
|
8
7
|
import { mockTestingResourcesCommonPath } from "keycloakify/bin/mockTestingResourcesPath";
|
9
8
|
import { symToStr } from "tsafe/symToStr";
|
9
|
+
import { kcContextMocks, kcContextCommonMock } from "keycloakify/account/kcContext/kcContextMocks";
|
10
10
|
|
11
11
|
export function getKcContext<KcContextExtension extends { pageId: string } = never>(params?: {
|
12
12
|
mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import type { KcContext } from "./KcContext";
|
2
1
|
import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey";
|
3
2
|
import { ftlValuesGlobalName } from "keycloakify/bin/keycloakify/ftlValuesGlobalName";
|
3
|
+
import type { KcContext } from "./KcContext";
|
4
4
|
|
5
5
|
export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [KcContextExtension] extends [never]
|
6
6
|
? KcContext
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import "minimal-polyfills/Object.fromEntries";
|
2
|
-
import type { KcContext } from "./KcContext";
|
3
2
|
import { mockTestingResourcesCommonPath, mockTestingResourcesPath } from "keycloakify/bin/mockTestingResourcesPath";
|
4
3
|
import { pathJoin } from "keycloakify/bin/tools/pathJoin";
|
5
4
|
import { id } from "tsafe/id";
|
5
|
+
import type { KcContext } from "./KcContext";
|
6
6
|
|
7
7
|
const PUBLIC_URL = process.env["PUBLIC_URL"] ?? "/";
|
8
8
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { generateKeycloakThemeResources } from "./generateKeycloakThemeResources";
|
2
2
|
import { generateJavaStackFiles } from "./generateJavaStackFiles";
|
3
|
-
import { join as pathJoin, relative as pathRelative, basename as pathBasename } from "path";
|
3
|
+
import { join as pathJoin, relative as pathRelative, basename as pathBasename, sep as pathSep } from "path";
|
4
4
|
import * as child_process from "child_process";
|
5
5
|
import { generateStartKeycloakTestingContainer } from "./generateStartKeycloakTestingContainer";
|
6
6
|
import * as fs from "fs";
|
@@ -42,7 +42,7 @@ export async function main() {
|
|
42
42
|
"reactAppBuildDirPath": pathJoin(reactProjectDirPath, "build"),
|
43
43
|
buildOptions,
|
44
44
|
//We have to leave it at that otherwise we break our default theme.
|
45
|
-
//Problem is that we can
|
45
|
+
//Problem is that we can`t guarantee that the the old resources
|
46
46
|
//will still be available on the newer keycloak version.
|
47
47
|
"keycloakVersion": "11.0.3"
|
48
48
|
});
|
@@ -121,19 +121,27 @@ export async function main() {
|
|
121
121
|
"",
|
122
122
|
`To test your theme locally you can spin up a Keycloak ${containerKeycloakVersion} container image with the theme pre loaded by running:`,
|
123
123
|
"",
|
124
|
-
`👉 $
|
124
|
+
`👉 $ .${pathSep}${pathRelative(
|
125
|
+
reactProjectDirPath,
|
126
|
+
pathJoin(keycloakThemeBuildingDirPath, generateStartKeycloakTestingContainer.basename)
|
127
|
+
)} 👈`,
|
125
128
|
"",
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
+
`Test with different Keycloak versions by editing the .sh file. see available versions here: https://quay.io/repository/keycloak/keycloak?tab=tags`,
|
130
|
+
``,
|
131
|
+
`Once your container is up and running: `,
|
129
132
|
"- Log into the admin console 👉 http://localhost:8080/admin username: admin, password: admin 👈",
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
+
`- Create a realm named "myrealm"`,
|
134
|
+
`- Create a client with ID: "myclient"`,
|
135
|
+
` Root URL: https://www.keycloak.org/app/`,
|
136
|
+
` Valid redirect URIs: https://www.keycloak.org/app* http://localhost* (localhost isn't necessary here but it will be once you'll want to test the integration with your app)`,
|
137
|
+
` Valid post logout redirect URIs: https://www.keycloak.org/app* http://localhost*`,
|
138
|
+
` Web origins: *`,
|
139
|
+
` Login Theme: ${buildOptions.themeName}`,
|
140
|
+
` Click save at the bottom of the page.`,
|
133
141
|
`- Go to 👉 https://www.keycloak.org/app/ 👈 Click "Save" then "Sign in". You should see your login page`,
|
134
|
-
|
135
|
-
|
136
|
-
|
142
|
+
``,
|
143
|
+
`Video demoing this process: https://youtu.be/N3wlBoH4hKg`,
|
144
|
+
``
|
137
145
|
].join("\n")
|
138
146
|
);
|
139
147
|
}
|
@@ -10,7 +10,11 @@ export declare namespace AndByDiscriminatingKey {
|
|
10
10
|
U1,
|
11
11
|
U1Again extends Record<DiscriminatingKey, string>,
|
12
12
|
U2 extends Record<DiscriminatingKey, string>
|
13
|
-
> = U1 extends Pick<U2, DiscriminatingKey>
|
13
|
+
> = U1 extends Pick<U2, DiscriminatingKey>
|
14
|
+
? Tf2<DiscriminatingKey, U1, U2, U1Again>
|
15
|
+
: U1Again[DiscriminatingKey] & U2[DiscriminatingKey] extends never
|
16
|
+
? U1 | U2
|
17
|
+
: U1;
|
14
18
|
|
15
19
|
export type Tf2<
|
16
20
|
DiscriminatingKey extends string,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
export type AndByDiscriminatingKey<DiscriminatingKey extends string, U1 extends Record<DiscriminatingKey, string>, U2 extends Record<DiscriminatingKey, string>> = AndByDiscriminatingKey.Tf1<DiscriminatingKey, U1, U1, U2>;
|
2
2
|
export declare namespace AndByDiscriminatingKey {
|
3
|
-
type Tf1<DiscriminatingKey extends string, U1, U1Again extends Record<DiscriminatingKey, string>, U2 extends Record<DiscriminatingKey, string>> = U1 extends Pick<U2, DiscriminatingKey> ? Tf2<DiscriminatingKey, U1, U2, U1Again> : U1;
|
3
|
+
type Tf1<DiscriminatingKey extends string, U1, U1Again extends Record<DiscriminatingKey, string>, U2 extends Record<DiscriminatingKey, string>> = U1 extends Pick<U2, DiscriminatingKey> ? Tf2<DiscriminatingKey, U1, U2, U1Again> : U1Again[DiscriminatingKey] & U2[DiscriminatingKey] extends never ? U1 | U2 : U1;
|
4
4
|
type Tf2<DiscriminatingKey extends string, SingletonU1 extends Record<DiscriminatingKey, string>, U2, U1 extends Record<DiscriminatingKey, string>> = U2 extends Pick<SingletonU1, DiscriminatingKey> ? U2 & SingletonU1 : U2 extends Pick<U1, DiscriminatingKey> ? never : U2;
|
5
5
|
}
|