notei que vc tem um --mode homologacao
no action do git. Ao invés de tirar, pode trocar também… Aí ficaria:
"build": "tsc && vite build --mode homologacao",
notei que vc tem um --mode homologacao
no action do git. Ao invés de tirar, pode trocar também… Aí ficaria:
"build": "tsc && vite build --mode homologacao",
Agora deu este erro
$ npm run build --mode homologacao
quizme@0.0.1 build
tsc && vite build --mode homologacao homologacao
src/main.ts(1,17): error TS2307: Cannot find module ‘./App.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(7,27): error TS2307: Cannot find module ‘@/layouts/full/FullLayout.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(16,31): error TS2307: Cannot find module ‘@/views/dashboards/Analytical.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(21,31): error TS2307: Cannot find module ‘@/views/apps/analise-tema/AnaliseTema.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(26,31): error TS2307: Cannot find module ‘@/views/apps/analise-tema/AnaliseTemaPorId.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(31,31): error TS2307: Cannot find module ‘@/views/apps/tema/Tema.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(36,31): error TS2307: Cannot find module ‘@/views/apps/tema/TemaPorId.vue’ or its corresponding type declarations.
src/router/MainRoutes.ts(41,31): error TS2307: Cannot find module ‘@/views/apps/tema/Tema.vue’ or its corresponding type declarations.
src/router/index.ts(10,31): error TS2307: Cannot find module ‘@/views/authentication/Error.vue’ or its corresponding type declarations.
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1
Rodou local e o mesmo erro
vi que em todos os arquivos .ts ele criou um arquivo com o mesmo nome com a extensão .js
Parece q foram dois homologação. Mostr seu Vite config. Pq esses js q foram criados, eram pra ir pra pasta build/dist.
Deleta esses js primeiro, pode dar um git stash
Referente a esse erro, vai na pasta @types/index.d.ts e cola isso
declare module '*.vue';
vite.config.ts
import vue from "@vitejs/plugin-vue";
import { fileURLToPath, URL } from "url";
import { defineConfig } from "vite";
import vuetify from "vite-plugin-vuetify";
export default defineConfig({
plugins: [
vue(),
vuetify({
autoImport: true,
styles: { configFile: "src/scss/variables.scss" },
}),
],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
define: {
'process.env': {}
},
css: {
preprocessorOptions: {
scss: {},
},
},
optimizeDeps: {
exclude: ["vuetify"],
entries: ["./src/**/*.vue"],
},
});
Local não deu erro, mas continuou gerando os .js
Não vou testar no servidor ainda, por causa destes arquivos .js, que estão sendo gerados desta forma
Alguma novidade ?
calmaí pô, eu trabalho kk
vai no seu package.json e muda seu scripts.build pra isso:
"build": "vue-tsc && vite build",
Eu sei kkkkkk
Desculpa ai.
vou testar
Resolvido.
Este erro era poque tinhas uns console.log
Mas cê nem mudou o build, parou de criar os arquivos em js?
Eu ainda tô encucado como “vite homologacao” funciona kkkkkk
No arquivo tsconfig.json, inclui “outDir”: “dist”, ai gerou os arquivos .js no local correto
Estava assim:
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"allowJs": true,
"types": ["node", "vite/client"],
"target": "ESNext"
},
"references": [
{
"path": "./tsconfig.vite-config.json"
}
]
}
Ficando assim:
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": {
"outDir": "dist",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"allowJs": true,
"types": ["node", "vite/client"],
"target": "ESNext"
},
"references": [
{
"path": "./tsconfig.vite-config.json"
}
]
}
Vendo aqui na verdade o vite homologacao, não funcionou.
O que funcionou foi o npm run build, com o .env para os endereços corretos.
Estou avaliando novamente
Gerei local e agora funcionou. O comando local foi npm run homologacao.
no arquivo .env.homologacao, endereços corretos
VITE_APP_BACKEND_URL=https://xxxxx:8443
VITE_APP_SOCK_URL=wss://xxxxx:8443/socket
VITE_APP_KEYCLOAK_URL=https://xxxxx:8443/
.env.production e .env
VITE_APP_BACKEND_URL=
VITE_APP_SOCK_URL=
VITE_APP_KEYCLOAK_URL=
.env.development
VITE_APP_BACKEND_URL=http://127.0.0.1:8002
VITE_APP_SOCK_URL=wss://localhost:8080/socket
VITE_APP_KEYCLOAK_URL=http://localhost:8080/
package.json
"scripts": {
"dev": "vite --port 8081",
"build": "vue-tsc --noEmit && vite build",
"homologacao": "vue-tsc --noEmit && vite build --mode homologacao",
"preview": "vite preview --port 5050",
"typecheck": "vue-tsc --noEmit",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
Peguei os arquivos e pastas geradas e coloquei no servidor manualmente e funcionou
Ai no .gitlab-ci.yml
fiz assim:
stages:
- install
- deploy
install_and_build:
image: node:16
stage: install
cache:
paths:
- node_modules/
only:
- homologacao
script:
- node -v
#- rm ./package-lock.json
- npm install
- npm run homologacao
- ls
artifacts:
paths:
- dist/
deploy:
stage: deploy
only:
- homologacao
before_script:
- apt-get update -qq && apt-get install -y -qq sshpass && apt-get install zip unzip -y
- zip -r dist.zip dist
script:
- sshpass -V
- export SSHPASS=$CI_USER_PASS
- sshpass -e scp -o StrictHostKeyChecking=no dist.zip gitlab-ci@$HOST_IP_APP_HOM:/home/gitlab-ci/frontend/
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo unzip -o /home/gitlab-ci/frontend/dist.zip
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo rm -rf /var/www/html/*
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo mv dist/* /var/www/html/
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo systemctl restart apache2
solução
só lembrando que o .env não interfere em nada no build.
mas vc disse q a dist já tava sendo gerada antes. E aqueles .js estavam sendo gerados pq o build tava só “tsc” e não “vue-tsc”.
show q deu certo