{"_id":"360medics-ng2","_rev":"2-c1d8d2d2cd0cac38812956cbd9ab6792","name":"360medics-ng2","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"360medics-ng2","private":false,"version":"0.0.1","description":"360medics Interface Components","main":"./bundles/360medics-ng2.umd.js","module":"./fesm5/360medics-ng2.js","es2015":"./fesm2015/360medics-ng2.js","esm5":"./esm5/360medics-ng2.js","esm2015":"./esm2015/360medics-ng2.js","fesm5":"./fesm5/360medics-ng2.js","fesm2015":"./fesm2015/360medics-ng2.js","typings":"./360medics-ng2.d.ts","scripts":{"build":"node build.js","test":"karma start","test:watch":"karma start karma.conf.js --single-run false","pack:lib":"npm run build && npm pack ./dist","publish:lib":"npm run build && npm publish ./dist","publish:lib:next":"npm run build && npm publish --tag next ./dist","compodoc":"compodoc -p tsconfig.json","compodoc:serve":"compodoc -s"},"author":"","repository":{"type":"git","url":"git+https://github.com/robisim74/360medics-ng2.git"},"bugs":{"url":"https://github.com/robisim74/360medics-ng2/issues"},"homepage":"https://github.com/robisim74/360medics-ng2","keywords":["angular","javascript","typescript"],"license":"MIT","dependencies":{"tslib":"^1.9.0"},"peerDependencies":{"rxjs":">= 6.0.0","@angular/common":">= 7.0.0","@angular/core":">= 7.0.0"},"devDependencies":{"@angular/animations":"7.0.0","@angular/common":"7.0.0","@angular/compiler":"7.0.0","@angular/compiler-cli":"7.0.0","@angular/core":"7.0.0","@angular/platform-browser":"7.0.0","@angular/platform-browser-dynamic":"7.0.0","@angular/platform-server":"7.0.0","@compodoc/compodoc":"1.1.7","@types/jasmine":"2.8.9","@types/node":"10.12.0","chalk":"2.4.1","codelyzer":"4.5.0","core-js":"2.5.7","istanbul-instrumenter-loader":"3.0.1","jasmine-core":"3.2.1","karma":"3.0.0","karma-chrome-launcher":"2.2.0","karma-coverage-istanbul-reporter":"2.0.4","karma-jasmine":"1.1.2","karma-sourcemap-loader":"0.3.7","karma-spec-reporter":"0.0.32","karma-webpack":"4.0.0-rc.2","node-sass":"4.9.4","reflect-metadata":"0.1.12","rollup":"0.66.6","rollup-plugin-license":"0.7.0","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-sourcemaps":"0.4.2","rxjs":"6.3.3","shelljs":"0.8.2","source-map-loader":"0.2.4","ts-loader":"5.2.2","tslint":"5.11.0","tslint-angular":"1.1.2","typescript":"3.1.3","uglify-js":"3.4.9","webpack":"4.21.0","zone.js":"0.8.26","angular2-template-loader":"0.6.2","raw-loader":"0.5.1","css-loader":"1.0.0","sass-loader":"7.1.0","to-string-loader":"1.1.5","tsickle":"0.33.0","webpack-filter-warnings-plugin":"1.2.0"},"sideEffects":false,"_id":"360medics-ng2@0.0.1","_npmVersion":"5.10.0","_nodeVersion":"9.11.1","_npmUser":{"name":"adadgio","email":"romain.bruckert.esc@gmail.com"},"dist":{"integrity":"sha512-gb6r85mK2+zN9fLSTVhEHWOsQTjv8NER3ZHApRzx61KQ1PS8d/3D13gLaqxP+80x5lrUalE0L5VlJ7IW3JGPgQ==","shasum":"2ea00f04f38e5c5b19dc14667bd6b31327d66e7e","tarball":"https://registry.npmjs.org/360medics-ng2/-/360medics-ng2-0.0.1.tgz","fileCount":24,"unpackedSize":35395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcD6I9CRA9TVsSAnZWagAAWhQP/jgFHAbey+HCsaCi97+r\nrKrEOzWVBCyI++99cA0L3IecBETtGdpsBI6NfTjaJUVTuYvOtgIDuJMaOI/w\n1SZivDrsWAtuG/QkO2ztt/QNm7mzOgHYR/Yu7lW9KjXzIZg8TNtvzITrTFji\nsKsJa2fCE004+eIO1u3Oc5sCHQIo+V8xx/KWClx8RpRh0+mVbmEf4td7mL3l\nLlREcHQY9cRdpJ3J9c8ciiDLTuavw4/dgMCEvsqx8Ftlqj5v6S3fuQts5/Wo\no8F3H2r3SQYA5lhuwhoKr6ZoCFZ6hiedNzkWEUZeAbbZEv4jm2GwXrEMJK+d\n2jCahKhCG4Qfc0TVpo69STvcyoVjlEi7vj9PxGiq+0PKkSh6Yfso6ziKI2bY\nk6fyWE5m+E4V9ttGMfOLc4BgiDwyMz5ZHgHcU1b5pA15NDBn9zLAYu5H8P1U\nQQVAnZD5MB67yboqNXHO1jijOhHjjFIeafFuczJ8gsOBvrDAto5ktpKc/KGT\neqp7wdBUv0bcHJ4ubz/8DpzNw9mAnhuhR5ow+v/Neahl1+yFBdZCIvW6hDNz\nrkhqCcBZBg5sNnQA//qVh5gjXOYgvHQgAPSJFBzSVtJT8hOHvU03FJXfPAcA\nZ7I2NUfb7Wf0tn6GbGMyUkmmQHVbjVbui1HFR+AhqDzUYd1T46OhD8JMpJ3l\nSvPw\r\n=W12v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBWCTf6UU3BLOYAZRc2dpeBmfwQ3cPn6gN3oPZNHsTfLAiArDnjjRZnA7aFH7DcjOCLDj4M+kSLKbCVU+fs8WeaH2Q=="}]},"maintainers":[{"name":"adadgio","email":"romain.bruckert.esc@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/360medics-ng2_0.0.1_1544528445266_0.8281365912670176"},"_hasShrinkwrap":false},"0.0.2":{"name":"360medics-ng2","private":false,"version":"0.0.2","description":"360medics Interface Components","main":"./bundles/360medics-ng2.umd.js","module":"./fesm5/360medics-ng2.js","es2015":"./fesm2015/360medics-ng2.js","esm5":"./esm5/360medics-ng2.js","esm2015":"./esm2015/360medics-ng2.js","fesm5":"./fesm5/360medics-ng2.js","fesm2015":"./fesm2015/360medics-ng2.js","typings":"./360medics-ng2.d.ts","scripts":{"build":"node build.js","test":"karma start","test:watch":"karma start karma.conf.js --single-run false","pack:lib":"npm run build && npm pack ./dist","publish:lib":"npm run build && npm publish ./dist","publish:lib:next":"npm run build && npm publish --tag next ./dist","compodoc":"compodoc -p tsconfig.json","compodoc:serve":"compodoc -s"},"author":"","repository":{"type":"git","url":"git+https://github.com/robisim74/360medics-ng2.git"},"bugs":{"url":"https://github.com/robisim74/360medics-ng2/issues"},"homepage":"https://github.com/robisim74/360medics-ng2","keywords":["angular","javascript","typescript"],"license":"MIT","dependencies":{"tslib":"^1.9.0"},"peerDependencies":{"rxjs":">= 6.0.0","@angular/common":">= 7.0.0","@angular/core":">= 7.0.0"},"devDependencies":{"@angular/animations":"7.0.0","@angular/common":"7.0.0","@angular/compiler":"7.0.0","@angular/compiler-cli":"7.0.0","@angular/core":"7.0.0","@angular/platform-browser":"7.0.0","@angular/platform-browser-dynamic":"7.0.0","@angular/platform-server":"7.0.0","@compodoc/compodoc":"1.1.7","@types/jasmine":"2.8.9","@types/node":"10.12.0","chalk":"2.4.1","codelyzer":"4.5.0","core-js":"2.5.7","istanbul-instrumenter-loader":"3.0.1","jasmine-core":"3.2.1","karma":"3.0.0","karma-chrome-launcher":"2.2.0","karma-coverage-istanbul-reporter":"2.0.4","karma-jasmine":"1.1.2","karma-sourcemap-loader":"0.3.7","karma-spec-reporter":"0.0.32","karma-webpack":"4.0.0-rc.2","node-sass":"4.9.4","reflect-metadata":"0.1.12","rollup":"0.66.6","rollup-plugin-license":"0.7.0","rollup-plugin-node-resolve":"3.4.0","rollup-plugin-sourcemaps":"0.4.2","rxjs":"6.3.3","shelljs":"0.8.2","source-map-loader":"0.2.4","ts-loader":"5.2.2","tslint":"5.11.0","tslint-angular":"1.1.2","typescript":"3.1.3","uglify-js":"3.4.9","webpack":"4.21.0","zone.js":"0.8.26","angular2-template-loader":"0.6.2","raw-loader":"0.5.1","css-loader":"1.0.0","sass-loader":"7.1.0","to-string-loader":"1.1.5","tsickle":"0.33.0","webpack-filter-warnings-plugin":"1.2.0"},"sideEffects":false,"_id":"360medics-ng2@0.0.2","_npmVersion":"5.10.0","_nodeVersion":"9.11.1","_npmUser":{"name":"adadgio","email":"romain.bruckert.esc@gmail.com"},"dist":{"integrity":"sha512-WWTMeYioe0J+tyYZaAjQXKDUhL91yhT4T58Ge1jrb/LF3IlQW474cLLp/TDy/VOt+HCo/D7NuqgvgDigsL+Ysg==","shasum":"7ee66dd9b952b4a88bced69ce10807d2cea93cd6","tarball":"https://registry.npmjs.org/360medics-ng2/-/360medics-ng2-0.0.2.tgz","fileCount":24,"unpackedSize":35390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcD6KACRA9TVsSAnZWagAAdiEP/0l977dNQfm52e7bE/rd\nxroQCbEU8zbVBB++5xXQ5Rif8FoaA6g6huEVTZErq4VXUgZjJeY7t7UMGBPJ\nlyK1vDuJL8QxPPvLO+/EnoWCEYR577Oo47LuiMRBgEyMkuHk8P0V4/DlqfdM\nEZHDYu1LZu2htraaVfEYlyuEncZlyl3GjD8IzsppF6Q59MCRkMrWFO/9k87V\n3o/TIDYCxQOIk6yUp2vuWwiCaZTdNfYQVr19qXd9eTcR2/MUkUWsA6UL06KK\nIFKgYKOiGW6rFJwZ5jXrb71QBvquwbTTU9oMeQaJZYqkW36Xk+ilmht/HJZQ\nNzyZ4giLeBt+FTCiGmbvkFKN3tApmoqJF94Sq+hDLwwo6JKR+GflCSUEm1um\nJ71rcZe815GUChwBk/7249zGw1TXA10uFhSg4RAK42bCloUbSEXYVWOd1zMi\nP80E/NiBdJrVJZgDQ8396JEouaukXYUH5YpqH30ZpOL4kUqHxDCNZMVhbMfY\ntWGI4XvmGjYuaZXUlgICYQjsFrRa28ix8EzPoWoUlUk038bNYaenIkw8V0FG\nsjQyHMfFW4AlzJV0KJ6dOZnb1mjHE8AQTCKSEJQ/h54NH1s4hkNQodfDUpxt\nulvq5H0C4upHLD0ogrHPXNp1p6bSfOHRTaXPLtpwwidm21pueyNAuu8nYofa\nZv6e\r\n=Hlwo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbM52Uo2rWjZ2hzt28bjKgtORkrnjy6dhM0eBtnw1rawIgYiJyWv0/Kz4XSi3kDKIOyVHUahv58AB0X9kZyBC/Ssg="}]},"maintainers":[{"name":"adadgio","email":"romain.bruckert.esc@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/360medics-ng2_0.0.2_1544528511524_0.6501548378189939"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-11T11:40:45.266Z","0.0.1":"2018-12-11T11:40:45.365Z","modified":"2022-04-04T10:20:29.719Z","0.0.2":"2018-12-11T11:41:51.738Z"},"maintainers":[{"name":"adadgio","email":"romain.bruckert.esc@gmail.com"}],"description":"360medics Interface Components","homepage":"https://github.com/robisim74/360medics-ng2","keywords":["angular","javascript","typescript"],"repository":{"type":"git","url":"git+https://github.com/robisim74/360medics-ng2.git"},"bugs":{"url":"https://github.com/robisim74/360medics-ng2/issues"},"license":"MIT","readme":"# angular-library-starter\n[![Build Status](https://travis-ci.org/robisim74/angular-library-starter.svg?branch=master)](https://travis-ci.org/robisim74/angular-library-starter)\n>Build an Angular library compatible with AoT compilation &amp; Tree shaking like an official package.\n\nThis starter allows you to create a library for **Angular v7** apps. \nThe project is based on the official _Angular_ packages.\n\nGet the [Changelog](https://github.com/robisim74/angular-library-starter/blob/master/CHANGELOG.md).\n\n## Contents\n* [1 Project structure](#1)\n* [2 Customizing](#2)\n* [3 Testing](#3)\n* [4 Building](#4)\n* [5 Publishing](#5)\n* [6 Documentation](#6)\n* [7 Using the library](#7)\n* [8 What it is important to know](#8)\n* [9 Inlining of templates and stylesheets](#9)\n* [Built with this starter](#built-with-this-starter)\n* [Previous versions](#previous-versions)\n\n## <a name=\"1\"></a>1 Project structure\n- Library:\n    - **src** folder for the classes\n    - **public_api.ts** entry point for all public APIs of the package\n    - **package.json** _npm_ options\n    - **rollup.config.js** _Rollup_ configuration for building the _umd_ bundles\n    - **rollup.es.config.js** _Rollup_ configuration for building the _es2015_ bundles\n    - **tsconfig-build.json** _ngc_ compiler options for _AoT compilation_\n    - **build.js** building process using _ShellJS_\n- Testing:\n    - **tests** folder for unit & integration tests\n    - **karma.conf.js** _Karma_ configuration that uses _webpack_ to build the tests\n    - **spec.bundle.js** defines the files used by _webpack_\n- Extra:\n    - **tslint.json**  _Angular TSLint Preset_ (_TypeScript_ linter rules with _Codelyzer_)\n    - **travis.yml** _Travis CI_ configuration\n\n## <a name=\"2\"></a>2 Customizing\n1. Update [Node & npm](https://docs.npmjs.com/getting-started/installing-node).\n\n2. Rename `angular-library-starter` and `angularLibraryStarter` everywhere to `my-library` and `myLibrary`.\n\n3. Customize the `license-banner.txt` file with your library license.\n\n3. Update in `package.json` file:\n    - version: [Semantic Versioning](http://semver.org/)\n    - description\n    - urls\n    - packages (optional): make sure you use a version of _TypeScript_ compatible with _Angular Compiler_\n\n    and run `npm install`.\n\n4. Create your classes in `src` folder, and export public classes in `my-library.ts`.\n\n5. You can create only one _module_ for the whole library: \nI suggest you create different _modules_ for different functions, \nso that the host app can only import the modules it uses, and optimize its _Tree shaking_.\n\n6. Update in `rollup.config.js` file `globals` external dependencies with those that actually you use to build the _umd_ bundle.\n\n7. Create unit & integration tests in `tests` folder, or unit tests next to the things they test in `src` folder, always using `.spec.ts` extension.\n\n## <a name=\"3\"></a>3 Testing\nThe following command runs unit & integration tests that are in the `tests` folder (you can change the folder in `spec.bundle.js` file): \n```Shell\nnpm test \n```\nor in watch mode:\n```Shell\nnpm run test:watch\n```\nIt also reports coverage using _Istanbul_.\n\n## <a name=\"4\"></a>4 Building\nThe following command:\n```Shell\nnpm run build\n```\n- starts _TSLint_ with _Codelyzer_ using _Angular TSLint Preset_\n- starts _AoT compilation_ using _ngc_ compiler\n- creates `dist` folder with all the files of distribution, following _Angular Package Format (APF)_:\n```\n└── dist\n    ├── bundles\n    |   ├── my-library.umd.js\n    |   ├── my-library.umd.js.map\n    |   ├── my-library.umd.min.js\n    |   └── my-library.umd.min.js.map\n    ├── esm5\n    |   ├── **/*.js\n    |   └── **/*.js.map\n    ├── esm2015\n    |   ├── **/*.js\n    |   └── **/*.js.map\n    ├── fesm5\n    |   ├── my-library.js\n    |   └── my-library.js.map\n    ├── fesm2015\n    |   ├── my-library.js\n    |   └── my-library.js.map\n    ├── src\n    |   └── **/*.d.ts\n    ├── my-library.d.ts\n    ├── my-library.metadata.json\n    ├── LICENSE\n    ├── package.json\n    ├── public_api.d.ts\n    └── README\n```\nTo test locally the npm package before publishing:\n```Shell\nnpm run pack:lib\n```\nThen you can install it in an app to test it:\n```Shell\nnpm install [path]my-library-{version}.tgz\n```\n\n## <a name=\"5\"></a>5 Publishing\nBefore publishing the first time:\n- you can register your library on [Travis CI](https://travis-ci.org/): you have already configured `.travis.yml` file\n- you must have a user on the _npm_ registry: [Publishing npm packages](https://docs.npmjs.com/getting-started/publishing-npm-packages)\n\n```Shell\nnpm run publish:lib\n```\n\n## <a name=\"6\"></a>6 Documentation\nTo generate the documentation, this starter uses [compodoc](https://github.com/compodoc/compodoc):\n```Shell\nnpm run compodoc\nnpm run compodoc:serve \n```\n\n## <a name=\"7\"></a>7 Using the library\n### Installing\n```Shell\nnpm install my-library --save \n```\n### Loading\n#### Angular-CLI\nNo need to set up anything, just import it in your code.\n#### Rollup or webpack\nNo need to set up anything, just import it in your code.\n#### Using SystemJS configuration\n```JavaScript\nSystem.config({\n    map: {\n        'my-library': 'node_modules/my-library/bundles/my-library.umd.js'\n    }\n});\n```\n#### Plain JavaScript\nInclude the `umd` bundle in your `index.html`:\n```Html\n<script src=\"node_modules/my-library/bundles/my-library.umd.js\"></script>\n```\nand use global `ng.myLibrary` namespace.\n\n### AoT compilation\nThe library is compatible with _AoT compilation_.\n\n## <a name=\"8\"></a>8 What it is important to know\n1. `package.json`\n\n    * `\"main\": \"./bundles/angular-library-starter.umd.js\"` legacy module format \n    * `\"module\": \"./esm5/angular-library-starter.js\"` flat _ES_ module, for using module bundlers such as _Rollup_ or _webpack_\n    * `\"es2015\": \"./esm2015/angular-library-starter.js\"` _ES2015_ flat _ESM_ format\n    * `\"typings\"` declaration files for _TypeScript_ compiler\n    * `\"peerDependencies\"` the packages and their versions required by the library when it will be installed\n\n2. `tsconfig.json` file used by _TypeScript_ compiler\n\n    * Compiler options:\n        * `\"strict\": true` enables _TypeScript_ `strict` master option\n\n3. `tsconfig-build.json` file used by _ngc_ compiler\n\n    * Compiler options:\n        * `\"declaration\": true` to emit _TypeScript_ declaration files\n        * `\"module\": \"es2015\"` & `\"target\": \"es2015\"` are used by _Rollup_ to create the _ES2015_ bundle\n\n    * Angular Compiler Options:\n        * `\"enableResourceInlining\": true` inlining of templates & styles\n        * `\"skipTemplateCodegen\": true` skips generating _AoT_ files\n        * `\"annotateForClosureCompiler\": true` for compatibility with _Google Closure compiler_\n        * `\"strictMetadataEmit\": true` without emitting metadata files, the library will not be compatible with _AoT compilation_: it is intended to report syntax errors immediately rather than produce a _.metadata.json_ file with errors\n        * `\"flatModuleId\": \"@scope/package\"` full package name has to include scope as well, otherwise AOT compilation will fail in the consumed application\n\n4. `rollup.config.js` file used by _Rollup_\n\n    * `format: 'umd'` the _Universal Module Definition_ pattern is used by _Angular_ for its bundles\n    * `moduleName: 'ng.angularLibraryStarter'` defines the global namespace used by _JavaScript_ apps\n    * `external` & `globals` declare the external packages\n\n5. Server Side Rendering\n\n    If you want the library will be compatible with Server Side Rendering:\n    * `window`, `document`, `navigator` and other browser types do not exist on the server\n    * don't manipulate the _nativeElement_ directly\n\n## <a name=\"9\"></a>9 Inlining of templates and stylesheets\nNow _ngc_ compiler supports inlining of templates & styles. Moreover, this starter allows you to use `.scss` _sass_ files. If you need, you can use different pre-processors.\n\n## <a name=\"built-with-this-starter\"></a>Built with this starter\n- [angular-l10n](https://github.com/robisim74/angular-l10n) *An Angular library to translate messages, dates and numbers*\n- [angular-auth-oidc-client](https://github.com/damienbod/angular-auth-oidc-client) *An OpenID Connect Implicit Flow client for Angular*\n- [ngx-infinite-scroll](https://github.com/orizens/ngx-infinite-scroll) *An infinite scroll directive for Angular compatible with AoT compilation and Tree shaking*\n- [ngx-typeahead](https://github.com/orizens/ngx-typeahead) *A simple but yet powerful typeahead component for Angular*\n- [ng2-youtube-player](https://github.com/orizens/ng2-youtube-player) *A Powerful Youtube Player Component for Angular*\n- [ng2-completer](https://github.com/oferh/ng2-completer) *Angular autocomplete component*\n- [ngx-store](https://github.com/zoomsphere/ngx-store) *Angular Storage library for managing `localStorage`, `sessionStorage` and cookies, allowing to watch storage changes. Includes easy-to-use decorators, services and API based on builder pattern.*\n- [ngx-table-editor](https://github.com/maurei/ngx-table-editor) *A library for Angular that transforms HTML tables into dynamic editable components.*\n- [ngx-ui-scroll](https://github.com/dhilt/ngx-ui-scroll) *An Angular `*ngFor`-like directive for infinite/virtual scrolling*\n\n## <a name=\"previous-versions\"></a>Previous versions\n- **Angular v6**\n    - [Branch](https://github.com/robisim74/angular-library-starter/tree/angular_v6)\n\n- **Angular v5**\n    - [Branch](https://github.com/robisim74/angular-library-starter/tree/angular_v5)\n\n- **Angular v4**\n    - [Branch](https://github.com/robisim74/angular-library-starter/tree/angular_v4)\n\n- **Angular v2**\n    - [Branch](https://github.com/robisim74/angular-library-starter/tree/angular_v2)\n\n## License\nMIT\n","readmeFilename":"README.md"}