From c03b20f4a372418e240de7857ddb5761d303de3d Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 16:29:31 +0900 Subject: [PATCH 01/25] fix(#35): pnpm install --- pnpm-lock.yaml | 461 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 461 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 46295f79..fb7a81ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,16 +35,37 @@ importers: '@nestjs/platform-express': specifier: ^10.0.0 version: 10.4.6(@nestjs/common@10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1))(@nestjs/core@10.4.6) + ansi-regex: + specifier: ^6.1.0 + version: 6.1.0 + dockerode: + specifier: ^4.0.2 + version: 4.0.2 + dotenv: + specifier: ^16.4.5 + version: 16.4.5 reflect-metadata: specifier: ^0.1.13 version: 0.1.14 rxjs: specifier: ^7.8.1 version: 7.8.1 + strip-ansi: + specifier: ^7.1.0 + version: 7.1.0 + strip-ansi-cjs: + specifier: ^8.0.0 + version: 8.0.0 + tar-stream: + specifier: ^3.1.7 + version: 3.1.7 devDependencies: '@nestjs/cli': specifier: ^10.0.0 version: 10.4.5(@swc/core@1.7.42) + '@nestjs/config': + specifier: ^3.3.0 + version: 3.3.0(@nestjs/common@10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1))(rxjs@7.8.1) '@nestjs/schematics': specifier: ^10.0.0 version: 10.2.3(chokidar@3.6.0)(typescript@5.6.3) @@ -226,6 +247,9 @@ importers: '@radix-ui/react-slot': specifier: ^1.1.0 version: 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-tabs': + specifier: ^1.1.1 + version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) @@ -597,6 +621,9 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@balena/dockerignore@1.0.2': + resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1175,6 +1202,12 @@ packages: class-validator: optional: true + '@nestjs/config@3.3.0': + resolution: {integrity: sha512-pdGTp8m9d0ZCrjTpjkUbZx6gyf2IKf+7zlkrPNMsJzYZ4bFRRTpXrnj+556/5uiI6AfL5mMrJc2u7dB6bvM+VA==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + rxjs: ^7.1.0 + '@nestjs/core@10.4.6': resolution: {integrity: sha512-zXVPxCNRfO6gAy0yvEDjUxE/8gfZICJFpsl2lZAUH31bPb6m+tXuhUq2mVCTEltyMYQ+DYtRe+fEYM2v152N1g==} peerDependencies: @@ -1237,6 +1270,22 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@radix-ui/primitive@1.1.0': + resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} + + '@radix-ui/react-collection@1.1.0': + resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-compose-refs@1.1.0': resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} peerDependencies: @@ -1246,6 +1295,55 @@ packages: '@types/react': optional: true + '@radix-ui/react-context@1.1.0': + resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.1': + resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-direction@1.1.0': + resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-id@1.1.0': + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-presence@1.1.1': + resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-primitive@2.0.0': resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} peerDependencies: @@ -1259,6 +1357,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-roving-focus@1.1.0': + resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-separator@1.1.0': resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} peerDependencies: @@ -1281,6 +1392,46 @@ packages: '@types/react': optional: true + '@radix-ui/react-tabs@1.1.1': + resolution: {integrity: sha512-3GBUDmP2DvzmtYLMsHmpA1GtR46ZDZ+OreXM/N+kkQJOPIgytFWWTfDQmBQKBvaFS0Vno0FktdbVzN28KGrMdw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@rollup/pluginutils@5.1.3': resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} @@ -2151,6 +2302,9 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -2172,6 +2326,9 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + b4a@1.6.7: + resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} + babel-dead-code-elimination@1.0.6: resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} @@ -2206,9 +2363,15 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bare-events@2.5.0: + resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -2248,6 +2411,10 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buildcheck@0.0.6: + resolution: {integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==} + engines: {node: '>=10.0.0'} + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -2329,6 +2496,9 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -2518,6 +2688,10 @@ packages: typescript: optional: true + cpu-features@0.0.10: + resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} + engines: {node: '>=10.0.0'} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2673,6 +2847,14 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + docker-modem@5.0.3: + resolution: {integrity: sha512-89zhop5YVhcPEt5FpUFGr3cDyceGhq/F9J+ZndQ4KfqNvfbJpPMfgeixFgUj5OjCYAboElqODxY5Z1EBsSa6sg==} + engines: {node: '>= 8.0'} + + dockerode@4.0.2: + resolution: {integrity: sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w==} + engines: {node: '>= 8.0'} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -2691,6 +2873,14 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} + dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2739,6 +2929,9 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + enhanced-resolve@5.17.1: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} @@ -3012,6 +3205,9 @@ packages: fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -3109,6 +3305,9 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -4161,6 +4360,9 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -4191,6 +4393,9 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nan@2.22.0: + resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4538,6 +4743,9 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -4552,6 +4760,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -4841,6 +5052,9 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + split-ca@1.0.1: + resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} + split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -4848,6 +5062,10 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + ssh2@1.16.0: + resolution: {integrity: sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==} + engines: {node: '>=10.16.0'} + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -4866,6 +5084,9 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -4906,6 +5127,9 @@ packages: stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi-cjs@8.0.0: + resolution: {integrity: sha512-32gkt3BeWEaDWScWe6w75HZX3dgTwM6SCzYZOJqnQWwGIugHHj5+u/TSzZUbcEsg8v0dpVljHNHcUJ+1dmVRqw==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -4991,6 +5215,16 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar-fs@2.0.1: + resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + terser-webpack-plugin@5.3.10: resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} @@ -5016,6 +5250,9 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + text-decoder@1.2.1: + resolution: {integrity: sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==} + text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -5229,6 +5466,9 @@ packages: resolution: {integrity: sha512-5lDvSqIxCYJ/BAd6rQGK/AzFRhBkbu4JHVMLmGh/hCb7U3CqSnr5Tjwfy9vc+/5wG2DJ6wttgAaA7MoCgvBKZQ==} hasBin: true + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5902,6 +6142,8 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@balena/dockerignore@1.0.2': {} + '@bcoe/v8-coverage@0.2.3': {} '@colors/colors@1.5.0': @@ -6528,6 +6770,14 @@ snapshots: tslib: 2.7.0 uid: 2.0.2 + '@nestjs/config@3.3.0(@nestjs/common@10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1))(rxjs@7.8.1)': + dependencies: + '@nestjs/common': 10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1) + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + lodash: 4.17.21 + rxjs: 7.8.1 + '@nestjs/core@10.4.6(@nestjs/common@10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1))(@nestjs/platform-express@10.4.6)(reflect-metadata@0.1.14)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1) @@ -6609,12 +6859,61 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@radix-ui/primitive@1.1.0': {} + + '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: '@types/react': 18.3.12 + '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 + '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -6624,6 +6923,23 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 + '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 + '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -6640,6 +6956,41 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 + '@radix-ui/react-tabs@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 + + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + '@rollup/pluginutils@5.1.3(rollup@4.24.3)': dependencies: '@types/estree': 1.0.6 @@ -7642,6 +7993,10 @@ snapshots: asap@2.0.6: {} + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + assertion-error@2.0.1: {} async@3.2.6: {} @@ -7662,6 +8017,8 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 + b4a@1.6.7: {} + babel-dead-code-elimination@1.0.6: dependencies: '@babel/core': 7.26.0 @@ -7730,8 +8087,15 @@ snapshots: balanced-match@1.0.2: {} + bare-events@2.5.0: + optional: true + base64-js@1.5.1: {} + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + binary-extensions@2.3.0: {} bl@4.1.0: @@ -7792,6 +8156,9 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + buildcheck@0.0.6: + optional: true + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -7866,6 +8233,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chownr@1.1.4: {} + chrome-trace-event@1.0.4: {} ci-info@3.9.0: {} @@ -8030,6 +8399,12 @@ snapshots: optionalDependencies: typescript: 5.6.3 + cpu-features@0.0.10: + dependencies: + buildcheck: 0.0.6 + nan: 2.22.0 + optional: true + create-jest@29.7.0(@types/node@20.17.5)(ts-node@10.9.2(@swc/core@1.7.42)(@types/node@20.17.5)(typescript@5.6.3)): dependencies: '@jest/types': 29.6.3 @@ -8163,6 +8538,23 @@ snapshots: dlv@1.1.3: {} + docker-modem@5.0.3: + dependencies: + debug: 4.3.7 + readable-stream: 3.6.2 + split-ca: 1.0.1 + ssh2: 1.16.0 + transitivePeerDependencies: + - supports-color + + dockerode@4.0.2: + dependencies: + '@balena/dockerignore': 1.0.2 + docker-modem: 5.0.3 + tar-fs: 2.0.1 + transitivePeerDependencies: + - supports-color + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -8179,6 +8571,10 @@ snapshots: dependencies: is-obj: 2.0.0 + dotenv-expand@10.0.0: {} + + dotenv@16.4.5: {} + eastasianwidth@0.2.0: {} ee-first@1.1.1: {} @@ -8213,6 +8609,10 @@ snapshots: encodeurl@2.0.0: {} + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 @@ -8728,6 +9128,8 @@ snapshots: fast-diff@1.3.0: {} + fast-fifo@1.3.2: {} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -8856,6 +9258,8 @@ snapshots: fresh@0.5.2: {} + fs-constants@1.0.0: {} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -10327,6 +10731,8 @@ snapshots: minipass@7.1.2: {} + mkdirp-classic@0.5.3: {} + mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -10364,6 +10770,9 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nan@2.22.0: + optional: true + nanoid@3.3.7: {} natural-compare-lite@1.4.0: {} @@ -10672,6 +11081,11 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -10682,6 +11096,8 @@ snapshots: queue-microtask@1.2.3: {} + queue-tick@1.0.1: {} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -11052,10 +11468,20 @@ snapshots: space-separated-tokens@2.0.2: {} + split-ca@1.0.1: {} + split2@4.2.0: {} sprintf-js@1.0.3: {} + ssh2@1.16.0: + dependencies: + asn1: 0.2.6 + bcrypt-pbkdf: 1.0.2 + optionalDependencies: + cpu-features: 0.0.10 + nan: 2.22.0 + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -11068,6 +11494,14 @@ snapshots: streamsearch@1.1.0: {} + streamx@2.20.1: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + text-decoder: 1.2.1 + optionalDependencies: + bare-events: 2.5.0 + string-argv@0.3.2: {} string-length@4.0.2: @@ -11125,6 +11559,8 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi-cjs@8.0.0: {} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -11232,6 +11668,27 @@ snapshots: tapable@2.2.1: {} + tar-fs@2.0.1: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + tar-stream@3.1.7: + dependencies: + b4a: 1.6.7 + fast-fifo: 1.3.2 + streamx: 2.20.1 + terser-webpack-plugin@5.3.10(@swc/core@1.7.42)(webpack@5.94.0(@swc/core@1.7.42)): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -11268,6 +11725,8 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + text-decoder@1.2.1: {} + text-extensions@2.4.0: {} text-table@0.2.0: {} @@ -11453,6 +11912,8 @@ snapshots: turbo-windows-64: 2.2.3 turbo-windows-arm64: 2.2.3 + tweetnacl@0.14.5: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 From 5f944cbdba652b1ad6f86b6be4400a6c0cd2eb69 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:21:25 +0900 Subject: [PATCH 02/25] feat(#35): git action workflows --- .github/workflows/cd.yml | 45 ++++++++++++++ .github/workflows/ci.yml | 44 ++++++++++++++ Dockerfile | 14 +++++ ....timestamp-1731397235209-ff03ed3f3f3a4.mjs | 60 +++++++++++++++++++ ....timestamp-1731397318219-e73731b71ce51.mjs | 60 +++++++++++++++++++ 5 files changed, 223 insertions(+) create mode 100644 .github/workflows/cd.yml create mode 100644 .github/workflows/ci.yml create mode 100644 Dockerfile create mode 100644 packages/react-markdown/vite.config.ts.timestamp-1731397235209-ff03ed3f3f3a4.mjs create mode 100644 packages/react-markdown/vite.config.ts.timestamp-1731397318219-e73731b71ce51.mjs diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 00000000..ffef9f01 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,45 @@ +name: froxy Continuous Delivery + +on: + push: + branches: + - release # release 브랜치에 푸시될 때 실행 + +jobs: + build_and_deploy: + runs-on: ubuntu-20.04 # 빌드가 진행될 환경 설정 + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} # DockerHub 사용자 이름 + password: ${{ secrets.DOCKER_PASSWORD }} # DockerHub 비밀번호 + - name: Create .env file + run: | + echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env + - name: Build Docker image + run: | + docker build -t froxy-server:demo . + + - name: Push Docker image to Docker Hub + run: | + docker push froxy-server:demo + + - name: Setup SSH + uses: webfactory/ssh-agent@v0.5.3 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Deploy to server + run: | + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull docker-server:${{ github.sha }} && \ + docker stop froxy-container || true && \ + docker rm froxy-container || true && \ + docker run -d --name froxy-container docker-server:${{ github.sha }}" # 서버에 Docker 이미지 다운로드 후 실행 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..0e177ec2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,44 @@ +name: Froxy Continuous Integration + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + ci: + runs-on: ubuntu-20.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' # 적절한 Node.js 버전으로 설정 + cache: 'pnpm' # pnpm 캐싱 활성화 + - name: Create .env file + run: | + echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env + - name: Install pnpm #pnpm설치 + run: | + npm install -g pnpm + + - name: Install dependencies #라이브러리설치 + run: | + pnpm install + + - name: Run Turbo build + run: | + pnpm turbo run build --filter=backend + #FE CI : pnpm turbo run build --filter=frontend + #전역 CI : pnpm turbo run build + + #테스트코드 빌드는 테스트코드를 추가할때 사용 + #- name: Run Turbo tests + # run: | + # pnpm turbo run test --filter=be diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..e530b117 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:20 + +WORKDIR /app + +COPY package*.json ./ +RUN npm install -g pnpm && pnpm install + +COPY . . + +RUN pnpm run build +CMD ["pnpm", "run", "start:prod"] + +# 외부에서 접근할 수 있도록 포트 노출 +EXPOSE 3000 diff --git a/packages/react-markdown/vite.config.ts.timestamp-1731397235209-ff03ed3f3f3a4.mjs b/packages/react-markdown/vite.config.ts.timestamp-1731397235209-ff03ed3f3f3a4.mjs new file mode 100644 index 00000000..263e9ea1 --- /dev/null +++ b/packages/react-markdown/vite.config.ts.timestamp-1731397235209-ff03ed3f3f3a4.mjs @@ -0,0 +1,60 @@ +// vite.config.ts +import react from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/@vitejs+plugin-react-swc@3.7.1_vite@5.4.10_@types+node@20.17.5_terser@5.36.0_/node_modules/@vitejs/plugin-react-swc/index.mjs"; +import { resolve } from "path"; +import { defineConfig } from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/vite@5.4.10_@types+node@20.17.5_terser@5.36.0/node_modules/vite/dist/node/index.js"; +import dts from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/vite-plugin-dts@4.3.0_@types+node@20.17.5_rollup@4.24.3_typescript@5.6.3_vite@5.4.10_@types+node@20.17.5_terser@5.36.0_/node_modules/vite-plugin-dts/dist/index.mjs"; +import tsconfigPaths from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/vite-tsconfig-paths@5.0.1_typescript@5.6.3_vite@5.4.10_@types+node@20.17.5_terser@5.36.0_/node_modules/vite-tsconfig-paths/dist/index.js"; +var __vite_injected_original_dirname = "/Users/munjunho/Desktop/BC-project/web38-Froxy/packages/react-markdown"; +var vite_config_default = defineConfig({ + base: "./", + test: { + globals: true, + environment: "jsdom", + setupFiles: ["./src/test/setupTests.ts"] + }, + resolve: { + alias: { + "@": resolve(__vite_injected_original_dirname, "./src") + } + }, + build: { + lib: { + entry: resolve(__vite_injected_original_dirname, "src/index.ts"), + name: "@froxy/react-markdown", + formats: ["es"], + // 포맷 추가 + fileName: (format) => `index.${format}.js` + // 포맷별 파일명 + }, + rollupOptions: { + external: ["react", "react-dom"], + output: { + globals: { + react: "React", + "react-dom": "ReactDOM" + }, + exports: "named", + // named exports 설정 + chunkFileNames: "chunks/[name].js", + assetFileNames: "assets/[name].[ext]", + entryFileNames: "[name].js", + manualChunks: void 0, + inlineDynamicImports: false + } + } + }, + plugins: [ + react(), + tsconfigPaths(), + dts({ + tsconfigPath: "./tsconfig.app.json", + include: ["src"], + rollupTypes: true + // 타입 번들링 + }) + ] +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvbXVuanVuaG8vRGVza3RvcC9CQy1wcm9qZWN0L3dlYjM4LUZyb3h5L3BhY2thZ2VzL3JlYWN0LW1hcmtkb3duXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvbXVuanVuaG8vRGVza3RvcC9CQy1wcm9qZWN0L3dlYjM4LUZyb3h5L3BhY2thZ2VzL3JlYWN0LW1hcmtkb3duL3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9tdW5qdW5oby9EZXNrdG9wL0JDLXByb2plY3Qvd2ViMzgtRnJveHkvcGFja2FnZXMvcmVhY3QtbWFya2Rvd24vdml0ZS5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5cbmltcG9ydCByZWFjdCBmcm9tICdAdml0ZWpzL3BsdWdpbi1yZWFjdC1zd2MnO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgZHRzIGZyb20gJ3ZpdGUtcGx1Z2luLWR0cyc7XG5pbXBvcnQgdHNjb25maWdQYXRocyBmcm9tICd2aXRlLXRzY29uZmlnLXBhdGhzJztcblxuLy8gaHR0cHM6Ly92aXRlLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBiYXNlOiAnLi8nLFxuICB0ZXN0OiB7XG4gICAgZ2xvYmFsczogdHJ1ZSxcbiAgICBlbnZpcm9ubWVudDogJ2pzZG9tJyxcbiAgICBzZXR1cEZpbGVzOiBbJy4vc3JjL3Rlc3Qvc2V0dXBUZXN0cy50cyddXG4gIH0sXG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgJ0AnOiByZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjJylcbiAgICB9XG4gIH0sXG4gIGJ1aWxkOiB7XG4gICAgbGliOiB7XG4gICAgICBlbnRyeTogcmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvaW5kZXgudHMnKSxcbiAgICAgIG5hbWU6ICdAZnJveHkvcmVhY3QtbWFya2Rvd24nLFxuICAgICAgZm9ybWF0czogWydlcyddLCAvLyBcdUQzRUNcdUI5RjcgXHVDRDk0XHVBQzAwXG4gICAgICBmaWxlTmFtZTogKGZvcm1hdCkgPT4gYGluZGV4LiR7Zm9ybWF0fS5qc2AgLy8gXHVEM0VDXHVCOUY3XHVCQ0M0IFx1RDMwQ1x1Qzc3Q1x1QkE4NVxuICAgIH0sXG4gICAgcm9sbHVwT3B0aW9uczoge1xuICAgICAgZXh0ZXJuYWw6IFsncmVhY3QnLCAncmVhY3QtZG9tJ10sXG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgZ2xvYmFsczoge1xuICAgICAgICAgIHJlYWN0OiAnUmVhY3QnLFxuICAgICAgICAgICdyZWFjdC1kb20nOiAnUmVhY3RET00nXG4gICAgICAgIH0sXG4gICAgICAgIGV4cG9ydHM6ICduYW1lZCcsIC8vIG5hbWVkIGV4cG9ydHMgXHVDMTI0XHVDODE1XG4gICAgICAgIGNodW5rRmlsZU5hbWVzOiAnY2h1bmtzL1tuYW1lXS5qcycsXG4gICAgICAgIGFzc2V0RmlsZU5hbWVzOiAnYXNzZXRzL1tuYW1lXS5bZXh0XScsXG4gICAgICAgIGVudHJ5RmlsZU5hbWVzOiAnW25hbWVdLmpzJyxcbiAgICAgICAgbWFudWFsQ2h1bmtzOiB1bmRlZmluZWQsXG4gICAgICAgIGlubGluZUR5bmFtaWNJbXBvcnRzOiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBwbHVnaW5zOiBbXG4gICAgcmVhY3QoKSxcbiAgICB0c2NvbmZpZ1BhdGhzKCksXG4gICAgZHRzKHtcbiAgICAgIHRzY29uZmlnUGF0aDogJy4vdHNjb25maWcuYXBwLmpzb24nLFxuICAgICAgaW5jbHVkZTogWydzcmMnXSxcbiAgICAgIHJvbGx1cFR5cGVzOiB0cnVlIC8vIFx1RDBDMFx1Qzc4NSBcdUJDODhcdUI0RTRcdUI5QzFcbiAgICB9KVxuICBdXG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFFQSxPQUFPLFdBQVc7QUFDbEIsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsb0JBQW9CO0FBQzdCLE9BQU8sU0FBUztBQUNoQixPQUFPLG1CQUFtQjtBQU4xQixJQUFNLG1DQUFtQztBQVN6QyxJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMxQixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixTQUFTO0FBQUEsSUFDVCxhQUFhO0FBQUEsSUFDYixZQUFZLENBQUMsMEJBQTBCO0FBQUEsRUFDekM7QUFBQSxFQUNBLFNBQVM7QUFBQSxJQUNQLE9BQU87QUFBQSxNQUNMLEtBQUssUUFBUSxrQ0FBVyxPQUFPO0FBQUEsSUFDakM7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDTCxLQUFLO0FBQUEsTUFDSCxPQUFPLFFBQVEsa0NBQVcsY0FBYztBQUFBLE1BQ3hDLE1BQU07QUFBQSxNQUNOLFNBQVMsQ0FBQyxJQUFJO0FBQUE7QUFBQSxNQUNkLFVBQVUsQ0FBQyxXQUFXLFNBQVMsTUFBTTtBQUFBO0FBQUEsSUFDdkM7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLFVBQVUsQ0FBQyxTQUFTLFdBQVc7QUFBQSxNQUMvQixRQUFRO0FBQUEsUUFDTixTQUFTO0FBQUEsVUFDUCxPQUFPO0FBQUEsVUFDUCxhQUFhO0FBQUEsUUFDZjtBQUFBLFFBQ0EsU0FBUztBQUFBO0FBQUEsUUFDVCxnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxRQUNoQixjQUFjO0FBQUEsUUFDZCxzQkFBc0I7QUFBQSxNQUN4QjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFFQSxTQUFTO0FBQUEsSUFDUCxNQUFNO0FBQUEsSUFDTixjQUFjO0FBQUEsSUFDZCxJQUFJO0FBQUEsTUFDRixjQUFjO0FBQUEsTUFDZCxTQUFTLENBQUMsS0FBSztBQUFBLE1BQ2YsYUFBYTtBQUFBO0FBQUEsSUFDZixDQUFDO0FBQUEsRUFDSDtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg== diff --git a/packages/react-markdown/vite.config.ts.timestamp-1731397318219-e73731b71ce51.mjs b/packages/react-markdown/vite.config.ts.timestamp-1731397318219-e73731b71ce51.mjs new file mode 100644 index 00000000..263e9ea1 --- /dev/null +++ b/packages/react-markdown/vite.config.ts.timestamp-1731397318219-e73731b71ce51.mjs @@ -0,0 +1,60 @@ +// vite.config.ts +import react from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/@vitejs+plugin-react-swc@3.7.1_vite@5.4.10_@types+node@20.17.5_terser@5.36.0_/node_modules/@vitejs/plugin-react-swc/index.mjs"; +import { resolve } from "path"; +import { defineConfig } from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/vite@5.4.10_@types+node@20.17.5_terser@5.36.0/node_modules/vite/dist/node/index.js"; +import dts from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/vite-plugin-dts@4.3.0_@types+node@20.17.5_rollup@4.24.3_typescript@5.6.3_vite@5.4.10_@types+node@20.17.5_terser@5.36.0_/node_modules/vite-plugin-dts/dist/index.mjs"; +import tsconfigPaths from "file:///Users/munjunho/Desktop/BC-project/web38-Froxy/node_modules/.pnpm/vite-tsconfig-paths@5.0.1_typescript@5.6.3_vite@5.4.10_@types+node@20.17.5_terser@5.36.0_/node_modules/vite-tsconfig-paths/dist/index.js"; +var __vite_injected_original_dirname = "/Users/munjunho/Desktop/BC-project/web38-Froxy/packages/react-markdown"; +var vite_config_default = defineConfig({ + base: "./", + test: { + globals: true, + environment: "jsdom", + setupFiles: ["./src/test/setupTests.ts"] + }, + resolve: { + alias: { + "@": resolve(__vite_injected_original_dirname, "./src") + } + }, + build: { + lib: { + entry: resolve(__vite_injected_original_dirname, "src/index.ts"), + name: "@froxy/react-markdown", + formats: ["es"], + // 포맷 추가 + fileName: (format) => `index.${format}.js` + // 포맷별 파일명 + }, + rollupOptions: { + external: ["react", "react-dom"], + output: { + globals: { + react: "React", + "react-dom": "ReactDOM" + }, + exports: "named", + // named exports 설정 + chunkFileNames: "chunks/[name].js", + assetFileNames: "assets/[name].[ext]", + entryFileNames: "[name].js", + manualChunks: void 0, + inlineDynamicImports: false + } + } + }, + plugins: [ + react(), + tsconfigPaths(), + dts({ + tsconfigPath: "./tsconfig.app.json", + include: ["src"], + rollupTypes: true + // 타입 번들링 + }) + ] +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvbXVuanVuaG8vRGVza3RvcC9CQy1wcm9qZWN0L3dlYjM4LUZyb3h5L3BhY2thZ2VzL3JlYWN0LW1hcmtkb3duXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvbXVuanVuaG8vRGVza3RvcC9CQy1wcm9qZWN0L3dlYjM4LUZyb3h5L3BhY2thZ2VzL3JlYWN0LW1hcmtkb3duL3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9tdW5qdW5oby9EZXNrdG9wL0JDLXByb2plY3Qvd2ViMzgtRnJveHkvcGFja2FnZXMvcmVhY3QtbWFya2Rvd24vdml0ZS5jb25maWcudHNcIjsvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGVzdFwiIC8+XG5cbmltcG9ydCByZWFjdCBmcm9tICdAdml0ZWpzL3BsdWdpbi1yZWFjdC1zd2MnO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgZHRzIGZyb20gJ3ZpdGUtcGx1Z2luLWR0cyc7XG5pbXBvcnQgdHNjb25maWdQYXRocyBmcm9tICd2aXRlLXRzY29uZmlnLXBhdGhzJztcblxuLy8gaHR0cHM6Ly92aXRlLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBiYXNlOiAnLi8nLFxuICB0ZXN0OiB7XG4gICAgZ2xvYmFsczogdHJ1ZSxcbiAgICBlbnZpcm9ubWVudDogJ2pzZG9tJyxcbiAgICBzZXR1cEZpbGVzOiBbJy4vc3JjL3Rlc3Qvc2V0dXBUZXN0cy50cyddXG4gIH0sXG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgJ0AnOiByZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjJylcbiAgICB9XG4gIH0sXG4gIGJ1aWxkOiB7XG4gICAgbGliOiB7XG4gICAgICBlbnRyeTogcmVzb2x2ZShfX2Rpcm5hbWUsICdzcmMvaW5kZXgudHMnKSxcbiAgICAgIG5hbWU6ICdAZnJveHkvcmVhY3QtbWFya2Rvd24nLFxuICAgICAgZm9ybWF0czogWydlcyddLCAvLyBcdUQzRUNcdUI5RjcgXHVDRDk0XHVBQzAwXG4gICAgICBmaWxlTmFtZTogKGZvcm1hdCkgPT4gYGluZGV4LiR7Zm9ybWF0fS5qc2AgLy8gXHVEM0VDXHVCOUY3XHVCQ0M0IFx1RDMwQ1x1Qzc3Q1x1QkE4NVxuICAgIH0sXG4gICAgcm9sbHVwT3B0aW9uczoge1xuICAgICAgZXh0ZXJuYWw6IFsncmVhY3QnLCAncmVhY3QtZG9tJ10sXG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgZ2xvYmFsczoge1xuICAgICAgICAgIHJlYWN0OiAnUmVhY3QnLFxuICAgICAgICAgICdyZWFjdC1kb20nOiAnUmVhY3RET00nXG4gICAgICAgIH0sXG4gICAgICAgIGV4cG9ydHM6ICduYW1lZCcsIC8vIG5hbWVkIGV4cG9ydHMgXHVDMTI0XHVDODE1XG4gICAgICAgIGNodW5rRmlsZU5hbWVzOiAnY2h1bmtzL1tuYW1lXS5qcycsXG4gICAgICAgIGFzc2V0RmlsZU5hbWVzOiAnYXNzZXRzL1tuYW1lXS5bZXh0XScsXG4gICAgICAgIGVudHJ5RmlsZU5hbWVzOiAnW25hbWVdLmpzJyxcbiAgICAgICAgbWFudWFsQ2h1bmtzOiB1bmRlZmluZWQsXG4gICAgICAgIGlubGluZUR5bmFtaWNJbXBvcnRzOiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBwbHVnaW5zOiBbXG4gICAgcmVhY3QoKSxcbiAgICB0c2NvbmZpZ1BhdGhzKCksXG4gICAgZHRzKHtcbiAgICAgIHRzY29uZmlnUGF0aDogJy4vdHNjb25maWcuYXBwLmpzb24nLFxuICAgICAgaW5jbHVkZTogWydzcmMnXSxcbiAgICAgIHJvbGx1cFR5cGVzOiB0cnVlIC8vIFx1RDBDMFx1Qzc4NSBcdUJDODhcdUI0RTRcdUI5QzFcbiAgICB9KVxuICBdXG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFFQSxPQUFPLFdBQVc7QUFDbEIsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsb0JBQW9CO0FBQzdCLE9BQU8sU0FBUztBQUNoQixPQUFPLG1CQUFtQjtBQU4xQixJQUFNLG1DQUFtQztBQVN6QyxJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMxQixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixTQUFTO0FBQUEsSUFDVCxhQUFhO0FBQUEsSUFDYixZQUFZLENBQUMsMEJBQTBCO0FBQUEsRUFDekM7QUFBQSxFQUNBLFNBQVM7QUFBQSxJQUNQLE9BQU87QUFBQSxNQUNMLEtBQUssUUFBUSxrQ0FBVyxPQUFPO0FBQUEsSUFDakM7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDTCxLQUFLO0FBQUEsTUFDSCxPQUFPLFFBQVEsa0NBQVcsY0FBYztBQUFBLE1BQ3hDLE1BQU07QUFBQSxNQUNOLFNBQVMsQ0FBQyxJQUFJO0FBQUE7QUFBQSxNQUNkLFVBQVUsQ0FBQyxXQUFXLFNBQVMsTUFBTTtBQUFBO0FBQUEsSUFDdkM7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLFVBQVUsQ0FBQyxTQUFTLFdBQVc7QUFBQSxNQUMvQixRQUFRO0FBQUEsUUFDTixTQUFTO0FBQUEsVUFDUCxPQUFPO0FBQUEsVUFDUCxhQUFhO0FBQUEsUUFDZjtBQUFBLFFBQ0EsU0FBUztBQUFBO0FBQUEsUUFDVCxnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxRQUNoQixnQkFBZ0I7QUFBQSxRQUNoQixjQUFjO0FBQUEsUUFDZCxzQkFBc0I7QUFBQSxNQUN4QjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFFQSxTQUFTO0FBQUEsSUFDUCxNQUFNO0FBQUEsSUFDTixjQUFjO0FBQUEsSUFDZCxJQUFJO0FBQUEsTUFDRixjQUFjO0FBQUEsTUFDZCxTQUFTLENBQUMsS0FBSztBQUFBLE1BQ2YsYUFBYTtBQUFBO0FBQUEsSUFDZixDQUFDO0FBQUEsRUFDSDtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg== From cfde3559db515c2e4d0360bb81bfb78d9c824234 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:24:12 +0900 Subject: [PATCH 03/25] fix(#35): ci command line fix --- .github/workflows/cd.yml | 4 ++-- apps/backend/package.json | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ffef9f01..91f7f76a 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -22,8 +22,8 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} # DockerHub 사용자 이름 password: ${{ secrets.DOCKER_PASSWORD }} # DockerHub 비밀번호 - name: Create .env file - run: | - echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env + run: | + echo "${{ secrets.BE_ENV }}" > .env - name: Build Docker image run: | docker build -t froxy-server:demo . diff --git a/apps/backend/package.json b/apps/backend/package.json index ce715134..47db1c4e 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -29,13 +29,10 @@ "@nestjs/common": "^10.0.0", "@nestjs/core": "^10.0.0", "@nestjs/platform-express": "^10.0.0", - "ansi-regex": "^6.1.0", "dockerode": "^4.0.2", "dotenv": "^16.4.5", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", - "strip-ansi": "^7.1.0", - "strip-ansi-cjs": "^8.0.0", "tar-stream": "^3.1.7" }, "devDependencies": { From 74b90d3b8bc2529349a204b2f8d8f55f200a2491 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:24:48 +0900 Subject: [PATCH 04/25] fix(#35): ci command line fix --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e177ec2..c04e8a00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,9 +21,11 @@ jobs: with: node-version: '20' # 적절한 Node.js 버전으로 설정 cache: 'pnpm' # pnpm 캐싱 활성화 + - name: Create .env file - run: | + run: | echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env + - name: Install pnpm #pnpm설치 run: | npm install -g pnpm From 592e6b8c6ceb267135126794af5c951eb14fd0a5 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:27:23 +0900 Subject: [PATCH 05/25] fix(#35): feature branch deployment add to test --- .github/workflows/cd.yml | 1 + .github/workflows/ci.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 91f7f76a..e9183586 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -3,6 +3,7 @@ name: froxy Continuous Delivery on: push: branches: + - feature-#35-BE-cicd - release # release 브랜치에 푸시될 때 실행 jobs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c04e8a00..b6381c5f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,10 +21,10 @@ jobs: with: node-version: '20' # 적절한 Node.js 버전으로 설정 cache: 'pnpm' # pnpm 캐싱 활성화 - + - name: Create .env file run: | - echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env + echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env - name: Install pnpm #pnpm설치 run: | From 3170eba9660ce3d7f780a5164028909dce0631dc Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:37:29 +0900 Subject: [PATCH 06/25] fix(#35): fix to not found pnpm --- .github/workflows/cd.yml | 4 +++- .github/workflows/ci.yml | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index e9183586..980465ce 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -3,8 +3,10 @@ name: froxy Continuous Delivery on: push: branches: - - feature-#35-BE-cicd - release # release 브랜치에 푸시될 때 실행 + pull_request: + branches: + - main jobs: build_and_deploy: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6381c5f..ee642f45 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: 9 + - name: Setup Node.js uses: actions/setup-node@v3 with: @@ -26,10 +31,6 @@ jobs: run: | echo "${{ secrets.BE_ENV }}" > ./apps/backend/.env - - name: Install pnpm #pnpm설치 - run: | - npm install -g pnpm - - name: Install dependencies #라이브러리설치 run: | pnpm install From a491d83af072b5348d697694e0d10093e4eb554b Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:42:57 +0900 Subject: [PATCH 07/25] fix(#35): sync pnpm-lockfile --- pnpm-lock.yaml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fb7a81ed..8318fe1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,9 +35,6 @@ importers: '@nestjs/platform-express': specifier: ^10.0.0 version: 10.4.6(@nestjs/common@10.4.6(reflect-metadata@0.1.14)(rxjs@7.8.1))(@nestjs/core@10.4.6) - ansi-regex: - specifier: ^6.1.0 - version: 6.1.0 dockerode: specifier: ^4.0.2 version: 4.0.2 @@ -50,12 +47,6 @@ importers: rxjs: specifier: ^7.8.1 version: 7.8.1 - strip-ansi: - specifier: ^7.1.0 - version: 7.1.0 - strip-ansi-cjs: - specifier: ^8.0.0 - version: 8.0.0 tar-stream: specifier: ^3.1.7 version: 3.1.7 @@ -5127,9 +5118,6 @@ packages: stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - strip-ansi-cjs@8.0.0: - resolution: {integrity: sha512-32gkt3BeWEaDWScWe6w75HZX3dgTwM6SCzYZOJqnQWwGIugHHj5+u/TSzZUbcEsg8v0dpVljHNHcUJ+1dmVRqw==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -11559,8 +11547,6 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - strip-ansi-cjs@8.0.0: {} - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 From 9654b993f7f2747294e486088d9b29cce7874fa0 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 18:54:18 +0900 Subject: [PATCH 08/25] fix(#35): dockerFile build command fix --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e530b117..ad3c7826 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN npm install -g pnpm && pnpm install COPY . . -RUN pnpm run build +RUN pnpm turbo run build --filter=backend CMD ["pnpm", "run", "start:prod"] # 외부에서 접근할 수 있도록 포트 노출 From 0b3004e05a4e4472ddb32eb54e81bfcfe6d24b50 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:01:36 +0900 Subject: [PATCH 09/25] fix(#35): docker file fix --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ad3c7826..12d127bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,10 @@ FROM node:20 WORKDIR /app +RUN npm install -g pnpm + COPY package*.json ./ -RUN npm install -g pnpm && pnpm install +RUN pnpm install COPY . . From 3646665a5e15183b59e638d02ad838e31357421f Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:11:14 +0900 Subject: [PATCH 10/25] fix(#35): change workdirectory to /backend --- .github/workflows/ci.yml | 3 ++- Dockerfile | 7 ++++--- apps/backend/src/app.module.ts | 7 ++++--- apps/backend/src/docker/docker.controller.ts | 10 +++++----- apps/backend/src/docker/docker.service.ts | 4 ++-- apps/backend/test/app.e2e-spec.ts | 9 +++------ 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee642f45..fb1800ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,8 +35,9 @@ jobs: run: | pnpm install - - name: Run Turbo build + - name: Run lint & Turbo build run: | + pnpm lint --filter=backend pnpm turbo run build --filter=backend #FE CI : pnpm turbo run build --filter=frontend #전역 CI : pnpm turbo run build diff --git a/Dockerfile b/Dockerfile index 12d127bf..72dab5c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,14 +2,15 @@ FROM node:20 WORKDIR /app -RUN npm install -g pnpm COPY package*.json ./ -RUN pnpm install +RUN npm install -g pnpm && pnpm install COPY . . -RUN pnpm turbo run build --filter=backend +RUN pnpm lint --filter=backend && pnpm turbo run build --filter=backend + +WORKDIR /app/apps/backend CMD ["pnpm", "run", "start:prod"] # 외부에서 접근할 수 있도록 포트 노출 diff --git a/apps/backend/src/app.module.ts b/apps/backend/src/app.module.ts index b00d8036..9453ac05 100644 --- a/apps/backend/src/app.module.ts +++ b/apps/backend/src/app.module.ts @@ -1,16 +1,17 @@ import { Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { DockerModule } from './docker/docker.module'; -import { ConfigModule } from "@nestjs/config" @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, - envFilePath: '.env', + envFilePath: '.env' }), - DockerModule], + DockerModule + ], controllers: [AppController], providers: [AppService] }) diff --git a/apps/backend/src/docker/docker.controller.ts b/apps/backend/src/docker/docker.controller.ts index 51dc6782..f86b94b4 100644 --- a/apps/backend/src/docker/docker.controller.ts +++ b/apps/backend/src/docker/docker.controller.ts @@ -1,20 +1,20 @@ import { Controller, Get, Param } from '@nestjs/common'; -import { DockerService } from './docker.service.js'; import { ConfigService } from '@nestjs/config'; +import { DockerService } from './docker.service.js'; @Controller('docker') export class DockerController { constructor(private readonly dockerService: DockerService, private configService: ConfigService) {} @Get('get') - async getDockersTest(): Promise{ + async getDockersTest(): Promise { const mainFileName = 'FunctionDivide.js'; // const gitToken = this.configService.get('STATIC_GIST_ID'); const gistId = this.configService.get('DYNAMIC_GIST_ID'); const gitToken = this.configService.get('GIT_TOKEN'); console.log(gitToken); - const inputs = ["1 1 1 1","1 1 1 1","1 1 1 1","1 1 1 1"]; - const value = await this.dockerService.getDocker(gitToken, gistId, mainFileName,inputs); - return value + const inputs = ['1 1 1 1', '1 1 1 1', '1 1 1 1', '1 1 1 1']; + const value = await this.dockerService.getDocker(gitToken, gistId, mainFileName, inputs); + return value; } } diff --git a/apps/backend/src/docker/docker.service.ts b/apps/backend/src/docker/docker.service.ts index b5c869ba..9ab7a97e 100644 --- a/apps/backend/src/docker/docker.service.ts +++ b/apps/backend/src/docker/docker.service.ts @@ -1,9 +1,9 @@ import { Injectable } from '@nestjs/common'; import * as Docker from 'dockerode'; import { Container } from 'dockerode'; -import * as tar from 'tar-stream'; -import * as path from 'path'; import { promises as fs } from 'fs'; +import * as path from 'path'; +import * as tar from 'tar-stream'; interface GistFileAttributes { filename: string; diff --git a/apps/backend/test/app.e2e-spec.ts b/apps/backend/test/app.e2e-spec.ts index 50cda623..def87095 100644 --- a/apps/backend/test/app.e2e-spec.ts +++ b/apps/backend/test/app.e2e-spec.ts @@ -1,5 +1,5 @@ -import { Test, TestingModule } from '@nestjs/testing'; import { INestApplication } from '@nestjs/common'; +import { Test, TestingModule } from '@nestjs/testing'; import * as request from 'supertest'; import { AppModule } from './../src/app.module'; @@ -8,7 +8,7 @@ describe('AppController (e2e)', () => { beforeEach(async () => { const moduleFixture: TestingModule = await Test.createTestingModule({ - imports: [AppModule], + imports: [AppModule] }).compile(); app = moduleFixture.createNestApplication(); @@ -16,9 +16,6 @@ describe('AppController (e2e)', () => { }); it('/ (GET)', () => { - return request(app.getHttpServer()) - .get('/') - .expect(200) - .expect('Hello World!'); + return request(app.getHttpServer()).get('/').expect(200).expect('Hello World!'); }); }); From 2f6b6ce54ea4c4f02f2408a145f1d6a2ee205b7a Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:17:59 +0900 Subject: [PATCH 11/25] fix(#35): pnpm install command change --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 72dab5c0..4de87a2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,10 +4,12 @@ WORKDIR /app COPY package*.json ./ -RUN npm install -g pnpm && pnpm install +RUN npm install -g pnpm COPY . . +RUN pnpm install + RUN pnpm lint --filter=backend && pnpm turbo run build --filter=backend WORKDIR /app/apps/backend From a2eac630f7eb4aec1450a66245e26d4c562076be Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:24:49 +0900 Subject: [PATCH 12/25] feat(#35): docker image version fix --- .github/workflows/cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 980465ce..0aa59132 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -42,7 +42,7 @@ jobs: - name: Deploy to server run: | - ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull docker-server:${{ github.sha }} && \ + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull docker-server:demo && \ docker stop froxy-container || true && \ docker rm froxy-container || true && \ - docker run -d --name froxy-container docker-server:${{ github.sha }}" # 서버에 Docker 이미지 다운로드 후 실행 + docker run -d --name froxy-container docker-server:demo}" # 서버에 Docker 이미지 다운로드 후 실행 From dc5a6e06c04eba4b365812a5c2895bbb8fd44a64 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:38:02 +0900 Subject: [PATCH 13/25] fix(#35): docker image name tag fix --- .github/workflows/cd.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 0aa59132..b61fb558 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -29,11 +29,11 @@ jobs: echo "${{ secrets.BE_ENV }}" > .env - name: Build Docker image run: | - docker build -t froxy-server:demo . + docker build -t ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest . - name: Push Docker image to Docker Hub run: | - docker push froxy-server:demo + docker push froxy-server:latest - name: Setup SSH uses: webfactory/ssh-agent@v0.5.3 @@ -42,7 +42,7 @@ jobs: - name: Deploy to server run: | - ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull docker-server:demo && \ + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull docker-server:latest && \ docker stop froxy-container || true && \ docker rm froxy-container || true && \ - docker run -d --name froxy-container docker-server:demo}" # 서버에 Docker 이미지 다운로드 후 실행 + docker run -d --name froxy-container docker-server:latest}" # 서버에 Docker 이미지 다운로드 후 실행 From a4bb0f28ee4f086985405cffd773b11681297231 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:39:39 +0900 Subject: [PATCH 14/25] fix(#35): docker push tag name fix --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index b61fb558..02f07a26 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -33,7 +33,7 @@ jobs: - name: Push Docker image to Docker Hub run: | - docker push froxy-server:latest + docker push ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest - name: Setup SSH uses: webfactory/ssh-agent@v0.5.3 From 7704248b659175fffd74c62d6576375f4633214f Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 19:57:46 +0900 Subject: [PATCH 15/25] fix(#35): image name fix --- .github/workflows/cd.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 02f07a26..63fc71c6 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -24,16 +24,21 @@ jobs: with: username: ${{ secrets.DOCKER_USERNAME }} # DockerHub 사용자 이름 password: ${{ secrets.DOCKER_PASSWORD }} # DockerHub 비밀번호 + + #이미지 이름 저장 + - name: Set Docker image tag as a variable + run: echo "DOCKER_TAG=${{ secrets.DOCKER_USERNAME }}/froxy-server:latest" >> $GITHUB_ENV + - name: Create .env file run: | echo "${{ secrets.BE_ENV }}" > .env - name: Build Docker image run: | - docker build -t ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest . + docker build -t $DOCKER_TAG . - name: Push Docker image to Docker Hub run: | - docker push ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest + docker push DOCKER_TAG - name: Setup SSH uses: webfactory/ssh-agent@v0.5.3 @@ -42,7 +47,7 @@ jobs: - name: Deploy to server run: | - ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull docker-server:latest && \ + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull DOCKER_TAG && \ docker stop froxy-container || true && \ docker rm froxy-container || true && \ - docker run -d --name froxy-container docker-server:latest}" # 서버에 Docker 이미지 다운로드 후 실행 + docker run -d --name froxy-container DOCKER_TAG}" # 서버에 Docker 이미지 다운로드 후 실행 From 52d19cd5d0483c0588ac2f98eda7fa24b9dc2bf8 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:01:04 +0900 Subject: [PATCH 16/25] fix(#35): image name fix --- .github/workflows/cd.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 63fc71c6..803c631d 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -38,7 +38,7 @@ jobs: - name: Push Docker image to Docker Hub run: | - docker push DOCKER_TAG + docker push $DOCKER_TAG - name: Setup SSH uses: webfactory/ssh-agent@v0.5.3 @@ -47,7 +47,7 @@ jobs: - name: Deploy to server run: | - ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull DOCKER_TAG && \ + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "sudo docker pull $DOCKER_TAG && \ docker stop froxy-container || true && \ docker rm froxy-container || true && \ - docker run -d --name froxy-container DOCKER_TAG}" # 서버에 Docker 이미지 다운로드 후 실행 + docker run -d --name froxy-container $DOCKER_TAG}" # 서버에 Docker 이미지 다운로드 후 실행 From abb645e050fd5035dc54457c86f790385b3e5764 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:06:45 +0900 Subject: [PATCH 17/25] fix(#35): cd docker command delete sudo --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 803c631d..eabab260 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -47,7 +47,7 @@ jobs: - name: Deploy to server run: | - ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "sudo docker pull $DOCKER_TAG && \ + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull $DOCKER_TAG && \ docker stop froxy-container || true && \ docker rm froxy-container || true && \ docker run -d --name froxy-container $DOCKER_TAG}" # 서버에 Docker 이미지 다운로드 후 실행 From f630018542f6a8594c7b112d3f0a49dbe02ee79d Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:20:55 +0900 Subject: [PATCH 18/25] fix(#35): server setting fix --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index eabab260..3b7e4b66 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -45,7 +45,7 @@ jobs: with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - - name: Deploy to server + - name: Deploy run: | ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull $DOCKER_TAG && \ docker stop froxy-container || true && \ From c5133575ce449ef46f8e7e4fe5d6bba1999dd06f Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:29:57 +0900 Subject: [PATCH 19/25] fix(#35): docker tag fix --- .github/workflows/cd.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 3b7e4b66..6387e1e4 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -47,6 +47,7 @@ jobs: - name: Deploy run: | + echo "DOCKER_TAG: $DOCKER_TAG" ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull $DOCKER_TAG && \ docker stop froxy-container || true && \ docker rm froxy-container || true && \ From 3604a96ac7d136304cf5c978ad239005ba430cbc Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:41:05 +0900 Subject: [PATCH 20/25] fix(#35): container remove logic fix --- .github/workflows/cd.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6387e1e4..984a5874 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -44,11 +44,14 @@ jobs: uses: webfactory/ssh-agent@v0.5.3 with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - + - name: Deploy run: | echo "DOCKER_TAG: $DOCKER_TAG" - ssh -o StrictHostKeyChecking=no mun@211.188.48.24 "docker pull $DOCKER_TAG && \ - docker stop froxy-container || true && \ - docker rm froxy-container || true && \ + ssh -o StrictHostKeyChecking=no mun@211.188.48.24 " + if [ \$(sudo docker ps -a -q -f name=froxy-container) ]; then + sudo docker stop froxy-container + sudo docker rm froxy-container + fi + docker pull $DOCKER_TAG && \ docker run -d --name froxy-container $DOCKER_TAG}" # 서버에 Docker 이미지 다운로드 후 실행 From b83e78a5d94036b95bf96c0c8ad5461fb7ef3990 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:46:39 +0900 Subject: [PATCH 21/25] fix(#35): docker run imagename fix --- .github/workflows/cd.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 984a5874..e1369ce5 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -44,14 +44,13 @@ jobs: uses: webfactory/ssh-agent@v0.5.3 with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - + - name: Deploy run: | - echo "DOCKER_TAG: $DOCKER_TAG" ssh -o StrictHostKeyChecking=no mun@211.188.48.24 " - if [ \$(sudo docker ps -a -q -f name=froxy-container) ]; then - sudo docker stop froxy-container - sudo docker rm froxy-container + if [ \$(docker ps -a -q -f name=froxy-container) ]; then + docker stop froxy-container + docker rm froxy-container fi docker pull $DOCKER_TAG && \ - docker run -d --name froxy-container $DOCKER_TAG}" # 서버에 Docker 이미지 다운로드 후 실행 + docker run -d --name froxy-container ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest" # 서버에 Docker 이미지 다운로드 후 실행 From 30658851e17f6a87c145c8870889e8f97469cf01 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 20:56:51 +0900 Subject: [PATCH 22/25] fix(#35): docker image prune --- .github/workflows/cd.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index e1369ce5..df5c0f36 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -53,4 +53,5 @@ jobs: docker rm froxy-container fi docker pull $DOCKER_TAG && \ - docker run -d --name froxy-container ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest" # 서버에 Docker 이미지 다운로드 후 실행 + docker run -d --name froxy-container -p 3000:3000 ${{ secrets.DOCKER_USERNAME }}/froxy-server:latest" + docker image prune -f From 9a25f8702653c443d743db12d4241fb7fc57fcc2 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 21:15:23 +0900 Subject: [PATCH 23/25] feat(#35): pr be label filtering --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb1800ee..e9cc5b12 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,7 @@ on: jobs: ci: runs-on: ubuntu-20.04 + if: contains(github.event.pull_request.labels.*.name, 'BE') steps: - name: Checkout repository From 61dc0d491cbcf80c77bb76ee13371edb947c1af6 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 21:20:01 +0900 Subject: [PATCH 24/25] fix(#35): label sync --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9cc5b12..7725d330 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ on: jobs: ci: runs-on: ubuntu-20.04 - if: contains(github.event.pull_request.labels.*.name, 'BE') + if: contains(github.event.pull_request.labels.*.name, '💻 Be') steps: - name: Checkout repository From 0c5846b1e3f5361bb8ab8613eb7f0dd03175f2f7 Mon Sep 17 00:00:00 2001 From: mjh000526 Date: Tue, 12 Nov 2024 21:22:21 +0900 Subject: [PATCH 25/25] fix(#35): pull request --- .github/workflows/cd.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index df5c0f36..20f3a102 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -4,9 +4,6 @@ on: push: branches: - release # release 브랜치에 푸시될 때 실행 - pull_request: - branches: - - main jobs: build_and_deploy: