diff --git a/.gitignore b/.gitignore index ca79605..9f3255d 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,10 @@ dmypy.json # Test data data/ + +# Node Modules + +node_modules/ + +# Version identification file +.version \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 8a0b09b..2e00725 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,35 +4,71 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - - - - {"name":"Python: Flask","type":"python","request":"launch","module":"flask","env":{"FLASK_APP":"backend/app/main.py","FLASK_ENV":"development","FLASK_DEBUG":"1"},"args":["run","--no-debugger","--no-reload"],"jinja":true}, - {"name":"Python: Flask (with reload)","type":"python","request":"launch","module":"flask","env":{"FLASK_APP":"backend/app/main.py","FLASK_ENV":"development","FLASK_DEBUG":"1"},"args":["run","--no-debugger"],"jinja":true}, { - "name": "Python: Flask (with reload, externally reachable)", + "preLaunchTask": "versiondump", + "name": "Python: Flask", "type": "python", + "cwd": "${workspaceFolder}/backend", "request": "launch", "module": "flask", "env": { - "FLASK_APP": "backend/app/main.py", + "FLASK_APP": "backend/app.py", "FLASK_ENV": "development", "FLASK_DEBUG": "1" }, "args": [ "run", "--no-debugger", - "--host='0.0.0.0'" + "--no-reload" ], "jinja": true }, { - "name": "Python: Flask (externally reachable)", + "preLaunchTask": "versiondump", + "name": "Python: Flask (with reload)", "type": "python", + "cwd": "${workspaceFolder}/backend", "request": "launch", "module": "flask", "env": { - "FLASK_APP": "backend/app/main.py", + "FLASK_APP": "backend/app.py", + "FLASK_ENV": "development", + "FLASK_DEBUG": "1" + }, + "args": [ + "run", + "--no-debugger" + ], + "jinja": true + }, + { + "preLaunchTask": "versiondump", + "name": "Python: Flask (with reload, externally reachable)", + "type": "python", + "cwd": "${workspaceFolder}/backend", + "request": "launch", + "module": "flask", + "env": { + "FLASK_APP": "backend/app.py", + "FLASK_ENV": "development", + "FLASK_DEBUG": "1" + }, + "args": [ + "run", + "--no-debugger", + "--host=0.0.0.0" + ], + "jinja": true + }, + { + "preLaunchTask": "versiondump", + "name": "Python: Flask (externally reachable)", + "type": "python", + "cwd": "${workspaceFolder}/backend", + "request": "launch", + "module": "flask", + "env": { + "FLASK_APP": "backend/app.py", "FLASK_ENV": "development", "FLASK_DEBUG": "1" }, @@ -40,7 +76,7 @@ "run", "--no-debugger", "--no-reload", - "--host='0.0.0.0'" + "--host=0.0.0.0" ], "jinja": true }, diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a107b05..3c87c26 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -4,6 +4,13 @@ "version": "2.0.0", "tasks": [ { + "label": "versiondump", + "type": "shell", + "command": "echo \"$(git rev-parse --abbrev-ref HEAD)-$(git describe)\"> ${workspaceFolder}/backend/.version", + "problemMatcher": [] + }, + { + "label": "Start Frontend", "type": "npm", "script": "start", "path": "frontend/ng-karaoqueue/", diff --git a/backend/app/.gcloudignore b/backend/.gcloudignore similarity index 100% rename from backend/app/.gcloudignore rename to backend/.gcloudignore diff --git a/backend/Procfile b/backend/Procfile new file mode 100644 index 0000000..fc272ab --- /dev/null +++ b/backend/Procfile @@ -0,0 +1 @@ +web: gunicorn wsgi:app \ No newline at end of file diff --git a/backend/app/main.py b/backend/app.py similarity index 100% rename from backend/app/main.py rename to backend/app.py diff --git a/backend/app/app.yaml b/backend/app.yaml similarity index 100% rename from backend/app/app.yaml rename to backend/app.yaml diff --git a/backend/app/data_adapters.py b/backend/data_adapters.py similarity index 100% rename from backend/app/data_adapters.py rename to backend/data_adapters.py diff --git a/backend/app/database.py b/backend/database.py similarity index 100% rename from backend/app/database.py rename to backend/database.py diff --git a/backend/app/helpers.py b/backend/helpers.py similarity index 90% rename from backend/app/helpers.py rename to backend/helpers.py index 148fa76..17545a6 100644 --- a/backend/app/helpers.py +++ b/backend/helpers.py @@ -18,7 +18,7 @@ def create_data_directory(): def get_catalog_url(): r = requests.get('https://www.karafun.de/karaoke-song-list.html') soup = BeautifulSoup(r.content, 'html.parser') - url = soup.findAll('a', href=True, text='Available in CSV format')[0]['href'] + url = soup.findAll('a', href=True, text='Verfügbar in CSV-Format')[0]['href'] return url def get_songs(url): @@ -36,7 +36,9 @@ def check_config_exists(): return os.path.isfile(config_file) def load_version(app): - if os.path.isfile(".version"): + if os.environ.get("SOURCE_VERSION"): + app.config['VERSION'] = os.environ.get("SOURCE_VERSION")[0:7] + elif os.path.isfile(".version"): with open('.version', 'r') as file: data = file.read().replace('\n', '') if data: diff --git a/backend/app/requirements.txt b/backend/requirements.txt similarity index 72% rename from backend/app/requirements.txt rename to backend/requirements.txt index 8b49195..04324d8 100644 --- a/backend/app/requirements.txt +++ b/backend/requirements.txt @@ -1,4 +1,5 @@ requests pandas Flask-BasicAuth -bs4 \ No newline at end of file +bs4 +gunicorn \ No newline at end of file diff --git a/backend/app/static/css/style.css b/backend/static/css/style.css similarity index 100% rename from backend/app/static/css/style.css rename to backend/static/css/style.css diff --git a/backend/app/static/favicon.ico b/backend/static/favicon.ico similarity index 100% rename from backend/app/static/favicon.ico rename to backend/static/favicon.ico diff --git a/backend/app/static/images/touch/homescreen512.png b/backend/static/images/touch/homescreen512.png similarity index 100% rename from backend/app/static/images/touch/homescreen512.png rename to backend/static/images/touch/homescreen512.png diff --git a/backend/app/static/manifest.webmanifest b/backend/static/manifest.webmanifest similarity index 100% rename from backend/app/static/manifest.webmanifest rename to backend/static/manifest.webmanifest diff --git a/backend/app/templates/base.html b/backend/templates/base.html similarity index 100% rename from backend/app/templates/base.html rename to backend/templates/base.html diff --git a/backend/app/templates/main.html b/backend/templates/main.html similarity index 100% rename from backend/app/templates/main.html rename to backend/templates/main.html diff --git a/backend/app/templates/main_admin.html b/backend/templates/main_admin.html similarity index 100% rename from backend/app/templates/main_admin.html rename to backend/templates/main_admin.html diff --git a/backend/app/templates/played_list.html b/backend/templates/played_list.html similarity index 100% rename from backend/app/templates/played_list.html rename to backend/templates/played_list.html diff --git a/backend/app/templates/settings.html b/backend/templates/settings.html similarity index 100% rename from backend/app/templates/settings.html rename to backend/templates/settings.html diff --git a/backend/app/templates/songlist.html b/backend/templates/songlist.html similarity index 100% rename from backend/app/templates/songlist.html rename to backend/templates/songlist.html diff --git a/backend/wsgi.py b/backend/wsgi.py new file mode 100644 index 0000000..210a38e --- /dev/null +++ b/backend/wsgi.py @@ -0,0 +1,4 @@ +from app import app + +if __name__ == "__main__": + app.run() \ No newline at end of file diff --git a/frontend/ng-karaoqueue/.editorconfig b/frontend/ng-karaoqueue/.editorconfig deleted file mode 100644 index e89330a..0000000 --- a/frontend/ng-karaoqueue/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/frontend/ng-karaoqueue/.gitignore b/frontend/ng-karaoqueue/.gitignore deleted file mode 100644 index 86d943a..0000000 --- a/frontend/ng-karaoqueue/.gitignore +++ /dev/null @@ -1,46 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -/dist -/tmp -/out-tsc -# Only exists if Bazel was run -/bazel-out - -# dependencies -/node_modules - -# profiling files -chrome-profiler-events*.json -speed-measure-plugin*.json - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history/* - -# misc -/.sass-cache -/connect.lock -/coverage -/libpeerconnection.log -npm-debug.log -yarn-error.log -testem.log -/typings - -# System Files -.DS_Store -Thumbs.db diff --git a/frontend/ng-karaoqueue/README.md b/frontend/ng-karaoqueue/README.md deleted file mode 100644 index 45aec29..0000000 --- a/frontend/ng-karaoqueue/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# NgKaraoqueue - -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.3.20. - -## Development server - -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. - -## Code scaffolding - -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. - -## Build - -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. - -## Running unit tests - -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). - -## Running end-to-end tests - -Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). - -## Further help - -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/frontend/ng-karaoqueue/browserslist b/frontend/ng-karaoqueue/browserslist deleted file mode 100644 index 8084853..0000000 --- a/frontend/ng-karaoqueue/browserslist +++ /dev/null @@ -1,12 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -> 0.5% -last 2 versions -Firefox ESR -not dead -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/frontend/ng-karaoqueue/e2e/protractor.conf.js b/frontend/ng-karaoqueue/e2e/protractor.conf.js deleted file mode 100644 index 7c798cf..0000000 --- a/frontend/ng-karaoqueue/e2e/protractor.conf.js +++ /dev/null @@ -1,32 +0,0 @@ -// @ts-check -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const { SpecReporter } = require('jasmine-spec-reporter'); - -/** - * @type { import("protractor").Config } - */ -exports.config = { - allScriptsTimeout: 11000, - specs: [ - './src/**/*.e2e-spec.ts' - ], - capabilities: { - browserName: 'chrome' - }, - directConnect: true, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 30000, - print: function() {} - }, - onPrepare() { - require('ts-node').register({ - project: require('path').join(__dirname, './tsconfig.json') - }); - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); - } -}; \ No newline at end of file diff --git a/frontend/ng-karaoqueue/e2e/src/app.e2e-spec.ts b/frontend/ng-karaoqueue/e2e/src/app.e2e-spec.ts deleted file mode 100644 index aa4e87a..0000000 --- a/frontend/ng-karaoqueue/e2e/src/app.e2e-spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { AppPage } from './app.po'; -import { browser, logging } from 'protractor'; - -describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display welcome message', () => { - page.navigateTo(); - expect(page.getTitleText()).toEqual('ng-karaoqueue app is running!'); - }); - - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - } as logging.Entry)); - }); -}); diff --git a/frontend/ng-karaoqueue/e2e/src/app.po.ts b/frontend/ng-karaoqueue/e2e/src/app.po.ts deleted file mode 100644 index b8498c2..0000000 --- a/frontend/ng-karaoqueue/e2e/src/app.po.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { browser, by, element } from 'protractor'; - -export class AppPage { - navigateTo() { - return browser.get(browser.baseUrl) as Promise; - } - - getTitleText() { - return element(by.css('app-root .content span')).getText() as Promise; - } -} diff --git a/frontend/ng-karaoqueue/e2e/tsconfig.json b/frontend/ng-karaoqueue/e2e/tsconfig.json deleted file mode 100644 index 39b800f..0000000 --- a/frontend/ng-karaoqueue/e2e/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/e2e", - "module": "commonjs", - "target": "es5", - "types": [ - "jasmine", - "jasminewd2", - "node" - ] - } -} diff --git a/frontend/ng-karaoqueue/karma.conf.js b/frontend/ng-karaoqueue/karma.conf.js deleted file mode 100644 index 129ec42..0000000 --- a/frontend/ng-karaoqueue/karma.conf.js +++ /dev/null @@ -1,32 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageIstanbulReporter: { - dir: require('path').join(__dirname, './coverage/ng-karaoqueue'), - reports: ['html', 'lcovonly', 'text-summary'], - fixWebpackSourcePaths: true - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/frontend/ng-karaoqueue/src/app/app.component.spec.ts b/frontend/ng-karaoqueue/src/app/app.component.spec.ts deleted file mode 100644 index 19762ba..0000000 --- a/frontend/ng-karaoqueue/src/app/app.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TestBed, async } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [ - RouterTestingModule - ], - declarations: [ - AppComponent - ], - }).compileComponents(); - })); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have as title 'ng-karaoqueue'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app.title).toEqual('ng-karaoqueue'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.debugElement.nativeElement; - expect(compiled.querySelector('.content span').textContent).toContain('ng-karaoqueue app is running!'); - }); -}); diff --git a/frontend/ng-karaoqueue/src/assets/.gitkeep b/frontend/ng-karaoqueue/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/ng-karaoqueue/src/environments/environment.prod.ts b/frontend/ng-karaoqueue/src/environments/environment.prod.ts deleted file mode 100644 index 3612073..0000000 --- a/frontend/ng-karaoqueue/src/environments/environment.prod.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true -}; diff --git a/frontend/ng-karaoqueue/src/environments/environment.ts b/frontend/ng-karaoqueue/src/environments/environment.ts deleted file mode 100644 index 7b4f817..0000000 --- a/frontend/ng-karaoqueue/src/environments/environment.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - -export const environment = { - production: false -}; - -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/frontend/ng-karaoqueue/src/favicon.ico b/frontend/ng-karaoqueue/src/favicon.ico deleted file mode 100644 index 997406a..0000000 Binary files a/frontend/ng-karaoqueue/src/favicon.ico and /dev/null differ diff --git a/frontend/ng-karaoqueue/src/main.ts b/frontend/ng-karaoqueue/src/main.ts deleted file mode 100644 index 3b2b7d0..0000000 --- a/frontend/ng-karaoqueue/src/main.ts +++ /dev/null @@ -1,13 +0,0 @@ -import 'hammerjs'; -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); diff --git a/frontend/ng-karaoqueue/src/polyfills.ts b/frontend/ng-karaoqueue/src/polyfills.ts deleted file mode 100644 index aa665d6..0000000 --- a/frontend/ng-karaoqueue/src/polyfills.ts +++ /dev/null @@ -1,63 +0,0 @@ -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - * because those flags need to be set before `zone.js` being loaded, and webpack - * will put import in the top of bundle, so user need to create a separate file - * in this directory (for example: zone-flags.ts), and put the following flags - * into that file, and then add the following code before importing zone.js. - * import './zone-flags.ts'; - * - * The flags allowed in zone-flags.ts are listed here. - * - * The following flags will work for all browsers. - * - * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - * - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - * - * (window as any).__Zone_enable_cross_context_check = true; - * - */ - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js/dist/zone'; // Included with Angular CLI. - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ diff --git a/frontend/ng-karaoqueue/src/test.ts b/frontend/ng-karaoqueue/src/test.ts deleted file mode 100644 index 1631789..0000000 --- a/frontend/ng-karaoqueue/src/test.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/dist/zone-testing'; -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -declare const require: any; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/frontend/ng-karaoqueue/tsconfig.app.json b/frontend/ng-karaoqueue/tsconfig.app.json deleted file mode 100644 index 565a11a..0000000 --- a/frontend/ng-karaoqueue/tsconfig.app.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": [ - "src/main.ts", - "src/polyfills.ts" - ], - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "src/test.ts", - "src/**/*.spec.ts" - ] -} diff --git a/frontend/ng-karaoqueue/tsconfig.spec.json b/frontend/ng-karaoqueue/tsconfig.spec.json deleted file mode 100644 index 6400fde..0000000 --- a/frontend/ng-karaoqueue/tsconfig.spec.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine", - "node" - ] - }, - "files": [ - "src/test.ts", - "src/polyfills.ts" - ], - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/frontend/ng-karaoqueue/tslint.json b/frontend/ng-karaoqueue/tslint.json deleted file mode 100644 index c8d70f1..0000000 --- a/frontend/ng-karaoqueue/tslint.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "array-type": false, - "arrow-parens": false, - "deprecation": { - "severity": "warning" - }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "interface-name": false, - "max-classes-per-file": false, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-consecutive-blank-lines": false, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-empty": false, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [ - true, - "as-needed" - ], - "object-literal-sort-keys": false, - "ordered-imports": false, - "quotemark": [ - true, - "single" - ], - "trailing-comma": false, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true - }, - "rulesDirectory": [ - "codelyzer" - ] -} \ No newline at end of file