diff --git a/src/bin/keycloakify/keycloakify.ts b/src/bin/keycloakify/keycloakify.ts index 5409fd6d..1e632940 100644 --- a/src/bin/keycloakify/keycloakify.ts +++ b/src/bin/keycloakify/keycloakify.ts @@ -10,8 +10,11 @@ import { getThemeSrcDirPath } from "../getThemeSrcDirPath"; import { getThisCodebaseRootDirPath } from "../tools/getThisCodebaseRootDirPath"; import { readThisNpmProjectVersion } from "../tools/readThisNpmProjectVersion"; import { keycloakifyBuildOptionsForPostPostBuildScriptEnvName } from "../constants"; +import { assertNoPnpmDlx } from "../tools/assertNoPnpmDlx"; export async function main() { + assertNoPnpmDlx(); + const buildOptions = readBuildOptions({ "processArgv": process.argv.slice(2) }); diff --git a/src/bin/tools/assertNoPnpmDlx.ts b/src/bin/tools/assertNoPnpmDlx.ts new file mode 100644 index 00000000..fa47e320 --- /dev/null +++ b/src/bin/tools/assertNoPnpmDlx.ts @@ -0,0 +1,14 @@ +import { sep as pathSep } from "path"; + +export function assertNoPnpmDlx() { + if (__dirname.includes(`${pathSep}pnpm${pathSep}dlx${pathSep}`)) { + console.log( + [ + "Please don't use `pnpm dlx keycloakify`. Even if you're using pnpm as a package manager", + "use `npx keycloakify` or `pnpm exec keycloakify` instead since you want to use the keycloakify version that is installed in your project and", + "not the latest version on NPM." + ].join(" ") + ); + process.exit(1); + } +}