Nx Integrated Monorepo
npx create-nx-workspace@latest --preset=react-monorepo --bundler=vite


Last updated
Was this helpful?
npx create-nx-workspace@latest --preset=react-monorepo --bundler=vite


Last updated
Was this helpful?
Was this helpful?
cd nx-monorepo
rm -rf apps/keycloak-theme/src
git clone https://github.com/keycloakify/keycloakify-starter tmp
mv tmp/src apps/keycloak-theme
mv tmp/.storybook apps/keycloak-theme
rm -rf tmp{
"name": "@nx-monorepo/source",
"version": "0.0.0",
"scripts": {
"build-keycloak-theme": "nx build keycloak-theme && keycloakify build -p apps/keycloak-theme",
"keycloak-theme-storybook": "npx storybook dev -p 6006 -c apps/keycloak-theme/.storybook",
"start-keycloak": "keycloakify start-keycloak -p apps/keycloak-theme"
},
"dependencies": {
"react": "18.3.1",
"react-dom": "18.3.1",
"tslib": "^2.3.0",
"keycloakify": "^10.0.0"
},
"devDependencies": {
"storybook": "^8.1.10",
"@storybook/react": "^8.1.10",
"@storybook/react-vite": "^8.1.10"
// ...npm install # or `pnpm install` or `yarn`.../// <reference types='vitest' />
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
import { keycloakify } from "keycloakify/vite-plugin";
export default defineConfig({
root: __dirname,
cacheDir: '../../node_modules/.vite/apps/keycloak-theme',
server: {
port: 4200,
host: 'localhost',
},
preview: {
port: 4300,
host: 'localhost',
},
plugins: [react(), nxViteTsPaths(),
keycloakify({
themeName: "my-project",
themeVersion: "1.0.0",
keycloakifyBuildDirPath: '../../dist/apps/keycloak-theme'
})
],
// Uncomment this if you are using workers.
// worker: {
// plugins: [ nxViteTsPaths() ],
// },
build: {
outDir: 'dist',
emptyOutDir: true,
reportCompressedSize: true,
commonjsOptions: {
transformMixedEsModules: true,
},
},
});