From 50f7cbde579847496797a000643b7a30c7eb359b Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 11 Mar 2020 11:19:35 +0300 Subject: [PATCH] chore: add source-code-requirements folder to ng-packs project --- .../source-code-requirements/README.md | 20 ++++++++++++ .../source-code-requirements/karma.conf.js | 32 +++++++++++++++++++ .../tsconfig.lib.json | 23 +++++++++++++ .../tsconfig.lib.prod.json | 6 ++++ .../tsconfig.spec.json | 17 ++++++++++ .../source-code-requirements/tslint.json | 17 ++++++++++ 6 files changed, 115 insertions(+) create mode 100644 npm/ng-packs/source-code-requirements/README.md create mode 100644 npm/ng-packs/source-code-requirements/karma.conf.js create mode 100644 npm/ng-packs/source-code-requirements/tsconfig.lib.json create mode 100644 npm/ng-packs/source-code-requirements/tsconfig.lib.prod.json create mode 100644 npm/ng-packs/source-code-requirements/tsconfig.spec.json create mode 100644 npm/ng-packs/source-code-requirements/tslint.json diff --git a/npm/ng-packs/source-code-requirements/README.md b/npm/ng-packs/source-code-requirements/README.md new file mode 100644 index 0000000000..93fb65bd73 --- /dev/null +++ b/npm/ng-packs/source-code-requirements/README.md @@ -0,0 +1,20 @@ +## Code scaffolding + +Run `ng generate component component-name --project {{package-name}}` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project {{package-name}}`. +> Note: Don't forget to add `--project {{package-name}}` or else it will be added to the default project in your `angular.json` file. + +## Build + +Run `ng build {{package-name}}` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Publishing + +After building your library with `ng build {{package-name}}`, go to the dist folder `cd dist/{{package-name}}` and run `npm publish`. + +## Running unit tests + +Run `ng test {{package-name}}` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## 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/npm/ng-packs/source-code-requirements/karma.conf.js b/npm/ng-packs/source-code-requirements/karma.conf.js new file mode 100644 index 0000000000..64203b6902 --- /dev/null +++ b/npm/ng-packs/source-code-requirements/karma.conf.js @@ -0,0 +1,32 @@ +// 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/{{package-name}}'), + 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/npm/ng-packs/source-code-requirements/tsconfig.lib.json b/npm/ng-packs/source-code-requirements/tsconfig.lib.json new file mode 100644 index 0000000000..4b5d4afd4f --- /dev/null +++ b/npm/ng-packs/source-code-requirements/tsconfig.lib.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/lib", + "target": "es2015", + "declaration": true, + "inlineSources": true, + "types": [], + "lib": [ + "dom", + "es2018" + ] + }, + "angularCompilerOptions": { + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "enableResourceInlining": true + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/npm/ng-packs/source-code-requirements/tsconfig.lib.prod.json b/npm/ng-packs/source-code-requirements/tsconfig.lib.prod.json new file mode 100644 index 0000000000..cbae794224 --- /dev/null +++ b/npm/ng-packs/source-code-requirements/tsconfig.lib.prod.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.lib.json", + "angularCompilerOptions": { + "enableIvy": false + } +} diff --git a/npm/ng-packs/source-code-requirements/tsconfig.spec.json b/npm/ng-packs/source-code-requirements/tsconfig.spec.json new file mode 100644 index 0000000000..16da33db07 --- /dev/null +++ b/npm/ng-packs/source-code-requirements/tsconfig.spec.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/npm/ng-packs/source-code-requirements/tslint.json b/npm/ng-packs/source-code-requirements/tslint.json new file mode 100644 index 0000000000..124133f849 --- /dev/null +++ b/npm/ng-packs/source-code-requirements/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "lib", + "camelCase" + ], + "component-selector": [ + true, + "element", + "lib", + "kebab-case" + ] + } +}