diff --git a/package-lock.json b/package-lock.json index 4648f77..d313e96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@babel/core": "^7.24.4", "@babel/preset-env": "^7.24.4", "@babel/preset-react": "^7.24.1", + "bootstrap": "^5.3.3", "react": "^18.2.0", "react-dom": "^18.2.0" }, @@ -1915,6 +1916,16 @@ "node": ">=14" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@types/body-parser": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", @@ -2654,6 +2665,24 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", diff --git a/package.json b/package.json index 2683b12..f3b5741 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "@babel/core": "^7.24.4", "@babel/preset-env": "^7.24.4", "@babel/preset-react": "^7.24.1", + "bootstrap": "^5.3.3", "react": "^18.2.0", "react-dom": "^18.2.0" } diff --git a/src/App.tsx b/src/App.tsx index 6d28949..e3ba1ca 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,9 +1,10 @@ import * as React from "react"; +import ListGroup from "./components/ListGroup.tsx"; export default function App() { return (
-

App

+
); } diff --git a/src/components/ListGroup.tsx b/src/components/ListGroup.tsx new file mode 100644 index 0000000..ab81e1c --- /dev/null +++ b/src/components/ListGroup.tsx @@ -0,0 +1,5 @@ +import * as React from "react"; + +export default function ListGroup() { + return

List Group

; +} diff --git a/src/index.tsx b/src/index.tsx index fcf5ee1..d2c76ff 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,6 +1,7 @@ import * as React from "react"; import * as ReactDOM from "react-dom/client"; import App from "./App.tsx"; +import "bootstrap/dist/css/bootstrap.css"; const rootElement = document.getElementById("root"); @@ -8,4 +9,4 @@ const root = ReactDOM.createRoot(rootElement!); root.render( -); \ No newline at end of file +); diff --git a/webpack.config.js b/webpack.config.js index fe8c49d..6c446f7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,22 +9,14 @@ module.exports = { }, module: { rules: [ - { - test: /\.(ts|tsx)$/, - exclude: /node_modules/, - use: "babel-loader", - }, - { - test: /\css$/, - use: [ - { - loader: "style-loader", - }, - { - loader: "css-loader", - }, - ], - }, + { + test: /\.(ts|tsx)$/, + use: "babel-loader", + }, + { + test: /\.css$/, + use: [ 'style-loader', 'css-loader' ] + }, ], }, plugins: [