Set up environment-based configurations for API and builds.

Replaced hardcoded API URLs with environment-specific configurations. Added new environments (development, beta, production) with respective settings. Updated build scripts and Angular file replacements to support environment-based builds.
This commit is contained in:
Teriuihi 2025-04-19 01:28:29 +02:00
parent 3d4d77bc73
commit 43edd49273
10 changed files with 52 additions and 9 deletions

View File

@ -41,7 +41,7 @@
"fileReplacements": [ "fileReplacements": [
{ {
"replace": "src/environments/environment.ts", "replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts" "with": "src/environments/environment.production.ts"
} }
], ],
"optimization": true, "optimization": true,
@ -55,7 +55,29 @@
}, },
"development": { "development": {
"sourceMap": true, "sourceMap": true,
"optimization": false "optimization": false,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.development.ts"
}
]
},
"beta": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.beta.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"logging": false,
"vendorChunk": false,
"buildOptimizer": true
} }
} }
}, },

View File

@ -39,13 +39,13 @@ tasks.register("npmBuild") {
"${it.absolutePath}/npm.cmd" "${it.absolutePath}/npm.cmd"
} ?: "$nodeDir/node_modules/npm/bin/npm.cmd" } ?: "$nodeDir/node_modules/npm/bin/npm.cmd"
commandLine(npmCmd, "run", "build") commandLine(npmCmd, "run", "build:dev")
} else { } else {
val npmExecutable = file(nodeDir).listFiles()?.find { it.name.startsWith("npm") && it.isDirectory }?.let { val npmExecutable = file(nodeDir).listFiles()?.find { it.name.startsWith("npm") && it.isDirectory }?.let {
"${it.absolutePath}/bin/npm" "${it.absolutePath}/bin/npm"
} ?: "$nodeDir/node_modules/npm/bin/npm" } ?: "$nodeDir/node_modules/npm/bin/npm"
commandLine(npmExecutable, "run", "build") commandLine(npmExecutable, "run", "build:beta")
} }
} }
} }

View File

@ -6,7 +6,10 @@
"start": "ng serve", "start": "ng serve",
"build": "ng build", "build": "ng build",
"watch": "ng build --watch --configuration development", "watch": "ng build --watch --configuration development",
"test": "ng test" "test": "ng test",
"build:beta": "ng build --configuration=beta",
"build:prod": "ng build --configuration=production",
"build:dev": "ng build --configuration=development"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {

View File

@ -5,6 +5,7 @@ import {NgForOf, NgIf, NgOptimizedImage} from '@angular/common';
import {CookieService} from 'ngx-cookie-service'; import {CookieService} from 'ngx-cookie-service';
import {RemoveTrailingPeriodPipe} from '../../util/RemoveTrailingPeriodPipe'; import {RemoveTrailingPeriodPipe} from '../../util/RemoveTrailingPeriodPipe';
import {HttpErrorResponse} from '@angular/common/http'; import {HttpErrorResponse} from '@angular/common/http';
import {environment} from '../../../environments/environment';
@Component({ @Component({
selector: 'app-history', selector: 'app-history',
@ -18,7 +19,7 @@ import {HttpErrorResponse} from '@angular/common/http';
styleUrl: './history.component.scss', styleUrl: './history.component.scss',
providers: [ providers: [
CookieService, CookieService,
{provide: BASE_PATH, useValue: 'http://localhost:8080/'} {provide: BASE_PATH, useValue: environment.apiUrl}
], ],
}) })
export class HistoryComponent implements OnInit, OnChanges { export class HistoryComponent implements OnInit, OnChanges {

View File

@ -5,6 +5,7 @@ import {CommonModule, NgOptimizedImage} from '@angular/common';
import {HeaderComponent} from '../header/header.component'; import {HeaderComponent} from '../header/header.component';
import {CookieService} from 'ngx-cookie-service'; import {CookieService} from 'ngx-cookie-service';
import {map, Observable, shareReplay} from 'rxjs'; import {map, Observable, shareReplay} from 'rxjs';
import {environment} from '../../environments/environment';
@Component({ @Component({
selector: 'app-team', selector: 'app-team',
@ -16,7 +17,7 @@ import {map, Observable, shareReplay} from 'rxjs';
], ],
providers: [ providers: [
CookieService, CookieService,
{provide: BASE_PATH, useValue: 'http://localhost:8080/'} {provide: BASE_PATH, useValue: environment.apiUrl}
], ],
templateUrl: './team.component.html', templateUrl: './team.component.html',

View File

@ -0,0 +1,4 @@
export const environment = {
production: true,
apiUrl: 'https://beta.alttd.com'
};

View File

@ -0,0 +1,4 @@
export const environment = {
production: false,
apiUrl: 'http://localhost:8080'
};

View File

@ -0,0 +1,4 @@
export const environment = {
production: true,
apiUrl: 'https://alttd.com'
};

View File

@ -0,0 +1,4 @@
export const environment = {
production: true,
apiUrl: 'https://alttd.com'
};

View File

@ -4,13 +4,13 @@ import {provideRouter} from '@angular/router';
import {routes} from './app/app.routes'; import {routes} from './app/app.routes';
import {provideHttpClient} from '@angular/common/http'; import {provideHttpClient} from '@angular/common/http';
import {BASE_PATH} from './api'; import {BASE_PATH} from './api';
import {environment} from './environments/environment';
bootstrapApplication(AppComponent, { bootstrapApplication(AppComponent, {
providers: [ providers: [
provideRouter(routes), provideRouter(routes),
provideHttpClient(), provideHttpClient(),
{provide: BASE_PATH, useValue: 'http://localhost:8080'} {provide: BASE_PATH, useValue: environment.apiUrl}
] ]
}).catch(err => console.error(err)); }).catch(err => console.error(err));