diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 16e09ef8..e925127e 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -26,17 +26,31 @@ services: front: build: context: ./front - dockerfile: Dockerfile.dev + dockerfile: Dockerfile.web.dev volumes: - ./front:/app - /app/.yarn - - /app/node-modules + - /app/node_modules - /app/packages/web/.next/ ports: - "3000:3000" restart: on-failure environment: - KYOO_URL=http://back:5000 + native: + build: + context: ./front + dockerfile: Dockerfile.native.dev + volumes: + - ./front:/app + - /app/.yarn + - /app/node_modules + - /app/packages/native/.expo/ + ports: + - "19000:19000" + restart: on-failure + environment: + - KYOO_URL=http://back:5000 ingress: image: nginx restart: on-failure diff --git a/front/.dockerignore b/front/.dockerignore index c3e78449..b46a5fe5 100644 --- a/front/.dockerignore +++ b/front/.dockerignore @@ -7,6 +7,7 @@ node_modules npm-debug.log README.md .next +.expo .git .yarn !.yarn/releases diff --git a/front/Dockerfile b/front/Dockerfile index 40f6bcc5..9de14771 100644 --- a/front/Dockerfile +++ b/front/Dockerfile @@ -4,6 +4,7 @@ COPY .yarn ./.yarn COPY .yarnrc.yml ./ COPY package.json yarn.lock ./ COPY packages/web/package.json packages/web/package.json +COPY packages/native/package.json packages/native/package.json RUN yarn --immutable COPY . . @@ -18,6 +19,8 @@ WORKDIR /app COPY --from=builder /app/packages/web/.next/standalone . COPY --from=builder /app/packages/web/.next/static ./.next/static/ COPY --from=builder /app/packages/web/public ./public +# Waiting for https://github.com/vercel/next.js/discussions/39432 +# COPY --from=builder /app/packages/web/node_modules ./node_modules/ EXPOSE 8901 ENV PORT 8901 diff --git a/front/Dockerfile.native.dev b/front/Dockerfile.native.dev new file mode 100644 index 00000000..efda274f --- /dev/null +++ b/front/Dockerfile.native.dev @@ -0,0 +1,13 @@ +FROM node:16-alpine AS builder +WORKDIR /app + +COPY .yarn ./.yarn +COPY .yarnrc.yml ./ +COPY package.json yarn.lock ./ +COPY packages/web/package.json packages/web/package.json +COPY packages/native/package.json packages/native/package.json +RUN yarn --immutable + +EXPOSE 19000 +ENV PORT 19000 +CMD ["yarn", "native"] diff --git a/front/Dockerfile.dev b/front/Dockerfile.web.dev similarity index 81% rename from front/Dockerfile.dev rename to front/Dockerfile.web.dev index c0f8a2a7..194e8266 100644 --- a/front/Dockerfile.dev +++ b/front/Dockerfile.web.dev @@ -5,6 +5,7 @@ COPY .yarn ./.yarn COPY .yarnrc.yml ./ COPY package.json yarn.lock ./ COPY packages/web/package.json packages/web/package.json +COPY packages/native/package.json packages/native/package.json RUN yarn --immutable ENV NEXT_TELEMETRY_DISABLED 1 diff --git a/front/yarn.lock b/front/yarn.lock index 3cd2442b..e7f32d8b 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -1433,7 +1433,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.19.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.19.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": version: 7.20.0 resolution: "@babel/runtime@npm:7.20.0" dependencies: @@ -3028,6 +3028,15 @@ __metadata: languageName: node linkType: hard +"@types/react-native@npm:~0.69.1": + version: 0.69.15 + resolution: "@types/react-native@npm:0.69.15" + dependencies: + "@types/react": "*" + checksum: 0bc47a051de4710f3c19f42c3c66dda3552489c65d8db24e3ca1a908790934fb722aaeb0a8a673bf2acba8f7a0ff0cc93b358d60662d4a8bfc8a2ad1017113dd + languageName: node + linkType: hard + "@types/react-transition-group@npm:^4.4.5": version: 4.4.5 resolution: "@types/react-transition-group@npm:4.4.5" @@ -3037,7 +3046,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*": +"@types/react@npm:*, @types/react@npm:~18.0.14": version: 18.0.24 resolution: "@types/react@npm:18.0.24" dependencies: @@ -4757,6 +4766,16 @@ __metadata: languageName: node linkType: hard +"create-react-class@npm:^15.7.0": + version: 15.7.0 + resolution: "create-react-class@npm:15.7.0" + dependencies: + loose-envify: ^1.3.1 + object-assign: ^4.1.1 + checksum: 0c5f43da705fa9f67ec289051dd5780792652d440dfa17cd2c7d8423c1f604609596f895dabf46fda1960ddd93ee96fe1b61ef4d55a94fc4271b07d515486714 + languageName: node + linkType: hard + "cross-fetch@npm:^3.1.5": version: 3.1.5 resolution: "cross-fetch@npm:3.1.5" @@ -4811,6 +4830,16 @@ __metadata: languageName: node linkType: hard +"css-in-js-utils@npm:^2.0.0": + version: 2.0.1 + resolution: "css-in-js-utils@npm:2.0.1" + dependencies: + hyphenate-style-name: ^1.0.2 + isobject: ^3.0.1 + checksum: c9964c4708216954c468b69bbee2d971fd759ada4f40637b8ca4d3f79caba4818d0532a4f190ac560227c08742ad063ffec7a30afddc4d96b66a18c3a008f0d8 + languageName: node + linkType: hard + "csstype@npm:^3.0.2, csstype@npm:^3.1.1": version: 3.1.1 resolution: "csstype@npm:3.1.1" @@ -5987,7 +6016,7 @@ __metadata: languageName: node linkType: hard -"fbjs@npm:^3.0.0": +"fbjs@npm:^3.0.0, fbjs@npm:^3.0.4": version: 3.0.4 resolution: "fbjs@npm:3.0.4" dependencies: @@ -6797,6 +6826,13 @@ __metadata: languageName: node linkType: hard +"hyphenate-style-name@npm:^1.0.2": + version: 1.0.4 + resolution: "hyphenate-style-name@npm:1.0.4" + checksum: 4f5bf4b055089754924babebaa23c17845937bcca6aee95d5d015f8fa1e6814279002bd6a9e541e3fac2cd02519fc76305396727066c57c8e21a7e73e7a12137 + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -6910,6 +6946,15 @@ __metadata: languageName: node linkType: hard +"inline-style-prefixer@npm:^6.0.1": + version: 6.0.1 + resolution: "inline-style-prefixer@npm:6.0.1" + dependencies: + css-in-js-utils: ^2.0.0 + checksum: 0bfa6fa89faa21e425c71425910c37c7b35a16ea753586c408fcc9246c84937c1b8184e6ce792139cda5de5cce8e1bc9eb0ba9f30968bdc97e7a06ece21c0737 + languageName: node + linkType: hard + "internal-ip@npm:4.3.0": version: 4.3.0 resolution: "internal-ip@npm:4.3.0" @@ -7955,7 +8000,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -9019,10 +9064,15 @@ __metadata: resolution: "native@workspace:packages/native" dependencies: "@babel/core": ^7.12.9 + "@types/react": ~18.0.14 + "@types/react-native": ~0.69.1 expo: ~46.0.16 expo-status-bar: ~1.4.0 react: 18.0.0 + react-dom: 18.0.0 react-native: 0.69.6 + react-native-web: ~0.18.7 + typescript: ~4.3.5 languageName: unknown linkType: soft @@ -9238,6 +9288,13 @@ __metadata: languageName: node linkType: hard +"normalize-css-color@npm:^1.0.2": + version: 1.0.2 + resolution: "normalize-css-color@npm:1.0.2" + checksum: 7433dc995a8d27c9384059ef0b52ceef47f4fab1bab55f1f085058b27e7472466ce321f46391fc85b6851db5212b9bd2bf55f5dc361da01a8a8cf4c360f69dab + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -9796,6 +9853,13 @@ __metadata: languageName: node linkType: hard +"postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f + languageName: node + linkType: hard + "postcss@npm:8.4.5": version: 8.4.5 resolution: "postcss@npm:8.4.5" @@ -10024,6 +10088,18 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:18.0.0": + version: 18.0.0 + resolution: "react-dom@npm:18.0.0" + dependencies: + loose-envify: ^1.1.0 + scheduler: ^0.21.0 + peerDependencies: + react: ^18.0.0 + checksum: dd0ba9f2f31dd728076c892a95b2f5a8dfe79136431b0289afb46eec39d0ca6b6f0f40a60fd8aa6ef702c98ce7c26100d3d4dbc35c7c9e87429cd04f84cb58bd + languageName: node + linkType: hard + "react-dom@npm:18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" @@ -10087,6 +10163,24 @@ __metadata: languageName: node linkType: hard +"react-native-web@npm:~0.18.7": + version: 0.18.9 + resolution: "react-native-web@npm:0.18.9" + dependencies: + "@babel/runtime": ^7.18.6 + create-react-class: ^15.7.0 + fbjs: ^3.0.4 + inline-style-prefixer: ^6.0.1 + normalize-css-color: ^1.0.2 + postcss-value-parser: ^4.2.0 + styleq: ^0.1.2 + peerDependencies: + react: ^17.0.2 || ^18.0.0 + react-dom: ^17.0.2 || ^18.0.0 + checksum: 2cd2c08d8ff92bf969a54124d21f101e8d4645b1eb0625aeabccc70ba55b05c0d1fc6ab570b237417be674346d140edc387c5deac403050a9e1f1d87b15b2253 + languageName: node + linkType: hard + "react-native@npm:0.69.6": version: 0.69.6 resolution: "react-native@npm:0.69.6" @@ -11292,6 +11386,13 @@ __metadata: languageName: node linkType: hard +"styleq@npm:^0.1.2": + version: 0.1.2 + resolution: "styleq@npm:0.1.2" + checksum: 050be47448efcb4abd778629ebe09f2db138e0b59504e8442e35432387d98bd696f0efe6962965c26eff5ee54a30ba4615806761b8f040a47874a62dd237e09f + languageName: node + linkType: hard + "stylis@npm:4.1.3": version: 4.1.3 resolution: "stylis@npm:4.1.3" @@ -11786,6 +11887,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:~4.3.5": + version: 4.3.5 + resolution: "typescript@npm:4.3.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: bab033b5e2b0790dd35b77fd005df976ef80b8d84fd2c6e63cc31808151875beae9216e5a315fe7068e8499905c3c354248fe83272cdfc13b7705635f0c66c97 + languageName: node + linkType: hard + "typescript@patch:typescript@4.7.4#~builtin": version: 4.7.4 resolution: "typescript@patch:typescript@npm%3A4.7.4#~builtin::version=4.7.4&hash=701156" @@ -11806,6 +11917,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@~4.3.5#~builtin": + version: 4.3.5 + resolution: "typescript@patch:typescript@npm%3A4.3.5#~builtin::version=4.3.5&hash=701156" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 365df18cf979c971ef9543b2acaa8694377a803f98e1804c41d0ede0b09d7046cb0cd98f2eaf3884b0fe923c01a60af1f653841bd8805c9715d5479c09a4ebe4 + languageName: node + linkType: hard + "ua-parser-js@npm:^0.7.30": version: 0.7.32 resolution: "ua-parser-js@npm:0.7.32"