ref/ set default angular eslint rules

This commit is contained in:
Maxime GRIS
2021-06-20 19:12:22 +02:00
parent 2b819d7eaf
commit 7d531d1775
15 changed files with 34 additions and 36 deletions

View File

@@ -1,7 +1,9 @@
{
"root": true,
"ignorePatterns": [
"projects/**/*"
"app/**/*", // ignore nodeJs files
"dist/**/*",
"release/**/*"
],
"overrides": [
{
@@ -18,7 +20,8 @@
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/ng-cli-compat",
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
@@ -35,14 +38,12 @@
},
{
"files": [
"*.component.html"
"*.html"
],
"extends": [
"plugin:@angular-eslint/template/recommended"
],
"rules": {
"@angular-eslint/template/banana-in-box": "error",
"@angular-eslint/template/no-negated-async": "error"
}
}
]

View File

@@ -132,10 +132,9 @@
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"eslintConfig": ".eslintrc.json",
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.component.html"
"src/**/*.html"
]
}
}
@@ -148,7 +147,6 @@
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"eslintConfig": ".eslintrc.json",
"lintFilePatterns": [
"e2e/**/*.ts"
]

View File

@@ -1,14 +1,14 @@
const Application = require('spectron').Application;
const electronPath = require('electron'); // Require Electron from the binaries included in node_modules.
const path = require('path');
const APPLICATION = require('spectron').Application;
const ELECTRON_PATH = require('electron'); // Require Electron from the binaries included in node_modules.
const PATH = require('path');
export default function setup(): void {
beforeEach(async function () {
this.app = new Application({
beforeEach(async () => {
this.app = new APPLICATION({
// Your electron path can be any binary
// i.e for OSX an example path could be '/Applications/MyApp.app/Contents/MacOS/MyApp'
// But for the sake of the example we fetch it from our node_modules.
path: electronPath,
path: ELECTRON_PATH,
// Assuming you have the following directory structure
@@ -23,14 +23,14 @@ export default function setup(): void {
// The following line tells spectron to look and use the main.js file
// and the package.json located 1 level above.
args: [path.join(__dirname, '..')],
args: [PATH.join(__dirname, '..')],
webdriverOptions: {}
});
await this.app.start();
});
afterEach(async function () {
afterEach(async () => {
if (this.app && this.app.isRunning()) {
await this.app.stop();
}

View File

@@ -3,7 +3,7 @@ import { SpectronClient } from 'spectron';
import commonSetup from './common-setup';
describe('angular-electron App', function () {
describe('angular-electron App', () => {
commonSetup.apply(this);
@@ -13,12 +13,12 @@ describe('angular-electron App', function () {
client = this.app.client;
});
it('creates initial windows', async function () {
it('creates initial windows', async () => {
const count = await client.getWindowCount();
expect(count).to.equal(1);
});
it('should display message saying App works !', async function () {
it('should display message saying App works !', async () => {
const elem = await client.$('app-home h1');
const text = await elem.getText();
expect(text).to.equal('App works !');

View File

@@ -1,7 +1,7 @@
import { Component } from '@angular/core';
import { ElectronService } from './core/services';
import { TranslateService } from '@ngx-translate/core';
import { AppConfig } from '../environments/environment';
import { APP_CONFIG } from '../environments/environment';
@Component({
selector: 'app-root',
@@ -14,7 +14,7 @@ export class AppComponent {
private translate: TranslateService
) {
this.translate.setDefaultLang('en');
console.log('AppConfig', AppConfig);
console.log('APP_CONFIG', APP_CONFIG);
if (electronService.isElectron) {
console.log(process.env);

View File

@@ -17,9 +17,7 @@ import { DetailModule } from './detail/detail.module';
import { AppComponent } from './app.component';
// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new TranslateHttpLoader(http, './assets/i18n/', '.json');
@NgModule({
declarations: [AppComponent],
@@ -35,7 +33,7 @@ export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
useFactory: httpLoaderFactory,
deps: [HttpClient]
}
})

View File

@@ -30,7 +30,8 @@ export class ElectronService {
this.childProcess = window.require('child_process');
this.fs = window.require('fs');
// If you want to use a NodeJS 3rd party deps in Renderer process (like @electron/remote), it must be declared in dependencies of both package.json (in root and app folders)
// If you want to use a NodeJS 3rd party deps in Renderer process (like @electron/remote),
// it must be declared in dependencies of both package.json (in root and app folders)
// If you want to use remote object in renderer process, please set enableRemoteModule to true in main.ts
this.remote = window.require('@electron/remote');
console.log('remote - globalShortcut', this.remote.globalShortcut);

View File

@@ -10,7 +10,7 @@ export class DetailComponent implements OnInit {
constructor() { }
ngOnInit(): void {
console.log("DetailComponent INIT");
console.log('DetailComponent INIT');
}
}

View File

@@ -11,7 +11,7 @@ export class HomeComponent implements OnInit {
constructor(private router: Router) { }
ngOnInit(): void {
console.log("HomeComponent INIT");
console.log('HomeComponent INIT');
}
}

View File

@@ -9,6 +9,6 @@ export class PageNotFoundComponent implements OnInit {
constructor() {}
ngOnInit(): void {
console.log("PageNotFoundComponent INIT");
console.log('PageNotFoundComponent INIT');
}
}

View File

@@ -1,4 +1,4 @@
export const AppConfig = {
export const APP_CONFIG = {
production: false,
environment: 'DEV'
};

View File

@@ -1,4 +1,4 @@
export const AppConfig = {
export const APP_CONFIG = {
production: true,
environment: 'PROD'
};

View File

@@ -1,4 +1,4 @@
export const AppConfig = {
export const APP_CONFIG = {
production: false,
environment: 'LOCAL'
};

View File

@@ -1,4 +1,4 @@
export const AppConfig = {
export const APP_CONFIG = {
production: false,
environment: 'WEB'
};

View File

@@ -2,9 +2,9 @@ import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { AppConfig } from './environments/environment';
import { APP_CONFIG } from './environments/environment';
if (AppConfig.production) {
if (APP_CONFIG.production) {
enableProdMode();
}