feat: improve monorepo dev experience

This commit is contained in:
2023-11-08 14:20:58 +01:00
parent fdec5a5baa
commit 6dc01b538c
8 changed files with 21 additions and 59 deletions

View File

@@ -11,7 +11,7 @@
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"builder": "@angular-devkit/build-angular:browser-esbuild",
"options": {
"outputPath": "www",
"index": "src/index.html",
@@ -50,7 +50,10 @@
},
"./node_modules/leaflet/dist/leaflet.css",
"./node_modules/leaflet.markercluster/dist/MarkerCluster.Default.css"
]
],
"stylePreprocessorOptions": {
"includePaths": ["src", "src/theme/util", "node_modules"]
}
},
"configurations": {
"production": {

View File

@@ -26,7 +26,7 @@
"chromium:virtual-host": "chromium --host-resolver-rules=\"MAP mobile.app.uni-frankfurt.de:* localhost:8100\" --ignore-certificate-errors",
"cypress:open": "cypress open",
"cypress:run": "cypress run",
"dev": "ng serve app -c local",
"dev": "ng serve app",
"dev:external": "ionic serve --external",
"dev:prod": "ionic serve --prod",
"dev:virtual-host": "ionic serve --public-host=mobile.app.uni-frankfurt.de --ssl=true --open=false",
@@ -124,7 +124,7 @@
"@angular-eslint/eslint-plugin-template": "16.1.0",
"@angular-eslint/schematics": "16.1.0",
"@angular-eslint/template-parser": "16.1.0",
"@angular/cli": "16.1.4",
"@angular/cli": "17.0.0",
"@angular/compiler": "16.1.4",
"@angular/compiler-cli": "16.1.4",
"@angular/language-service": "16.1.4",

View File

@@ -28,7 +28,7 @@ import {takeUntilDestroyed} from '@angular/core/rxjs-interop';
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss', '/dashboard.collapse.component.scss'],
styleUrls: ['./dashboard.component.scss', './dashboard.collapse.component.scss'],
})
export class DashboardComponent implements OnInit, OnDestroy {
@ViewChild('toolbar', {read: ElementRef}) toolbarRef: ElementRef;

View File

@@ -12,7 +12,7 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
@import 'src/theme/util/mixins';
@import 'mixins';
.news-grid {
@include auto-grid(300px);

View File

@@ -14,17 +14,17 @@
*/
// http://ionicframework.com/docs/theming/
@import '~@ionic/angular/css/normalize.css';
@import '~@ionic/angular/css/structure.css';
@import '~@ionic/angular/css/typography.css';
@import '~@ionic/angular/css/core.css';
@import '@ionic/angular/css/normalize';
@import '@ionic/angular/css/structure';
@import '@ionic/angular/css/typography';
@import '@ionic/angular/css/core';
@import '~@ionic/angular/css/padding.css';
@import '~@ionic/angular/css/float-elements.css';
@import '~@ionic/angular/css/text-alignment.css';
@import '~@ionic/angular/css/text-transformation.css';
@import '~@ionic/angular/css/flex-utils.css';
@import '~@ionic/angular/css/display.css';
@import '@ionic/angular/css/padding';
@import '@ionic/angular/css/float-elements';
@import '@ionic/angular/css/text-alignment';
@import '@ionic/angular/css/text-transformation';
@import '@ionic/angular/css/flex-utils';
@import '@ionic/angular/css/display';
@import 'swiper/scss';
@import 'swiper/scss/controller';

View File

@@ -4,7 +4,9 @@
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"allowJs": true,
"declaration": false,
"declarationMap": false,
"emitDecoratorMetadata": true,
"skipLibCheck": false,
"isolatedModules": false,

View File

View File

@@ -1,43 +0,0 @@
/*
* Copyright (C) 2021 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {lightweightProjectFromPath, LightweightProject} from '@openstapps/easy-ast';
import {expect} from 'chai';
process.on('unhandledRejection', error => {
throw error;
});
describe('Mapping Compatibility', () => {
let project: LightweightProject;
before(function () {
this.timeout(15_000);
this.slow(10_000);
project = lightweightProjectFromPath('src');
});
it('non-exported definitions should not have duplicate names across files', () => {
const names = new Set<string>();
for (const file in project) {
for (const definition in project[file]) {
expect(names).not.to.include(definition);
names.add(definition);
}
}
});
});