Skip to content

Commit

Permalink
Merge pull request #99 from boostcampwm-2024/Feature/#098_noctaCrdt_라…
Browse files Browse the repository at this point in the history
…이브러리_client,_server가_접근_가능하도록_환경_구축

Feature/#98 nocta crdt 라이브러리 client, server가 접근 가능하도록 환경 구축
  • Loading branch information
github-actions[bot] authored Nov 12, 2024
2 parents 98b1c78 + 196771a commit 69f8c8a
Show file tree
Hide file tree
Showing 17 changed files with 119 additions and 7 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/node_modules
**/node_modules

/dist
*/dist
/build
.DS_Store
.env
Empty file added @noctaCrdt/Crdt.ts
Empty file.
Empty file added @noctaCrdt/Interfaces.ts
Empty file.
Empty file added @noctaCrdt/LinkedList.ts
Empty file.
Empty file added @noctaCrdt/Node.ts
Empty file.
27 changes: 27 additions & 0 deletions @noctaCrdt/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "@noctaCrdt",
"version": "1.0.0",
"main": "dist/Crdt.js",
"types": "dist/Crdt.d.ts",
"scripts": {
"build": "tsc -b"
},
"exports": {
".": {
"types": "./dist/Crdt.d.ts",
"default": "./dist/Crdt.js"
},
"./Node": {
"types": "./dist/Node.d.ts",
"default": "./dist/Node.js"
},
"./LinkedList": {
"types": "./dist/LinkedList.d.ts",
"default": "./dist/LinkedList.js"
},
"./Interfaces": {
"types": "./dist/Interfaces.d.ts",
"default": "./dist/Interfaces.js"
}
}
}
14 changes: 14 additions & 0 deletions @noctaCrdt/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": ".",
"composite": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"isolatedModules": true
},
"include": ["**/*.ts"],
"exclude": ["node_modules", "dist"]
}
1 change: 1 addition & 0 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"prepare": "panda codegen"
},
"dependencies": {
"@noctaCrdt": "workspace:*",
"@pandabox/panda-plugins": "^0.0.8",
"react": "^18.3.1",
"react-dom": "^18.3.1",
Expand Down
5 changes: 4 additions & 1 deletion client/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,12 @@
"@components/*": ["src/components/*"],
"@assets/*": ["src/assets/*"],
"@features/*": ["src/features/*"],
"@styles/*": ["src/styles/*"]
"@styles/*": ["src/styles/*"],
"@noctaCrdt": ["../@noctaCrdt/dist"],
"@noctaCrdt/*": ["../@noctaCrdt/dist/*"]
}
},
"references": [{ "path": "../@noctaCrdt" }],
"include": ["src", "*.ts", "*.tsx", "vite.config.ts", "styled-system"],
"exclude": ["node_modules"]
}
6 changes: 6 additions & 0 deletions client/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import { defineConfig } from "vite";
import path from "path";
import react from "@vitejs/plugin-react";
import tsconfigPaths from "vite-tsconfig-paths";

export default defineConfig({
plugins: [react(), tsconfigPaths()],
resolve: {
alias: {
"@noctaCrdt": path.resolve(__dirname, "../@noctaCrdt"),
},
},
});
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,17 @@
"lint": "eslint . --fix",
"lint:client": "eslint \"client/src/**/*.{ts,tsx}\" --fix",
"lint:server": "eslint \"server/src/**/*.{ts,tsx}\" --fix",
"build": "cd @noctaCrdt && pnpm build && cd .. && pnpm -r build",
"build:lib": "cd @noctaCrdt && pnpm build",
"build:client": "cd client && pnpm build",
"build:server": "cd server && pnpm build",
"dev": "pnpm -r --parallel dev"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@noctaCrdt": "workspace:*",
"@eslint/js": "^9.14.0",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
Expand Down
11 changes: 11 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
packages:
- 'client'
- 'server'
- "client"
- "server"
- "@noctaCrdt"
15 changes: 14 additions & 1 deletion server/nest-cli.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,19 @@
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true
"deleteOutDir": true,
"webpack": true,
"tsConfigPath": "tsconfig.json"
},
"projects": {
"crdt": {
"type": "library",
"root": "../@noctaCrdt",
"entryFile": "Crdt",
"sourceRoot": "../@noctaCrdt",
"compilerOptions": {
"tsConfigPath": "../@noctaCrdt/tsconfig.json"
}
}
}
}
3 changes: 2 additions & 1 deletion server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"license": "UNLICENSED",
"type": "commonjs",
"scripts": {
"build": "nest build",
"build": "nest build --webpack --webpackPath webpack.config.js",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "nest start --watch",
Expand All @@ -22,6 +22,7 @@
"test:e2e": "jest --config ./test/jest-e2e.json"
},
"dependencies": {
"@noctaCrdt": "workspace:*",
"@nestjs/common": "^10.0.0",
"@nestjs/core": "^10.0.0",
"@nestjs/mongoose": "^10.1.0",
Expand Down
7 changes: 6 additions & 1 deletion server/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"extend": "../tsconfig.base.json",
"references": [{ "path": "../@noctaCrdt" }],
"compilerOptions": {
// 기본 설정
"module": "commonjs",
Expand All @@ -18,7 +20,10 @@
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,

"paths": {
"@Nocta/crdt": ["../@noctaCrdt/dist"],
"@Nocta/crdt/*": ["../@noctaCrdt/dist/*"]
},
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false,

Expand Down
25 changes: 25 additions & 0 deletions server/webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const path = require("path");

module.exports = {
mode: "development",
resolve: {
extensions: [".ts", ".js"],
alias: {
"@noctaCrdt": path.resolve(__dirname, "../@noctaCrdt"),
},
},
module: {
rules: [
{
test: /\.ts$/,
use: {
loader: "ts-loader",
options: {
configFile: "tsconfig.json",
},
},
exclude: /node_modules/,
},
],
},
};

0 comments on commit 69f8c8a

Please sign in to comment.