Skip to content

Commit 70ba5f8

Browse files
committed
Bruk postcss-bundler til å scope css til dekorator
Aksel sin stylesheet bruker globale klassenavn og overskriver host-apper sin styling om det er mismatch i styling. Eks ved ulike versjoner eller overrides. Dette scoper aksel stylesheetet til dekoratøren slik at den ikke påvirker resten av appen.
1 parent 9d1bed5 commit 70ba5f8

11 files changed

+98
-8
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
src/index.bundled.css
2+
13
# Logs
24
logs
35
*.log

bun.lock

+75-2
Large diffs are not rendered by default.

eslint.config.js

+3
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,7 @@ export default tseslint.config(
2828
extends: [tseslint.configs.disableTypeChecked],
2929
},
3030
prettier,
31+
{
32+
ignores: ['*.cjs'],
33+
},
3134
);

package.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717
}
1818
},
1919
"scripts": {
20+
"gen-css": "bunx postcss-cli src/index.css > src/index.bundled.css",
2021
"dev-server": "bun run --watch dev-server/index.ts",
2122
"dev": "vite",
2223
"dev:fullscreen": "VITE_DECORATOR_MODE=fullscreen vite",
23-
"build": "vite build",
24+
"build": "bun run gen-css && vite build",
2425
"build:watch": "vite build --watch",
2526
"build-and-preview": "vite build && vite preview",
2627
"preview": "vite preview",
@@ -30,8 +31,10 @@
3031
"format": "prettier . --write"
3132
},
3233
"devDependencies": {
34+
"@csstools/postcss-bundler": "^2.0.6",
3335
"@eslint/js": "^9.21.0",
3436
"@tailwindcss/vite": "^4.0.9",
37+
"@tailwindcss/postcss": "^4.0.5",
3538
"@types/bun": "^1.2.1",
3639
"@types/react": "^19.0.8",
3740
"@types/react-dom": "^19.0.3",
@@ -43,6 +46,7 @@
4346
"eslint-plugin-react-hooks": "^5.1.0",
4447
"eslint-plugin-react-refresh": "^0.4.19",
4548
"msw": "^2.7.0",
49+
"postcss-cli": "^11.0.0",
4650
"prettier": "^3.5.2",
4751
"react": "^19.0.0",
4852
"react-dom": "^19.0.0",

postcss.config.cjs

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
plugins: {
3+
'@tailwindcss/postcss': {},
4+
'@csstools/postcss-bundler': {},
5+
},
6+
};

src/Decorator.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { PropsWithChildren, useMemo } from 'react';
2-
import './index.css';
2+
import './index.bundled.css';
33
import useAppLogic from './hooks/useAppLogic';
44
import Banner from './components/Banner';
55
import Menu from './components/Menu';

src/LandingPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useEffect } from 'react';
2-
import './index.css';
2+
import './index.bundled.css';
33
import classNames from 'classnames';
44
import useAppLogic from './hooks/useAppLogic';
55
import { AppProps } from './types/AppProps';

src/index.css

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
@import url('node_modules:@navikt/ds-css') scope(.dekorator);
2+
@import '@navikt/ds-css/dist/global/tokens.css';
13
@import 'tailwindcss' prefix(dr);
2-
@import '@navikt/ds-css' layer(dr-aksel);
34

45
@config '../tailwind.config.js';
56

src/wrapper/FullScreenWrapper.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import '@navikt/ds-css';
23
import LandingPage from '../LandingPage';
34

45
const FullScreenWrapper = () => {

src/wrapper/Wrapper.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React, { useEffect, useState } from 'react';
22
import { Button, TextField } from '@navikt/ds-react';
3+
import '@navikt/ds-css';
34
import { useTempValue } from './hooks/useTempValue';
45
import { WebSocketWrapper } from '../api/WebSocketWrapper';
56
import { ContextHolderAPI } from '../api/ContextHolderAPI';

vite.config.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import tailwindcss from '@tailwindcss/vite';
21
import react from '@vitejs/plugin-react';
32
import { defineConfig } from 'vite';
43

54
export default defineConfig({
6-
plugins: [react(), tailwindcss()],
5+
plugins: [react()],
76
build: {
87
minify: true,
98
manifest: 'asset-manifest.json',

0 commit comments

Comments
 (0)