{"_id":"@angular-devkit/build-optimizer","_rev":"523-b3fb0a19a8b9506ad2176e60a3d7e5e8","name":"@angular-devkit/build-optimizer","description":"Angular Build Optimizer","dist-tags":{"latest":"0.1302.1","next":"0.1302.0-rc.1","v6-lts":"0.8.9","v8-lts":"0.803.29","v7-lts":"0.13.10","v9-lts":"0.901.15","v10-lts":"0.1002.4","v11-lts":"0.1102.19","v12-lts":"0.1202.18"},"versions":{"0.0.2":{"name":"@angular-devkit/build-optimizer","version":"0.0.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","magic-string":"^0.19.1","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.2","scripts":{},"_shasum":"2f2ef3ec8085108e3ce6c74a41467d4897ef607b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.2","_npmUser":{"name":"angular-devkit","email":"hansl@google.com"},"dist":{"shasum":"2f2ef3ec8085108e3ce6c74a41467d4897ef607b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.2.tgz","integrity":"sha512-SUN4PZSGvu2F5UJg2CkYvbla6kwH3QNXGisw7T8hbpJtktSpu9ClzvNon268frR2tjJRv+BS0K39g2s99abAiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChzDvjdpeWybmXy6rYkZEA9lBFsT4AmpjTtsrvm44PKwIhAOL8cWLkJR7GFL5ZsA7kECYJpoqdMeio7wmx2MIQuVDh"}]},"maintainers":[{"name":"angular-devkit","email":"hansl@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.2.tgz_1499983493867_0.39999583805911243"},"directories":{}},"0.0.3":{"name":"@angular-devkit/build-optimizer","version":"0.0.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","magic-string":"^0.19.1","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.3","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular-devkit","email":"hansl@google.com"},"dist":{"integrity":"sha512-87K/NY5aAyANt3khuDdCR26FkYsOWYXwUAZ4L52VrUuFHfdvNVQYrvpPpR8AzK6oCuYOdq3maiYbsdzQGnuS3A==","shasum":"092bdf732b79a779ce540f9bb99d6590dd971204","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDybuNXX6jAtvcJ+C1eex/1Hht5TYMS1GyCmVjr6pin6QIhALUC6c+MsCaOdmVsBCd6pu6Eba2q7mcpk7tCMI3YYvYw"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.3.tgz_1500322469448_0.9882767433300614"},"directories":{}},"0.0.4":{"name":"@angular-devkit/build-optimizer","version":"0.0.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","magic-string":"^0.19.1","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.4","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-i2yapfiwmW93eBtzmqHF6O3pYx47E+YTB6mNZ30NyMKp9VCfC+2IxWqA5zEi8O1rTWgmCTB8nk6HHNfY1PtSXQ==","shasum":"a7f552e1ff2c26ca644d6882a9373968c42ca5f6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzRXNq4aHZ28By+nisNmVnyPKO45SU/4xANF7jmD7N0wIgct7TS8jlQgQt1EsP6m9N9rdL1pw76ydZ4ecacFt0jI8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.4.tgz_1500430341172_0.010261158924549818"},"directories":{}},"0.0.5":{"name":"@angular-devkit/build-optimizer","version":"0.0.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","magic-string":"^0.19.1","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.5","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-EQvvCqAtnPTBYddxch0gpG0SmQdnU7u5i+1eONq8yTOHdNuES5GNk2vkd/z2Q3HVqCWElUaiH6CcV8CIV20WPg==","shasum":"321b141126ce462843e4d13e9d5603877e044860","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyjV470bwQbXyLhkkqzdwNedffZ55bEAjr+mBdOCXKwAiAplfZmeNexgzJrcXIw+3odEjZZq9W+4D/dEV94EUta/g=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.5.tgz_1500588481816_0.9296949347481132"},"directories":{}},"0.0.6":{"name":"@angular-devkit/build-optimizer","version":"0.0.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","magic-string":"^0.19.1","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.6","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-C4OLUss6PwRfHuT7vwpF9txMsxOPKfPVefI1JRyBLFXRWi2y28CykYPoMLSsKlMGE/c+MKh659fIaVGsRKbBgg==","shasum":"dde59c4e3a91e44ee1470918b88d9edd94e20d77","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCLXkWouo2NIwyNJ38MI/OB3fCYwa7bGdK6G4flL48wQIhAJ2pTzmsi4G0+TkZspUHivN/1hPUY7/Dg6Ys7pv76qkR"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.6.tgz_1500593033378_0.28201746568083763"},"directories":{}},"0.0.7":{"name":"@angular-devkit/build-optimizer","version":"0.0.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","magic-string":"^0.19.1","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.7","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-eEzuyDnGrDYIqZ3GaC4zYndfhLJbkhFINyigoNjL7UB4ihvAntGmEl9lufYTkqi9wGyVTYiUMZyD0M6SXIPX7w==","shasum":"41ad519c6e8d18b23ddee95fb86b38dcf25f25c3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChR0K+mHqf8m0HUKNpsdRguaCxWznrEWOzaM9wBYJEqwIgJFDI9S106Ooe2zczE4SgX5jND4KPaOLiEMNebRIIIl4="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.7.tgz_1500662969412_0.17564340913668275"},"directories":{}},"0.0.8":{"name":"@angular-devkit/build-optimizer","version":"0.0.8","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.8","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-V1tjQnUajwypDnCIB+Vh3NdbmzbeIwWZNmfu9L1fiB9SV7YiuehgODMOA7SkNCHBn5xo6aS0C0xM5lX9ijPm5w==","shasum":"bee4f9042006d0496c6416dd6de61f49eb244868","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFH8ZkaM4e/cIKwmVIC9mU3HbIJshlkuqZoX18xehs0AiEAsbwWRMuo/sFplBfmCpbjiQZ8VkJXZkguYGIGI/mkAww="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.8.tgz_1501779355917_0.9099705344997346"},"directories":{}},"0.0.9":{"name":"@angular-devkit/build-optimizer","version":"0.0.9","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.9","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-RykzFc4XAc86JrPFiKE47YhWkBhAgUIyuiXrYpIpaGM81cOfSluszCkAIrRxP2iD0sTiPZk9Ej6g1pQxkR+RKw==","shasum":"c5e54c0b5e13d48bafdb2b5613bd2bded9439458","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcsHzPItSwPiZH6EG0khnZ930C5RVCNFBvDAuSgTZSAAIgZjCs6nAR2KTetO6mMwOCTf/+x9NeJzPF5I4xptGfA/Q="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.9.tgz_1501780975257_0.27080858033150434"},"directories":{}},"0.0.10":{"name":"@angular-devkit/build-optimizer","version":"0.0.10","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.10","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-0pJfAMJG9DwcZUfutsZxSafBMMAHmbm3Ejkxh74u8j5O8hP263wUNvK2he8Yl9A6T/6l9mXgNmpcV7+XWMubWA==","shasum":"77aadd35ae6310154c5cadb6d9879797a4d3c13b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLOpKatlOKh9jERbvmzqPrvEv2WCi+WKIG58PETKvugQIhALzeOeaWT5/j0A+WmNE8y5FDHqwQxc+3nRsIyTHYXyIL"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.10.tgz_1501798866686_0.9720924203284085"},"directories":{}},"0.0.11":{"name":"@angular-devkit/build-optimizer","version":"0.0.11","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.11","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-ar8A+auIVUHGgwdT1PkAs+aZRtj/v+EoxB7hNVqyrGYRwRsi9lVg3UGspN70giuHa75kFVzp+MbQrGxxvcQ8Nw==","shasum":"5b7d0b7166262bea1ca01a73dbad7f41d64dcba3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDeirys6rBsmIDufWtBhrgBHWbRqDxe8nBw8MFbuHHtoAiAo+ablcnius8xncCRLY7rT63XznJ6yPBjbRlvpwzW4cg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.11.tgz_1502209336974_0.2724034106358886"},"directories":{}},"0.0.12":{"name":"@angular-devkit/build-optimizer","version":"0.0.12","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.12","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-yKjf2ttDdzQtRJq4QUKeGjcxCqcNhj/RQFQ0dr4BloWlvxT35pkP7O6u+x53EyZXh2H57D/qQcn9BNtMCJb9xQ==","shasum":"d06a037959e3bc7e7d1d1fedd5aad92525fa9915","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/I/GVhgibdu92rijJiAAyiZBe40aZvtvnA/BVe+UaMAiAYbriZY4VT0adY21QtSA3f3/RrR3CJUBc4xTw7uIjMTQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.12.tgz_1502315648191_0.9651754179503769"},"directories":{}},"0.0.13":{"name":"@angular-devkit/build-optimizer","version":"0.0.13","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.13","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-yEMkYU4YU8XlA5OauPhg22ZEWJ4X2VhiFKUwfeo4UWJ7lz4XWiuBJocrT5NHWqI1S0rOLpSixLXG9byvFMbavA==","shasum":"cf397af76abe899aa909d4a735106694ca1f08cf","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA7iLeJ5YUsCQkiBKwBLuRW+814RtUJFkw72n9/qoMj4AiEA337SrFGCzTfdng+jX97Et7pT20XxPR/nKLPiDVDspak="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.13.tgz_1502319911937_0.4712073162663728"},"directories":{}},"0.0.14":{"name":"@angular-devkit/build-optimizer","version":"0.0.14","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.14","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-28cdN93A9/gETGjIMRRMTEoDt7+m5huIgHCs3d6NYLJK4EykBkwAhue+ozzC+0G9U8Y363zQBRrxPIssfZ9JIQ==","shasum":"3d19420794655c896023a775d07ca26732a116b0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.14.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICbkmAVZO93zxyiZNoJH4dmGNCpbqewfRQROFQd5WTf+AiEAxho5hp6EngrlhTJDFUDiM2B+WWvmbZFDcG5xq3GFnSA="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.14.tgz_1503088481539_0.08802919811569154"},"directories":{}},"0.0.15":{"name":"@angular-devkit/build-optimizer","version":"0.0.15","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.15","_npmVersion":"5.3.0","_nodeVersion":"6.10.2","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-ZPRyj4z+ZYOvAlIAWrBvnkPPNFvTcXvwS7dY+BiWkRArjOPTAI3+153iN+/5uTHlCpLEaeLMmBOAFyJoqjLaeg==","shasum":"32c9777ecc99920ab041d2280fceccabf0121721","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+7fGVPp6ymngQavYJjM5eU4RAJFAydXAQqBn6l20JrgIhALciI7XKuaT4wFisvweh45DVrPE69aBYTmdtYs4EhpBF"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.15.tgz_1503531432887_0.7551122813019902"},"directories":{}},"0.0.16":{"name":"@angular-devkit/build-optimizer","version":"0.0.16","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.16","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-Z9qF9v/tVlML7oXDZJux/rWXnpZQNHjdzrkqksW3FukVVODJdasTSH4S2/Mc33b2OEcjJ4DyFuParqL8mtfodw==","shasum":"d7eb151e42dd8b22ba8972334e8d22659c60fc58","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.16.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDam3LbdTlSSarPHFesI3YzaX0BIGkXnF0xYMEHO3G9MAIgb2qKNvoexZzmoBHXgxcju3thpy3k3L0MnlEHXOycbkk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.16.tgz_1504051235549_0.6533391291741282"},"directories":{}},"0.0.18":{"name":"@angular-devkit/build-optimizer","version":"0.0.18","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.18","_npmVersion":"5.3.0","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"npm@angular.io"},"dist":{"integrity":"sha512-GgUxQDgR78890cn55ekJLZj+xIMMg7Axhz5qXPIx72wkFWS18FU5x/rwkQXm2TICoqG8xngLkRjmpiBq3/Ctsg==","shasum":"bdf507a37403b07fc72437d792d4e2541b0f13ec","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.18.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKBeazHlM4lOiX5FyC9McYHkUC6V4PstJ9M1ZqstBHeAiEAtBFxKmuSOHgIhva+qzX2PXaItBsoP+N5PGmzk/B3J2k="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.18.tgz_1504725298163_0.1222850342746824"},"directories":{}},"0.0.19":{"name":"@angular-devkit/build-optimizer","version":"0.0.19","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.19","_npmVersion":"5.3.0","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"npm@angular.io"},"dist":{"integrity":"sha512-KiLRCYNuzjnN1IWlJKleOruHPoA7R4+AunFdqhmXOhjZR9FXbRkKUF9SGX4WNi1sGzYGWWASjmPQTvhQQxXQkg==","shasum":"e28ec030a78a35bda3b4f71338c4fcd8da5f403b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.19.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICq+XcAk8HSrKHvUqfVAINHW+o4NTjAOPbNdNBWo+nvJAiAOKT1h/kNM9v9va6fqoz6Vj/NKcjwOaGglPe7YQUdb9Q=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.19.tgz_1505239721914_0.991575486259535"},"directories":{}},"0.0.20":{"name":"@angular-devkit/build-optimizer","version":"0.0.20","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.20","_npmVersion":"5.3.0","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"npm@angular.io"},"dist":{"integrity":"sha512-Y8JkT0C6ZbN1yJgnlOLfZru/VnJk8ojnsWTmTyq5C0NISqOzca64Q/NNgCOTupOc8FIoq66Bsyb3IfAdnFPe6g==","shasum":"86d430f225a6b6dc87d09602318f73032d827efd","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.20.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB7ZMGmLSC+oxLZdnLMhH3J6Z2s5ipL4SPBqRVbtzJlgIgJx+m+EifZO07BROh8NlSlh/lB0z1eBwR8sXwoxvpp6Q="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.20.tgz_1505425600425_0.34766690735705197"},"directories":{}},"0.0.21":{"name":"@angular-devkit/build-optimizer","version":"0.0.21","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.21","_npmVersion":"5.3.0","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"npm@angular.io"},"dist":{"integrity":"sha512-YK+wss6MFpLbuf1hxcgiwFJITTRcvjDq0MQkrMHbX2zonmgBT/olcvm6JoMsvrm9iQ/HETUgUY55koih/pwlJg==","shasum":"d3100a179c570d3c45ba02f87486c931e8845e13","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.21.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXXOXGyk+I2OfL5CbgTf62mps01xS9UIGXTNNAGmZUsAIhAIjT2FJ/WCny8wecYRG/X5kHklEifFo3mw8BReqKcduz"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.21.tgz_1505958009454_0.9236848813015968"},"directories":{}},"0.0.22":{"name":"@angular-devkit/build-optimizer","version":"0.0.22","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.22","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-klh0jYibwejF+46xxNN9IHp7/8hNqGekrgKFDmdzR4G7ZUIqYV0Qlgk2GlWxqAEaJj7EasYf9088tFc8wc7ASw==","shasum":"49a68a15f7bbc7b0eae1509c0681d572c54d1548","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.22.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTGpxwsdS1R5UgKHIvcppcyU++xhMt4+Uic5c1P9ZpjQIgPjaqswO1BIeX+oS4WFev6nd6VVRTNTYRbSbeZpr5c5Q="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.22.tgz_1506627005361_0.28257613372989"},"directories":{}},"0.0.23":{"name":"@angular-devkit/build-optimizer","version":"0.0.23","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.23","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-X71T0kRjjGJDhcAxmQUulxyuM4tNtxVqt8OWLmeuxjdKPVv7A1WC+ZmPl1rNxsCFcc/8+oBsmMyYmlF9UN1AGQ==","shasum":"2fe39f11460b27e3ebd007af7432e44646ea8816","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.23.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFi1KIsI3Dt0qR0PP+x3o4TwcGGfCjVMsUvCxMj/NcMHAiEAmr1USYgt/35GsHlYcNqMFW4E9746vGj8OKnCGBktKg0="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.23.tgz_1506636880877_0.16725075035355985"},"directories":{}},"0.0.24":{"name":"@angular-devkit/build-optimizer","version":"0.0.24","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.24","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-nqL8WXjhkRkxmcElXofxabr7QiwN9sJzcsWZnakMOsD2NhLXIhBAc2RYg4TzSXCqF5rNf1fFEJcu08Nw7+76JA==","shasum":"f361f34dd9f2a6b5ba14ab32327697419cc0ef7e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.24.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbGctapyr5MLHlPYJLOuqjuVoqeKFBCo8tZw8UW1YMSgIgDSK4zPP5AWfb9vCPRpbodhO3KZPwJNeOVUM32PHLX7I="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.24.tgz_1507142677385_0.8216842238325626"},"directories":{}},"0.0.25":{"name":"@angular-devkit/build-optimizer","version":"0.0.25","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.25","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-P3JyfQQb8UT4P/bWyskh9z2zl7rzwBA70yYzAtIGPAFfMvAIoX2564nzI63mnYyIRx7nvG3GKssSIl/KZlg0Jw==","shasum":"eec690b6c31bba169fe5378ac1f3b6c4faf93920","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.25.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0+FVRH4bpCfR9JtnXK08y7IJz0SJl89GowWLyMLPHuAiAOSZUDMcSdTy74ZyVz72SE6SLyTr5CghItBZBRWscSeA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.25.tgz_1507262158282_0.4104438149370253"},"directories":{}},"0.0.26":{"name":"@angular-devkit/build-optimizer","version":"0.0.26","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.26","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-q2HZdEZeX21sTpP5yM2PeEUTGbr6+Q10/X7yDg3CFgZ2P5NKZv6TZ8Lt3apk/wB+SOgjSjNFdn+1RHpZsAY6xw==","shasum":"cdf5bd4d51c4b0e180cec42aa9d2aaca826a0979","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.26.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFoB5R3duF4w9PbD7MHMsrLyhUPxcHou4Ss2zY34V51SAiEAzzgqvzsmHL+FgGg3IUVo5GLDJqzWZM7e5VZq5z60FOU="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.26.tgz_1507589375609_0.17222491279244423"},"directories":{}},"0.0.27":{"name":"@angular-devkit/build-optimizer","version":"0.0.27","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.27","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-Gr2qbWnclFGk0fz7FtarhrekJNq2O6l9PMzbS9waL2gdH+3q+PX7XPDYFIputp4nDPCfBJNE3vNiOoKy6lFxFA==","shasum":"66369d4b0d3ce21dd1f918a948ff60579695f279","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.27.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5R96I/rt2UdyTgg+gbK7QsSwcjdgya8xBhoRmMgcEqwIgB8YMOsSBFrMlls3DCIw3rX60BNTNcRScBQ1xPQvWb9g="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.27.tgz_1507771188647_0.2046942268498242"},"directories":{}},"0.0.28":{"name":"@angular-devkit/build-optimizer","version":"0.0.28","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.28","_npmVersion":"5.4.2","_nodeVersion":"8.2.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-rG5sGV5a2F3R5E+8WRnvq/UPDY2uN5iQjMBDsId1oILjBSAUSwOZM10zQ3De+sd89CmT/R6aSkr6YtbkYn8G0Q==","shasum":"96db6361b9bd5e0609e07a391c96aaf888d71aa6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.28.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdY0L0ZvSVPHhWmzqiJCA0XmsyfnKX+I26IEemsE4OFQIhAItdqqcogFNUwgudoQZQaoIxNNJNjGYC4rdc2L46BC91"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.28.tgz_1508356738901_0.6512363392394036"},"directories":{}},"0.0.29":{"name":"@angular-devkit/build-optimizer","version":"0.0.29","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.29","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-ia3EiQ26zU8qxl3PwtqlhClvvPhxy8qMW12KbfKJtqssOu2L+JQZXeWjvjwPkLFpZe5pgk5HvyCRYAMZMbumAQ==","shasum":"ce5b76016bb06978b3da39e601a269578bbb671a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.29.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEi+z0sYOWnzCao6ADC2Ibnhh+f7fgl+plXTvkrHlZ5xAiEAtAuRUDvEXcSEwVhU1rEtXHrRchbq8POCk65zy7a0IEo="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.29.tgz_1508454927648_0.5568490100558847"},"directories":{}},"0.0.30":{"name":"@angular-devkit/build-optimizer","version":"0.0.30","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.30","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-WDq/wctiv/d1q7fiyRWoyWkyzxLa2Uc79vGzP0BO9bUPxui4QlDvSJLzzMwg3U7X0+5qZBiLaScRNKp9zzIqNA==","shasum":"5d307d0a4699fde7d1d19705c1dd0a6e85f60117","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.30.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQQOWvBeZGa2GeplQZWuhAKgR+BE4+g1t71RODi7svUgIhAOsManJSzfoOU/uTJ0rKktSslFo5VyhXy7+KHQUlE/JV"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.30.tgz_1508821911267_0.28063278808258474"},"directories":{}},"0.0.31":{"name":"@angular-devkit/build-optimizer","version":"0.0.31","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.31","_npmVersion":"5.4.2","_nodeVersion":"8.3.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-kkYmH5nxdr6kVr7FFBoUKnSuw0gjAZQlkN08jui7ts5yiHSWUqdOOASeLYlT50Mnz8PcnkFSrB2D5MXReGHvGg==","shasum":"511bc00e18c787a6cd4efe37b8cdb9f1bc6d4472","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.31.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/kOUYufoDd2kZQuGzsXoDgYJEEwVcQZqGp1HjOco27AiAntTFC0DDI3Z8w0Fa3EWkFkL3sZrjIhEY849O0E4FgUQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.31.tgz_1508863818328_0.5160332589875907"},"directories":{}},"0.0.32":{"name":"@angular-devkit/build-optimizer","version":"0.0.32","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.32","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-j09JdaFoRukEllfmH+TUJpe2ujUzTSj/szqYGHWVBilajwnNQh7f0A9v1R27mX+2di4x8tXuvaBgwvdEZBv32w==","shasum":"1bf32332d8a7c84043059e3d265a52f9d11726fd","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.32.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwy7Km/rxbSHL2TwSWzpjctTRxDjLcWfwtJ9Ns38k4agIgPEgMZ8dKLkRBPU5i+mpsrMppyVyuOaqI0HFRSrOgr6Y="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.32.tgz_1509559674277_0.2668010303750634"},"directories":{}},"0.0.33":{"name":"@angular-devkit/build-optimizer","version":"0.0.33","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"^2.3.3","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.33","_npmVersion":"5.5.1","_nodeVersion":"8.8.0","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-qdGAwI3Yd3QIJ4FJsJcAyBVThUVEGKqSm0E3njSVSQkEatjvxHXNDvexBieQDPiUhjYG2Yyobor8nW5EMxPieQ==","shasum":"d040f283ed7300b5be8bc970228b835ed02df42f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.33.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA3+KiogZm0ZwZLdIcJ1EZAqB+Oz9DQAjd0RXB2wpc/4AiBYJk5XQMURWHt+qRcF/yI3lqqz4krAvFFZJvm2R/wfbw=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.33.tgz_1510706412359_0.11145291733555496"},"directories":{}},"0.0.34":{"name":"@angular-devkit/build-optimizer","version":"0.0.34","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.1","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.34","_npmVersion":"5.5.1","_nodeVersion":"8.8.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-uSvyKtkDnfnBt6GGJ0m1nFI9IylKq6KoQil04GobhDCXFyin6Gbr50focx3jaizwDuh4v/x11fEUi5/cSUkKhA==","shasum":"47a0482f5687db79d102cf9d416cf6fa6774d702","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.34.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1WZ2AQpJmAHwTQ63mf4cCsQW8B+3mzoPyTxdzvaZO/AiEA4ZsbKAcWrPvqYPREsHlDhXq4L8WTW4S+NWqNNT4tGts="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.34.tgz_1511991963706_0.7594833355396986"},"directories":{}},"0.0.35":{"name":"@angular-devkit/build-optimizer","version":"0.0.35","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.1","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.35","_npmVersion":"5.5.1","_nodeVersion":"8.8.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-7JxZZAYFSCc0tP6+NrRn3b2Cd1b9d+a3+OfwVNyNsNd2unelqUMko2hm0KLbC8BXcXt/OILg1E/ZgLAXSS47nw==","shasum":"3aadad1d7e9ffc7dcd106fda8a5670465936562c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.35.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFjBohqGRyqDbs9+7zsQuUXvs5zAosZZxNr1arh8zhKAIgHdpHdD/eUgweeFcuAfaB9Gpm5U0mlSdTA4zjAXkMwus="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.35.tgz_1512594813200_0.8184125018306077"},"directories":{}},"0.0.36":{"name":"@angular-devkit/build-optimizer","version":"0.0.36","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.1","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.36","_npmVersion":"5.5.1","_nodeVersion":"8.8.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-EFFF7hBbVoTOzYfXuSlGhcDr8neafmwuBAIkzAekEjzik7OaTLq7LPG7As+ebed9ll+3DAGypnrpdIE1Tp/H/A==","shasum":"e816ee9be22dbb777724f0281acfa72cfff184b7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.36.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcgdPi7PIFVw0bmIMA8uLL+zwNR1maw7wwVICWx82HgAIgOmCCrSlRl8tFYKZMIY+vmEHHi7IZCwkiPIVV1uVlAxA="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.36.tgz_1513207756947_0.30137596861459315"},"directories":{}},"0.0.37":{"name":"@angular-devkit/build-optimizer","version":"0.0.37","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.1","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.37","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-446XvQosYWGG7OJGTqkXg39pHwqywLv03X+sewHOfqYqlTYD4/A7PxHCDB9qnLSwVz1DBRCbY0FJCfx5aYGakA==","shasum":"ff2a00c6685b7fe935ca663c6efeffd228566caa","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.37.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHVLcQCHRAo+NwnnZ9ZyybTfi/ZjIyXOvkjGLQEfy+TQAiBVIZqod+PYg2GPzZHss037lMz6Nd0je/bnVhEN8OzoNg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.37.tgz_1515708047965_0.4544000362511724"},"directories":{}},"0.0.38":{"name":"@angular-devkit/build-optimizer","version":"0.0.38","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.1","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.38","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-P3jcXLIHlxfX5TNDr/tZ1tARB7tZ7jLNtjRb66O4EMspnO0n6ke8SGwB7wcNIdr+VRH9jDQUyGAj9nUjlqn00A==","shasum":"1a94715fa79e0894915411a4febf9356edf62a8b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.38.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnoI1vTCmh0UW9cIdH1hWEK6xaW08bIy37cxDCRy69fQIgNpZ9GeOLn0NqXdpoO8Lmz9ZGleOw4ef+NAI/3sKXEZE="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.38.tgz_1515793255644_0.8327197490725666"},"directories":{}},"0.0.39":{"name":"@angular-devkit/build-optimizer","version":"0.0.39","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.39","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-DW4g3U5IHe6WdzTIvcIyQLHaW97q9UT9o4v9m2odYnmMJK1eqPO2KhZDqNkvcBRSvGfLaVu4ugyOTPNMRBmzww==","shasum":"a50c991e951a91fec166e872c0a39d712b511cdc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.39.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/zqyulWGGHDUvshS3OPzbGgO6uCdROMsQiMhaOq0P3wIhAN5jWmfhS/0zuGfsuH88FeAga/o7cR1lD6cVnowylOYb"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.39.tgz_1516305429556_0.04345957259647548"},"directories":{}},"0.0.40":{"name":"@angular-devkit/build-optimizer","version":"0.0.40","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.1","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.40","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-VTKACZNOBpZMBnTkPKzTF3H/GH3hszAGPXtMt/dNyO+PxTBmjEz8To8icNVD8hZBdjlSEPRYua5lA9iptJTmeQ==","shasum":"c7a8efc102adaeb6e63f4cbe8753dab4796e319a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.40.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiJ1m1sWNt5VGI8H2GXWDHQ3qG2yjnB2CWJVCH2aYuFAiEA+UoL7y8fhv2tKBnwMHpanHOA2WhPjQjPDN/7eBsyHAg="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.40.tgz_1516310953960_0.16626987070776522"},"directories":{}},"0.0.41":{"name":"@angular-devkit/build-optimizer","version":"0.0.41","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.41","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-TYolYpR3cb3rZGMqHBc1Q4r6SwhvuTF9sDt3gARy9Tli5R3BwY8bRA3evHQhhM0cb4AbBaJVgQYdJm5FURNn6g==","shasum":"29bd4a14a425f6946cc75c37a7aa42508d2fc1ac","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.41.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo1pX3m/YFdzipCNxsyfVkoLAZg24aEc5QTtKL8zc1DgIgPRut0jo3n0U0+ASq5rii/12fOmvYUSuGGLMwMRUlcTI="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.41.tgz_1516319016940_0.19899023813195527"},"directories":{}},"0.0.42":{"name":"@angular-devkit/build-optimizer","version":"0.0.42","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.0.42","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"angular-core+npm@google.com"},"dist":{"integrity":"sha512-BAYCVZ10ro6mgZQDZiNiVbX8ppygw4q7z/stpwG8WjMswgMRIcxsxYoC1VFuWcUPAf4UyfTIav6e8UZWA5+xnQ==","shasum":"402b0dda4883db91e2381c3ddc55888408a7894e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.42.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPFVmY9cGQ83dYl/nyuvoRX14rmk9k/d6kCUGaNlpgLAIgfvSnoyteVQMDuVYhCyPQ0zFvXr//oBMTzGHzBLtHPbw="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.0.42.tgz_1516841958839_0.8636056624818593"},"directories":{}},"0.2.0":{"name":"@angular-devkit/build-optimizer","version":"0.2.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.2.0","_npmVersion":"5.5.1","_nodeVersion":"8.8.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-GjBqc/VNY3kPQ0aQ+0/dDgmcj1mjb2NY5hkX2MjqXULA4xAw9go8X+joqtHxqhD5/OVzgs9Xeeeh4h5tIIbduA==","shasum":"dc1af15fd513da263a3b8aeb2a2c61c35f33e3bf","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFMRTLRDaql78WBUpBH/u8spofVLt2XV190hZku+MoWAiAy/yv5CT8COmsG4Pld/uENMFS7KA4Mas9OieIGh5kHdA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer-0.2.0.tgz_1517429802904_0.7818797787185758"},"directories":{}},"0.3.0":{"name":"@angular-devkit/build-optimizer","version":"0.3.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Lsd2MZYnJLdaPS7OBu3JRuC/yUEl6cAitGL0qg9AE5TK0m2/IfUaFoHqqT1o2uXtMruu81gek/AKYFdY+Y+BtQ==","shasum":"924fb17d05e86f1bd5482f0e046b40e386988c46","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.3.0.tgz","fileCount":36,"unpackedSize":286316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFK8kKNZFRZ/6PqXvKpcBN8S6xZbvH7hmGjt7/JwNV+AiEAwADxK15Q8V7CtsTuSG0xDjnWvpBitu/RKey6fwTJBsk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.3.0_1518025955626_0.38922453271397495"},"_hasShrinkwrap":false},"0.3.1":{"name":"@angular-devkit/build-optimizer","version":"0.3.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.3.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-yCjN+iLyF0GXzmYfVnq/YwAlUmIcVEV4XS3zqz1hXJuNMQcrYm4Zxamr6ICfOGcayd9vdaRtRFHbQc6jutEjag==","shasum":"6a26a46c58858c7b67833c6d8a81198fa17d23e7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.3.1.tgz","fileCount":36,"unpackedSize":286316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDESAtwY1ufVZzpz2Hk1hTbZmT2BWZhwfBY6gyk1lRpAiAPAGPVqji7PYYtZ9z1i8v/BYChWDTGIUdIAe+6NI5F/g=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.3.1_1518048969414_0.8236914946642859"},"_hasShrinkwrap":false},"0.4.0":{"name":"@angular-devkit/build-optimizer","version":"0.4.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-SnKPpH2+HWmwcq3phsxzd0gN7WZfFfstuJqqni2YfAkmJxQLUmCciSeMO8oxN2AP+MGIiPSPwY5rLW7hMDEAPg==","shasum":"0a2572229c040510f515d99b39e33297fb84d923","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.0.tgz","fileCount":36,"unpackedSize":286316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj7MoM/9Ujb1wq2rHPd5Pe18l2NTiMunjuuzRbzj0z4wIgU0JdQjEK8o8/y2QRS8zsbIf9Qg+TH7yyopM+UrzY1m4="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.0_1518734134735_0.038185672651676494"},"_hasShrinkwrap":false},"0.3.2":{"name":"@angular-devkit/build-optimizer","version":"0.3.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.6.2","webpack-sources":"^1.0.1"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 6.9.0","npm":">= 3.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.3.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-U0BCZtThq5rUfY08shHXpxe8ZhSsiYB/cJjUvAWRTs/ORrs8pbngS6xwseQws8d/vHoVrtqGD9GU9h8AmFRERQ==","shasum":"77d4d1e4fcd09575f0200e2d6d21c1a3f995096f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.3.2.tgz","fileCount":36,"unpackedSize":286316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICa7TDByYFzn/X+H04InRo0eRxatWpsQd3k8pKita9M0AiAVQjgadDLvYRHVoOnjrp8APEsTlrxiAy0kBpkoBqmIXQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.3.2_1519266499886_0.4742006330041062"},"_hasShrinkwrap":false},"0.4.1":{"name":"@angular-devkit/build-optimizer","version":"0.4.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-/6NEdqZP0oT3fPKk9weM5hlMwf1FNpG8lGUaHCp/4VQ0O7YrHK5T0gYnxulOi7wLsfFrrG0EWQwXV0/fLVmAtA==","shasum":"1463e4620db5474b7619ab9443a0fff6aec525a7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.1.tgz","fileCount":36,"unpackedSize":286074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHelGRfJHO76DRTcG7EpUXukj9LJykAc6fUPVDvDOdLPAiEAh+h/nxTj0nNRVU8ragQysw6hp2L/HKmrXZuZA+XmFD8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.1_1519267020987_0.8367832771172459"},"_hasShrinkwrap":false},"0.4.2":{"name":"@angular-devkit/build-optimizer","version":"0.4.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-9DHZ60Pd0Wr1ctD5DWhAQ3B8r+KlsNgfUo/oGjg6bArd19bwuOuxiMQjH4E+aNa14HPdJRMrhc+M7VU67mW5Mg==","shasum":"677c7097f4b00f0cef012f861d89d1dbf49ad17a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.2.tgz","fileCount":36,"unpackedSize":286074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGquNm/Smi3zHCIKd1G+jcS+AJS+7pgoyFiKZAa+kA/mAiAi5Ii4G453DB+20y1tJ4HSJ19M0PddEf28l+HK6yqqzA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.2_1519270380472_0.9191800117927349"},"_hasShrinkwrap":false},"0.4.3":{"name":"@angular-devkit/build-optimizer","version":"0.4.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-J8fI+IiDBRjsBykp7KaKUTXBayn06HT06cs8aiVR5IXd1fiERgX+++BK14GeSO6cwfrY1CnOSoHP90UihwMheQ==","shasum":"97171d320e318d6edb673217e200b2bf9fe4ed50","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.3.tgz","fileCount":36,"unpackedSize":286074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCASwQx8cx7AhsK8QEPXFOqL2wAaO5cWQ3L5cojjJCdRwIgB59DCwqzW/JF3pa8br1QFXFnqLUvnaJkGoELWVChS0c="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.3_1519861030989_0.38274750796314994"},"_hasShrinkwrap":false},"0.4.4":{"name":"@angular-devkit/build-optimizer","version":"0.4.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-iwv2FjeLjqHn0KgmweSrJQQuTaL6KcGpzunHHi0u9I/P3r8Ph9A23iv7T9b8+9zoveSezoOaqSv4caRDbdw6hg==","shasum":"6eee1671c700d96874a6c901904cb717bbd8d92f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.4.tgz","fileCount":36,"unpackedSize":286074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDByMmg/r6c2whQHtRciofMt1rrGqnKgr/b4ussMGCeFAIgSonU86XuX8/jTbApztuyHs/pSFcEgjHXmY5WPWLckHM="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.4_1520539639288_0.41433044686688447"},"_hasShrinkwrap":false},"0.4.5":{"name":"@angular-devkit/build-optimizer","version":"0.4.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-5PdjSHjK4EH49e8aXdvaQMLYMU3v6z8Chhaxg/Wa3/NODLxWWb45cXaeakk7pHFzwzEoB7VuDN1gIw7JkMMEYw==","shasum":"2f8f2db7eebd81c6815f49cbab00e5030cb6dc1a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.5.tgz","fileCount":36,"unpackedSize":286074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuRq58YhO9WWb9QJGBJ+/KObcCTSCjD0rW9kSCbi27NAiEAyplOwkhHcITKHywElFmhVBNRGvjyg21itOSapc5lj6k="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.5_1520539861214_0.6564348732673142"},"_hasShrinkwrap":false},"0.4.6":{"name":"@angular-devkit/build-optimizer","version":"0.4.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-q6pUXxb8gZMguuh00ATWHItLw38YT2RE353LptCh38uQQ16bGx/8YxJVJZ0IsLK7mEhd2PtkyRzoyM3ttrYhag==","shasum":"56cd01f65bbea7acf281a97878b2507d450f1a7e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.6.tgz","fileCount":36,"unpackedSize":286074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwYWQD6j8Y+RT8FRHUPMAmz3VPU0ZdJU9CCU/8s91P+AiBl0bTxWyaUJHgb71f61r8AKlodAWiQV8veS/+/BxNTeQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.6_1521252732467_0.937134706908828"},"_hasShrinkwrap":false},"0.4.7":{"name":"@angular-devkit/build-optimizer","version":"0.4.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-ujPgujVHz5NjIsOQqgYvczoTXTk1pWx/N8zDN6RjNfWCr9YO1agpIc2GFK2Bp/LYWGDO0rHiYnT0IUQkz4XQGg==","shasum":"56aa2bda5b90b091b3e004376c340253d7b60597","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.7.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYWxfMstgzSxkERCEMCLriOx9p7jc8seOsi6m+t6LeNAiALw4zuOvn7TNY294jdUJFbt7GuRijEt4Lla3iJNm6uRQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.7_1522164742053_0.1583126041277223"},"_hasShrinkwrap":false},"0.4.8":{"name":"@angular-devkit/build-optimizer","version":"0.4.8","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-x80g9DdnGa6Xxby0dc25AprAD7d1aVEK+4Y0QA9ZQtNJFxciGK8+liMQyLcsWLa8SXk0Hruv7qfEpUdPVwr5sA==","shasum":"e21b261e573ed82a765961bc2de50af6999e7ebc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.8.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHzU1Cz6XJu15PIoZNp7PrkmQqeutB+DjIE6NJGTdw/4CIQCFMvzyQgVpVfaS2lRS5xF3xanc1i6kyDgIR26X/TfdmA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.8_1522300132051_0.3137601255984024"},"_hasShrinkwrap":false},"0.4.9":{"name":"@angular-devkit/build-optimizer","version":"0.4.9","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.4.9","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-ZCPcA01kAYPsXofbUHz1HEDxDAYid7EYFPHRwmkqXmm4zLcIku2tWYfmI2HdcNDI4wprUHMhN7aTIzy40VFpBw==","shasum":"ee1c6e6a97142f0eb8eb965c4e06d86f57af90ee","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.4.9.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD0k1cntfXx6HnA0Jzvtin+lBG7bawO4EB2ffdqEEKwwIgcRxvFdSC5to1Cg9ERWKgsryt2jFgiNZfLqdV6ukBuGQ="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.4.9_1522752470656_0.23046740388751386"},"_hasShrinkwrap":false},"0.5.0":{"name":"@angular-devkit/build-optimizer","version":"0.5.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-/m+hT0iWKGt/+Rr4sbV1Pm/Q2OWJB+0vouGYSeQ3bfStcymn7EVixfHIiKRdYcDQxUwqK8Q/p3vmYEF+Y7xiDA==","shasum":"e3e598084d69d8d4c18c69a290cfb2c4c7d4719b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.0.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu6ERC71wbZkhZxvj7CgWL2eBDpnMMo926atZZEoEZIgIgafPknzRQVOeDcQVdbmpSuzNG31roHdNERll+kPk9Xhc="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.0_1522755988543_0.35037066755166624"},"_hasShrinkwrap":false},"0.5.1":{"name":"@angular-devkit/build-optimizer","version":"0.5.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-lqiUWPeK6dzyIwxpu73WYl4G1vXnqdA5XGuAPUyAvIJYBnUVYhMJBo8cTIvSvuuW4Lghu1slawpqC7XsP307gg==","shasum":"eab50a59f6fe4988a598ab9d8187eac6ca4f6586","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.1.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxL61mIJtyXSjDiVHtR2ZFAQxHpqUb18HcMCMirEG6VAiBTRHtlS38viRHvwB2Bux4kn4luxvB/+eKUEeXVDwrcog=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.1_1522900426246_0.9301634477621461"},"_hasShrinkwrap":false},"0.5.2":{"name":"@angular-devkit/build-optimizer","version":"0.5.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-F0Zte/yOTKs03ysfNVpyYu1cPZmz7o+mDaWAjxgMQLKLbGaULSjVQaxIm7WR9fRV5AMcaeW4jXHCGo1kA9ntUQ==","shasum":"70e5aebef927282ea14f21afd76045a8b0181c66","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.2.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCj8Zgej390OovnvKZ82Jgwqi0CyLEtqYU0w9rdcbjX6wIgC382867lthGL0LyuRri8zwUAei4dvaguZGRBGexXekk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.2_1522980278675_0.5237642636254252"},"_hasShrinkwrap":false},"0.5.3":{"name":"@angular-devkit/build-optimizer","version":"0.5.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Qnksa+LtuMH2D1kG3y+OnCNlvJ5WMUJxR8d9de14YY9o1/E1mmC2vMoTQGf7AVT6NiXTlyYujo1yFm8vUeVebw==","shasum":"aabb6f96c145be5f09684252fd686537f17a08dd","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.3.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6TqhqYSfUgDDviZmzbx3MzmYIN+2x/X0fnelGkYUoHAIhAMrJci0oivqrqR5WLHpbRusfK34NQo5g3AobHeMKw9bs"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.3_1522980563733_0.8494317832705682"},"_hasShrinkwrap":false},"0.5.4":{"name":"@angular-devkit/build-optimizer","version":"0.5.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-j91Dlw3JhBmcyvALiXh1jk59q8wS9OJgTSFUxjPp18H2a1l+Rh1BMjHKvTGPNgja7hLXse7b4g/qiwxKFMejpg==","shasum":"66ea44c37e570ad85fca11ac036ee8e7559ce4e1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.4.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmVMisHEDCV4D2mJUEGpcuF3tegL7OjzCGJxfSR2uBnwIgLVeityFmhpUvClPMPvmbg/eVVHQXJ1BbzWEtJs8BxuU="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.4_1522980782383_0.9041893731646433"},"_hasShrinkwrap":false},"0.5.5":{"name":"@angular-devkit/build-optimizer","version":"0.5.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.5","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-jxHnZeHLZAQ/fTujHWx1v+VY7ao/muAejowpPCqc1eHTp7sSxg/tz6p1rcHwLCF3ZD5C7o36qBEm67SFKxIywQ==","shasum":"a9f8a33a22489f2b72bd59d97f1d3f3be0357ff8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.5.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6sFAOs3ogZhngp0J8zn6nhbZeR96z6HM7cM/oGv4pVQIgD6yD0CF+GbhxWmgfcj7tFBXXOF/tBTcgAmlGu1ejeM4="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.5_1523379488686_0.33949412457440586"},"_hasShrinkwrap":false},"0.5.6":{"name":"@angular-devkit/build-optimizer","version":"0.5.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.6","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-GBH5QweHBus8Cy1xsUr6nkubQcOThHKvhc/GqQ08G3s0+5LSZ8DjgPoinF+u4RzFi2/dsnrkrC/qQ+K+AgLPXQ==","shasum":"c581489ccf5757800ac23d44052934cbcc6bafed","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.6.tgz","fileCount":36,"unpackedSize":287832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEk1OqxB4bMyTJ7ZwZ2JvS7qQIOSxOun43s/EjWWlE7pAiAxiYNAUFJlI0/X+rKCxIFoPG/nan/D9LO9d/N9GNUOQg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.6_1523578465189_0.7051563311513964"},"_hasShrinkwrap":false},"0.5.7":{"name":"@angular-devkit/build-optimizer","version":"0.5.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-2pIC+9Nxh3vvYVqbsYD6J9vXsuyjrx7JW5E9TF3+ln2aPwjkJwa32N+iJWf2YbHttalj49tcoCd02enmamYSIg==","shasum":"a66e21707fe65131549133bc03ebff4dbd61cbe8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.7.tgz","fileCount":36,"unpackedSize":287832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1SB+CRA9TVsSAnZWagAAyDcP/ji023R0DVMU+pshn+zD\nYG9NVCqATsciBuMF/d3/3x/4P+cesEYtRLfzqniOq+yLA/SXCPF94zzDoUWC\n6EzZXBKprGyq43N/5X/ijfjrbC8NghSqSKbi8AV9zRbb+q1YIvOHHzdpMC4b\nB4FwcVuErJpMFBleeXBjlFeVaw+JA+4z3Gck03w5bUh71u3xBzhnUUcxflOk\nFZFVd3iy44O6f4dNtyJ6TzZxfxBTD/ZtxxPh2gvcbd0Zg8y/a/QQ0z5+swE+\nEQoMPMYr0qL5AfR0i3Dlu/VLl9w2vuQhIuS9Ht/VLSIMR0Sg4ae8EOR0s25S\n61hjDwGm5sUyIDJ08wLOFHZ6EnbVrtl0jVPXW3I5UISo6tgCuEtvjFgX6JWO\nMc/i3Pq6Mvt5ilmUoVq8z8b6wmkmaM4V0VoXPAOYI7QYB0I3d2FzRKZL2gvy\njtgDAoJAYrNavNRttFqB/ANbgSqLt9sV/io1hyNfgwOG4EOkN4U/JK8ZRYkk\nfLwYBaAvaJhXxZYJVhGsLAl8KkWfuf6fBl9b3jrnYg0wcaIOVdyGOtJytUkF\njr7iOEy93SkHO0fm7P716y+inHTxIosCBzljIIbMBzVWIDzzV9+D9f3tHnUz\nYWBIYnrDYUwSPQFHi3R4CSLqHi/C+7FfWt+FC6/Had8F2SkZhfgKrrSpMEbN\n2obI\r\n=/WFO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2VqbHZ+GdzHMXGRo8XSZ1DDCa6VpUi9usccTbz6qYggIgDUIod3Ki2tIj/Hb0t+L5inu/jwBxVWf4zYTcjaBY5SA="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.7_1523916925127_0.7320965827875532"},"_hasShrinkwrap":false},"0.5.8":{"name":"@angular-devkit/build-optimizer","version":"0.5.8","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-D5baiuYYhAgBpZp7QerAc8VQub9SqJlrscHEaI4ypWf5VXzWeEPYL2R5V5Zju9NTDqZQPos2vgju7KbKTRBPqg==","shasum":"1a91d4b2a08de1a29cf66818490bd4c2fe24819e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.8.tgz","fileCount":36,"unpackedSize":287851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3/wuCRA9TVsSAnZWagAA5vEQAIs/+xvm9C1M531ccDMd\nbUArx3tTA8fMWUcv5bybHzxpAFGRmWVF4EwNHKw5/Rv+b/UDSLPzCBpq9/n4\nNJuRMV4hgaVg7nxGKCUG8KF5fFtu/gWgJsF/j3EAYrU3mpkdwxcGCozZZkGL\nH5Wbcfr8ttppb90GE6g/2ohgPlkPJ86Sa0haNq5kA9YQd3KHI0gA5BBLooOc\nVI/3I+aCI4p2WK2HdjC2HaALviTibZNdGIwiQsTiWLzjO7u5J7QNCWK+y3OC\n5OfjSZ6c6qI5krbe5BkQGpRfuSDRGko5y3bhDkH4aiXp9khl8GFDtsAYvZv+\nDlHSIxPl3/ceGUTDk3ABorNzFOnX9nuaQ7S4X/1ta63QWMM/lCyH0xGb+KGx\ntHsuHBDtZ2BrNfgXnsAHm5jr8AiYsz1O8yb27EWi82SMCkmGBdnYNmywF2KO\nBAb4i0xqJs80paTSqB8fBAG0HFgmR0A8RxA5AdyyLpOuOM8KB1FqF2X0CaOz\nvWpku0gVfm16ZPstFiTLI/1ABA8Y0QEi4rliroFhM0E2Xyg/5X/7HS0M1z5f\nsElqpt0H3cxMBsF4ilHPV8Dm2f0309fqE9W0Y877kMPLrDdOQYbD0H06tUCU\nvJoD1E7j6af1hzrTX8WdGuFyCj45YCK16a8H0NFO9g/nPUPJaKbHBb3qgi+D\nxx7K\r\n=zc1l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHjDQD5nuuCVbkG2gtiLWI6OEFZIjU++vXjDAhuBTcjyAiBT8KGrv1caKdq3PjH37aHvZkmAlZertlP+9i/6yyBwnA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.8_1524628525787_0.3264771496328742"},"_hasShrinkwrap":false},"0.5.9":{"name":"@angular-devkit/build-optimizer","version":"0.5.9","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.9","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-LvaWU7EXGf4ZPNEwVOpW5vOyJ/+Ob1BuntptE2LAnlWujGwGWLPq7z+uRLiT4F3K2OWsGL2r3rYqrDdHIg1jyw==","shasum":"4c9f608488ffeaa85b7007ed610758cb59507fa8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.9.tgz","fileCount":36,"unpackedSize":287851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4kTgCRA9TVsSAnZWagAAgT0P/je+6SFsj2U7/2GzBUIK\n2H1q28PNWLnb2qSFUTRTrsdyx5mXdDXKX4NoWJz7mSyjwj5u9DSlQAWsxuiu\ncYhKh3/0LTqM2OaOSO+e+mMlfN+CAHkVWrldReuwk41RZEqU4LOP8ZAlqb0Q\nkX1UF20GWve+5woy9jljN3xnl3O2hpXLgfuW6Wx2xSJmTauRok88puMwvmLo\na/ig0dvRbtynrVHpz9wNpJTPMTgyA7iqT/HcGb8erPfk96HcU+Jbq8i1wohs\nFtvSZM5fI7Cvu1cbk9v5Iwjv62cTObmpohYNNdQZyP7buxeNlJIckLIq0vph\nAlsjvb8EqVGU6WBAX+TpGMoRfiMHBfUZAegDFu14eqb9PSazKf7B278fpwzP\nXy2tFHzQ282VgRclEdupgJOYAVejIjhr6lfzeN2boog3cXc5IksJ+1Q4ZT5Y\nQyncLWLid1G0WmCMLyCNtnUR5mRnuRW84DNYqGa5Gk3bAFi7Ta30a8J4IaHJ\nT6cbPOiZqr89LECcldhVAuF+wRN+mq5ObJd+ine7jCLe9/7/G1aUIDXjzeNT\nMw7kwf6YL8GB8oAfGeV2s8frlfvwN/fIvgPcGTOb5NNEkbOhN/RWX0hMgeUK\n2GLLiy0p/MV4379E6fDSKKeaRSJKvSZI3MI2L4c/3V7PWGQ7l+gOGlN/3wMG\nNOJj\r\n=wy4h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxHP2iPkVTV5/z+SwGg0OL+RQrtKvqBHcWzY1HOFKeVAIgFeGgjqrqIiCGi4b68yYGu3hDVHG0fp/m9IufNV30dSM="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.9_1524778206445_0.43479533264687187"},"_hasShrinkwrap":false},"0.5.10":{"name":"@angular-devkit/build-optimizer","version":"0.5.10","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.10","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-AuXeEz7v8ncDLPjyv8KuLg/ECgaOyB7qEbY5dYp0BpIXZYdCvSS1H6U50+6OQtGQBic6lq2xJfpjqzMQhI2tIA==","shasum":"1a987ae2eba4e3141b0a69d50b05dc57a280e2c1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.10.tgz","fileCount":36,"unpackedSize":287852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa48E7CRA9TVsSAnZWagAAu6AP/RnC/0ie3dvF2MFCFeET\nK+8Wi3xUMjbbPucQaSufzv9wzeVzypXssIzGNx7W6nxz30eZQvlKYQLgyQ7u\nz5AhKKl+3uP9fRLdNukffQzDYp9cWpkUAiCH/SpJ0hCgKD5UMSsD9teWMrbN\nZ4XQy7FxLinpKegoy0raV7rBJJ5qBnu8dQhmlcrMxoM2wufKJsfnu4b6AQEJ\n/6hXgEUA7OjvLGEWLHsL4A8swal5ClDuFK+p/tM1WqRzfMNTyR4E28AywLzN\nqd63YSRybsBCYSykkYYqTibcd31PHLw9bBXEQOBwadbnBaGaoWZvPqOz2v//\nAeOZI9nIg6+12TVLJoL3tQqHe+bGK5+R3z5m7GVN4CYkxvrSBrU+pgTtGpiM\nfjP6EWXaT7kubbz+eC3VmPMzHfEth8LQdiUHYZIJqe8pDnrk21ybMjCDR1Tj\nippCMAFfzqlKYmppk4W9wsERAU7Hhw3IpZGeMuDfD3kx4aOSRlUL/HnFwXu5\nIM/VX59lbu0ephvNCFsQ13JugHKE5SFwr4rGkFIFRbaJkmeOCiKegP2PydAR\nNwZ7coj9Pr8IaDU3BV7zVPrw0Sj50xNWbRxCgX7CuDW1K9TgVAelbFNgm6FK\nfQoOfXpdIUZJ3ACYa18gFv0XLeippQuCCet+Ct+P0wuDBpfx9kCrTsomKFBX\nNqKY\r\n=Ffra\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGbmPeww4MEopHcKMtGH9bOV6sPlIleE8s1t6bkc+ixQIhAM570+4L1YDdI9fjfJaUxuidCbn3JRcvJJ/v4KE3C4Pk"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.10_1524875577509_0.8885317161394821"},"_hasShrinkwrap":false},"0.5.11":{"name":"@angular-devkit/build-optimizer","version":"0.5.11","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.11","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-dlh8zn8N/1ExuPPhveTTukxY+pas7g2SG5ARuOb3uJZziCdh1At7EZJKdNmsWp47aFej6sjnuDiLA9qSNJD7Qw==","shasum":"3029f07234ccfaba782f67a10bc2d8e86d627c11","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.11.tgz","fileCount":36,"unpackedSize":287852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5+wUCRA9TVsSAnZWagAAtPIP/2IeQ2S6DU38GPqT/p7A\nqovccskqe90hXfcVyzDJdMX2bStuuvRsM52E/PbEjECJ6jwfas+5Lgunfah1\neuTGv7ZvaMA6dB37rYxANzhyQL8rWGSu6eSU+y5puyHHSnJl1tuRsvGofQk+\n7L/O17O+GNoQsD0bUhn3fO/IVRGpOBfClRa5EAXENDwuvX4qzz4trg+jkAA7\npM/FwO/4e78pyYTqKPvfTiB6HojozXSCWJRdbiqIIwtGWfjDksKh4pRhxNlK\nJgusSaoE3BjgVx/wM7tyUnPXgdKGmiJegtkkrZRBrGg5UjYW4EuGq0gg9EmP\nh09WVLX1OdDSryQbY2a4L3r5MTW3HpgHz7AAtKCdTjJyFRUhJRq6mucQVuJx\n9lnz8lMnDGJL+1Xj1xJok8QAR/6vAAjRV+NyEFj9rOIR/H3F6/Eezj8hghqe\nTszlStps5crLxwndGZxD8+KBTbnPHesUlxIF0tezNia6wYQCXcZM9L7RJtZv\n/Mqkcw2rltKRboFH8C2Q8a/STbqw2/lpV2qtOoQN2wcAgkXdkkm38T1hACJ4\noOxlUiO+EXeH5HcyNWkBStAJwBJ8UnRaTid5BsW4YRCjfTalCf47PPKOqxbq\n4gCCKATXUqrj0XRr26I3OhsPnNf4xJo4J/8ND1tjHvj8nRRzf0Hw2mdxZ+JD\n/+tb\r\n=by40\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvVQBTtInyRI3VMnSi//ADRYogtgaofsAi91E+qYWpQAiAvahfTBli/UuBQy7EWfy2iHv886/rvbBsr1No9MuAG+g=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.11_1525148692218_0.534890985045533"},"_hasShrinkwrap":false},"0.5.12":{"name":"@angular-devkit/build-optimizer","version":"0.5.12","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.12","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-iLelkwYCOn678hir4l7f/jKHeEJzLP9Hcs3BgiH6ewr7kJ/hSlZq26SgTdQnovvVdGbvtWFMYEPHYEo04ZZOwQ==","shasum":"9b661acdaf952b67c16b688fb43e3c08c6205c34","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.12.tgz","fileCount":36,"unpackedSize":287852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6P50CRA9TVsSAnZWagAAh6sP/iWnKdwj3GL2m9wQ+EGO\nPT1mf+TBlUc3fh5XzYM97jVGs9HKiE9Tpx6pNiHSNebZk/ycLcD9eRVMQZCG\nraBDEG+FrlDMX4XEh8M2Se1k0ryOIu6vNVK/xBpNfbbOrWkiAd8Wz6PJmepU\ngSTD3tp9WeqcR0av1BSqLBkBQVbsqO97YwCJ3tI5YmMUxvmFNR5+1/KNBO4a\nahzYQvOwvJUzX4mn4WmEVAdBy3H41losfNflPQtyVU9UKjWWHBbc5h58UXUo\n3bmemJDSL3HnBgzWeSm8kkeAs6YVcRVNeiihHiSXzSKoSN28uDucr/i6a633\ngbmxgA2rMIyoYS8/UQ/WT2zZ0v6E094+lJScL8+PW6hOEanyhUOD91D8EBEp\nyUAXnRMVTbklGvzoh2gr2Yo4p7ecNXslDOhPE8ItZX8QmFpcl9iSIYTGbf60\new38TDNJyihb8FFiVljp9hg1vOiboNhqoJHUBrNCs7ZvyYRsNgb084bc1VhW\n5En9ojzVArssy+89MOIq0h95alhvb+i8JLQ48HOxBf1Kp+WJxPJQrAnsvGi1\nAEMTR43OdKyohvftN4QyrkXXiMp8IXgKpXl3wvYimnFIh69r7nmBXTAfEAyp\n0XT6rwADIYb6sS+7MSOZg/53LFdbcM7joJWmVpIqLyCVpwHLH1ZD4+RUp9Jt\nhvQc\r\n=ira2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHlqf10Al+TE58RDDZYfTXPq+PrAJIotrnwY/PbKr7y/AiEAkQfuP0BmSU6BnFxyZga0RUCpoeIzeACU2rAy9HG010U="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.12_1525218930110_0.819983266906944"},"_hasShrinkwrap":false},"0.5.13":{"name":"@angular-devkit/build-optimizer","version":"0.5.13","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.5.13","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-lAe9iOteaDKA6n4NjrswsVBeAfK92A0alOCvOyLAz/hjhnXbbBigXYhNkCn9G1mUDEaWf1+BKtoZCvCemfX5Sw==","shasum":"0484463b715de409b94c8a1aec4a8fc9161d8ce2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.5.13.tgz","fileCount":36,"unpackedSize":289735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6jC9CRA9TVsSAnZWagAAP28P/iSXpcNLRI0YZce1quri\n4u1B5BWVJUbmOPfdNuNOoOmGFSik6h6NpgYSrmvuDvfny7GcGnLfndeDGDG0\nCedXM45TFT8J/hqda/Aml0dOB2iOCxqmiAlVprivNfoUYmntN8gAI6SdC5FB\nEC5nnt2hGn6K66TpN344M/KNuVzbw+4Jr5oV08Q0jaOh7RGtYWyZqG37/mig\nV6o8NiO9xMnRQc7seNz48fULEaNMlDbl5UULwYzRIhhUaL8GWlTrFRgHgJgX\nnGOfq8x1zMy01/SY/0kUgWdAvM9dJj5zdBkj+dp2dz4TRqSK2TNNa/z1L4Jf\n99WiDbp9SoB1ggYl068s4lguzFU5OrlGBjJIyUQ/VxwJGEn6zX17e7snBqVP\nBdWi0USPUgrfaoPTafk6JeNuouCYaZKLcowmKx877YZinuUBqzb7N5jXs6x9\nOcpojX7WsiUxatH1uhkroAYGg4lKZwOgw+I0XKjKsZVksjjgYwwot+RoJUIF\nkd2BzEURq5NRREV5JUhKeOfnjn1YCn4Lrj4B+lp8cr0KEBlZfmnoDdHvHeqy\nRfbH54i3Z01b66Tr90kl0AbTpAqv8yPtDorpTWcGscFKUOzxx3vlYwIVHPyC\n5IGFre0dX70HedL0vOdwZdSQBYsqsr4f5WzqdRcZM3wKmLBWoJF4nyn3vONE\n0IL1\r\n=aSwM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxcucLFpxD8xhPAKgpr0shjvq6i5/uoDQ0+g3i2tQ91AiB1Wo93HFhFwndqECwokStmubixf6PTv26vnb+0I7xidg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.5.13_1525297340210_0.6728635915954029"},"_hasShrinkwrap":false},"0.6.0":{"name":"@angular-devkit/build-optimizer","version":"0.6.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-XV6NEf5G3iuXnIUpvSuwGSyTkIP5muS4NKbOWFpqqQhbQ0jacJ9KC3uXSBITD7zZD8ywA3Yq84mPl8c9pLKyXw==","shasum":"150a76155b473dea17327a176d18245a2da1c13e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.0.tgz","fileCount":36,"unpackedSize":286315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa62ZACRA9TVsSAnZWagAAEgcP/iBW+9uXHMCNsd9Sk0Lo\nG6ryaj2s01wWYt0527ZssdjWWq72Ux0ICZyouNco0u6sTxJygViBpuXP8hVP\nmdf2Xk0lmw/9P0serRjWW3L2vSZumnCrBN7cx1nYHuQIigpIXTsUpq+kbfAD\n4sfjRVHeoc+aKjovxW3OmWAXERL3bjz3TCtF82QejV1L4nzAm7zxbxCPC2oS\n280opt0M2hXpWiGfI7wUfbZtfymQKmep0rH9CuNvtFzbI8CdDnOMzsnt+Ha+\nEIjWqXbuWVjjk3pn5jeaqm+3H1XSZIVHVSNKVsXol7djqtFZGqthji6USFDg\nXljCLJnlUIsfTV3f/J9T8w7TmudtrckRqcGZnqvT4u3N3XTBwEu+0lzw32uh\nTi/WsbEu45oy9180uv2ECNB7CRa1woNaTrfj9HWKAOokSDz55mbP+6eoZy6v\nmOY6ZGpF08miHaCrfp0vJkBKrv09tCdGxX55VBrBRYlDLPrAw2jS6syQh2Yz\nm43GnexqKWrGDlp4IsX6Lm8xrhzkEAGb7U6WZM+Bm7ZtwzO1tyyd0IzeIOHc\nIW95DL/8itXh871Od+b+bIR+ZDaTbNv2KuydanEHJK/+a8us3DiGvuXboZy6\n4M+J8VQmS83u9kIC/oACCzKjDtTbZIOa8a1UHKzZGwonpOnf8CFzQdm2NxWG\nKhTa\r\n=931C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdGAu67whp2iYicnModacDyr4dGyT2wiCUWovwrgsM5wIgG1RdZKYI4FoXr/K7aR/Ei3PPRzCYwx2w32LMcErlo0Q="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.0_1525376576235_0.7690192503607773"},"_hasShrinkwrap":false},"0.6.1":{"name":"@angular-devkit/build-optimizer","version":"0.6.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-7jfSrjMkEArTtHEStxQQYaApAigQh4PlKy0+utH/6AYEt1F9+ENSksKSb2Q5E0wSq2CMHBtrpHjyYHNpASl0ng==","shasum":"517aa0c92911eb6a8d82fcbbefa045e1f897abda","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.1.tgz","fileCount":36,"unpackedSize":289781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9IVyCRA9TVsSAnZWagAAVToP/iODOLhRN+d3p3FBaLja\nibd2JozlUMRtGH/6RJzecxB14ZgO19h5lHXWZNXTnp4UeuDQvJmxK7K/Juye\nq/xXxWIbv1SLImlhLzEmivGBx1vD71Mv3RUpGK9cfNWQiqwT+IXckPKqI/Ia\nVO6QZFqhBBpMCwU3f3YUUyz2W9HM47yHHNqAqDNG/Oi5kWxReFEiCaEU5H4Q\nfHCh5LzZGsL1jJZ36Y5JEVeevzLToP3xsUe1MhaPiW05xXh6zAfVLxoz0DQ/\nrZ4/oFiUUznUAOBsLXoNOtQJOwvStM3Gh81Xd355+YdCKmjvKoz6TONHAhOK\nJgeXliky/aCeylEn5HKp8gAntZLsvQL5jaTvhjST/ieu6fOAMct01T3K19+8\nfhpyEnzh10kfSBvAJig3c6b9DLSVcPvmGl59ehkSmdnGSdVngnot4e6/tIr/\n+UduoisqH+24qTn9ZTw1yGtSRMGUl5cmxzcD1lGVY3dPLyzj04T9zZPy2pm2\nK6DNlkak9ur72asrmhtOQGSzLhrs0cOgnPhU4SuU2XCS78KGZ1FOyiu1YLJK\n0Vv5I2TSrjTXkfhPJII+uRetm0zw2k8ETzlQ5DP7iVtQ8kZEqDwvlyJ95tub\nAbqvvFjrXfZuw5ZglK86hH3IusHn2nHX8J/4yUeBhSzhkNrJJi1dwe3nm5iK\nBgxm\r\n=XYgb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHZU2eHNnyTDWaEckSsUoLroEo+MF93ixlBdkEuqQJzgIhAJ3hfo7K6UpWbzC32ghey5VvVVsHhE45WefxQJTXycyD"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.1_1525974385521_0.6336303908081371"},"_hasShrinkwrap":false},"0.6.2":{"name":"@angular-devkit/build-optimizer","version":"0.6.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Jf/OGPwC7V//3KVD3S58uc488/kp8cIbuUwEIz7kBvkqWlyxkQx93WI/XGL3HbwPhZaT/p57MxZ5FbnAEX+Sfg==","shasum":"333efa40fcf0e661e5dee82a616171cb6eb0c22b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.2.tgz","fileCount":36,"unpackedSize":289781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/OD/CRA9TVsSAnZWagAAlLUP/Ail6fE/VqT3DNl3hUTl\n/2gULKWk8uLGOaJE4NtJN6nwbhtLYBbmDLMHS1NFpr7f1Ay1OVSI46JIST8w\nnHm/PN9cs/kZtwISkApiZSnisOoi2LHy4HU+Stw9S76ny49akdk+KeoBSQ8z\n18SYv4Dj+61o5UJaIKEPdD2JIJXo6oIwj24cZVNU5YK8JwrQKHbVMABPLCDo\nhbmUiUGoE8xClkq/WKd59civyMw69yDQbkvKsTnUFT2jyoielSoY3fkgy2iV\nM+j8yG2i1vM4e4IOiJzlj+pxN1anBUaSRIigG9aYEDHmIotMLqkAjAqKKr82\nsiNgPbPpl7IZij277dzX4/4QcdWgcR94AtWaKcY2shOS6LDclR+yNMGzaUu5\n0KF+OCupjgvU8Q+4HnZ1g3wWmLHjY2W93nzf1cyPqG8e/ELduJ58pYV8hSIk\ncNEQswps3+ZYTJXD55lKgX19s3pYSisr9MoFOX/dWnVIjQNMIJFdZy36wz7/\nx6WU1tB6lt0Tcu1EwZja8GEZLUZ2mDykEvJpuBghW3PmB5sH5gU+/AGV7pDA\nAiPc5YB5/y6cwyhn6oXo3tcJhaaIWliUVLt50EhfuJl2woc0j5lVbHU+MXJI\n/Z9HiYMu9gKgksqdcvu5TT9H8R/2/DO+gzuBRH+a8yjYI5cGERCb0cNF3H1K\nBtc1\r\n=eWwP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8DwEumaOFrrXM1IF4X0AVu7X1z0TvWch/+ZTS0w/z2gIhAOILJq/JIczF7O28qeCeq8GEa3MwHIBJFBHgmDtfKBn/"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.2_1526522110398_0.12465590112207736"},"_hasShrinkwrap":false},"0.6.3":{"name":"@angular-devkit/build-optimizer","version":"0.6.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-C0LGWh7+rYjpE1T1guaq9EMovwhEJ1QR25qjJxUoYvN+sM+MfVpMhoa6ruqnxh+eQCfRiMdIsnbOboiZxNHTQw==","shasum":"f455c44f34f56e3714449ca38f8a6c0ca8fdcfc7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.3.tgz","fileCount":36,"unpackedSize":289781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/QVmCRA9TVsSAnZWagAAvOMP/0RcQpM94ORo0qAIx6c+\npZ2/YwindB8FdRm/mXvwe3vC0/hsgmBfqmHxJ2E2dtfVCt6SN8PaXsnTnXr1\nZFATz5JnFmsqYXNva1F0C/bj6B2W9B6OcAeyHZx2XL/IYeOM05DLEAys6MQI\nBTevWT2P56Hn5Zr0MJWb/iJhqjM0h2cLrhd0oa9NM1iiyQTsOJH06Kt51drq\nR4Q2JX2n/J/VGITKXKsa4cn29WKXuyUygiRdAidbzPq2I0fGeLhnnr0WtySr\nAoBGolapDlMnh6aDeqCQrquta8mju6OlOnHscE6fuOw5qeTuf1W7Iuavtzo2\noF1XPJWXz0bzrgrtiq4nyOC3nQWcKIqTH8E6J6mAm6HHEGGXFJfQHYBMlk0J\n4v9tyxf4WNLJsnunSu5rdUqVUtQGf07MWi8Do7UGdV45thbfY195AJgNhuqc\nqWfW9s9NXeCmwrwL3qkruL0s2dbd7cNwYd6iNhIItdEncvinEW4R1dBzPdth\nChQDiELVDSr95c34kMfbdua6Gtc3XtE2Qo45i69Mqtpe0i3If2H/6i11Y0AW\nI9RPBZU9ihLAmMoSit9tRAUQPKLGzWH7vAMkECd6qd90agmU7O4T3Ny3zTu7\nAOO/BDdnmQVOS62xk/e3B343kBXeG4E58au3pE/76uEDbypCJX4K2Cm3ISbC\nnhf0\r\n=zuMe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEx7n/+EsxYLQ4+VRR+DoneoWtx0v+fXUFSRP90BoK3YAiArQeT+IuEybkmlhYLQFkf2nvYrhnHmcutZJjkgJMdX4g=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.3_1526531429505_0.4778270445221138"},"_hasShrinkwrap":false},"0.6.4":{"name":"@angular-devkit/build-optimizer","version":"0.6.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-2SenJ85XPdq998lwFuq3d5BTt1hPJHejLEYMoLw8GmF3Re6VffELOssdQUPSmpPgCk+3pPTYsitw+7iWPSdpZA==","shasum":"26178505e8c8cd64a842f15223c37d0be7e7dc89","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.4.tgz","fileCount":36,"unpackedSize":295309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbB3A2CRA9TVsSAnZWagAAVQkP/0tc3o0FnVPX2fVtbJCk\n3efiQP1M1Yblnlhg/MMwRP8uEssyPZtowN0O98UD7MOtvIsl+2IKq8UKPc0D\n7LuUcTM0Idc+EnH4eJDxZjfRE677W3JSE3bm/WFMDIeQNfxEdac+zPJDzOS+\ntPoNv/8M5BC3eI8R9h021NHqkDcF5/ixDMQ0aUDbod75rHxh4/WkZvgG/hkp\nWobQShUqFhtEsoXPR1QBW74AGrctg3N3yTfge9aDWyOuzwvd6bf/+2FvdNpl\nbbZB/+4eVdXXTSiKIQAaByTLNEKcTOZIxDljsoxVTE7FXg9nvOHT9k4enpP+\nZTJakGBzI9J2irIeVU4hGpsIlaKwLmt7rnNhn2mnf7KRbIsJ3bBPxPw/9GHN\n4qMxbI5hyJUuMs4q0RkN/n4+VVOLkxy+5igqW33ZebAAOW9097xZpFX/RKyE\nk6ICrSmbYMgmePJzCY4w613CekhMxtVARpDhBrufij0iN4Ye8PCd2oS65oNa\nzWzqlel09HHSRH8N9b0/L+aGknBQlMp8YiPuDWgZda+Tsg+3vbXss3YFgFHQ\nfUKvxETtjmIuOSJcky78Kx3BUB6VI2aFTbxshUW0ShbD0bGgFGkMOKIB/kYn\n9EQsZnG0mc/lJXgmEdOv8gxS0ULiyYb50xvDAhS7wkO7Jvf5096LrhOstzrq\nbF4w\r\n=ULpQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVb+nGu1Uig2h6fnXBAk1P4P67DFQ8Rm0jsgxxea52YAiEA+/zqyWqTQ0aOzWZ1MxPR/Tx+xSiiQlYnlcOO+FBXS2A="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.4_1527214134347_0.9734885153199972"},"_hasShrinkwrap":false},"0.6.5":{"name":"@angular-devkit/build-optimizer","version":"0.6.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-GXV3XLHvzmXwBRcpaXKiMrAFq0t8VTq9GwsQk9W1diUstlNCnuNSmwj1fpJxR23pPsH+5mvrrfWYdoXt8TWzHw==","shasum":"041d16f78eb529ddd46cb1389872c103c01e13f6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.5.tgz","fileCount":36,"unpackedSize":289781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbB6JFCRA9TVsSAnZWagAAk3YP/RzOUuh305efnyVj8gG+\n4YW16YCvZgv/5ajw83HTkgOLwOyvez4m/+xRO1hGkjlMvSfoy93eTUi22Ov/\naitqEMUcisy5CcnwhY7RkNNSE28HbHDFjFWSNByjn7jFrjBaYbRGTG8NaoXJ\nDW+RYqOethqJiyqcmZvffhE2JDAHMhaBcf7w4xrNN1WdcYW69MTmH/khaCfy\nd5p8qp++oIxZIxWLVfhQyknxwMtOC7qNXsjEhKuPjNLwaK5D07hA9IWuCir2\nlamR+W38mQWhInbXCde2+OGMC7anp3NEfKFDpVVtpLZgsp7nNWQrV3i6IttD\ntr5VVkzduT+6jtRundprGg3O82CAJGO3Wn6ENqT7ZjvMryoQFAC7iZwWVg8L\nAVfnqSs26E6/Rr4FmYsAV8NDi0ZhTaWNbVJMi+qpiTxUjoVY50MN1LhMjWhF\nl4r9i7hGJeqzAtUwq2AL0fDp//DbxU/UhjKZx7XXxaFNF5gAr5sXiJEE1AkA\nvtFnuIVOEUVhOosOR06nkpyvwfvio0MAjC7DQXX6eCbflejWe2GfD5JEcTJq\nqaJ8bIT5fIpMZ3plv2aN0P23EkiA5I7k9O0n8L8e0Ct/JLuypacwemwGJKvR\ntwQXTSkG/KK4ITrejnjSay+ifE3hq0j8Qdoi9ELScir40bzf6AK22AZuGBlV\n/PyW\r\n=lc1h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu2EkHDT+VTYeGBayuBO8LKm/hgcqKv3C/LD9nIZJfhQIhAOW2SqYFyWsqLHyDWMP4GP70Iu/+slbEZRfiO0yD3fNQ"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.5_1527226948488_0.8887464418464808"},"_hasShrinkwrap":false},"0.6.6":{"name":"@angular-devkit/build-optimizer","version":"0.6.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.6","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-rMi7xYfJfl53ScZQ4frOoaFIANVcc+RxV3GomM7Ahd2lA95ZN1ixxfpXOD3MqRxEbuJ9m7OZg0zIeK+4MLpgLg==","shasum":"7abc17e6c8f3903d04c7e9471435ac89358bad67","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.6.tgz","fileCount":36,"unpackedSize":295309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDb/ICRA9TVsSAnZWagAANF0P/RwZyh3S29j2MY+e4/l8\n+f/TRctWD404wxpA3zRDpX21qyu8RDykBmpzqnp+F6jq0ZXziFXxaZnp6h7Z\nZZAJxe+9wu10mKCtEsrqXWKecZ5hvv/QamBj1waOW23Wy74Xlqb/d273Gc7c\nPewY7keFPx/qmjlpwy6sddjitCPpU9i94oXUDB9mCTN1EP13MFUCDDN82dOI\n7Ke+NnE5gKr4eyQP/1fSVZMl80AeSLY2RsVADGpo5XSuVQ1380Jo31qjwfhy\n2WAcirO0kd59SeYFXgt/6pWdEcypSFnCRGxm3Jbg0NJ17JXxUC8vOdtqH9sc\npqSZ7Z7IVQ7+Qr2ouUgdQ8IOaaBa9iGymGBUkf/hegcfKQZUMfMf3sSoIHX5\nrTmmg53zHpA6jTsrSKqPOul0lX4HUlfmTSbIfXfUg+Z0QJHuVVYLj6BA454M\nC/3jLxr3TIhTYpuT2QNS2zfBcDhbBTin+Q36yI929a+Zr9NPrbWatYWG1BuF\nf/rewiI4TnOy+fV4SF0TFzAqWC74BgvjnhY17mJrFCIBlcXukMfW1e1TOUkw\nrUCIxZvp5vI9Vwb+lD/KtLHWYxD4/5IXwwY8QtscJAPz6wNgsaVER7Xws3Hw\n0ly9WcawdlIEPL1Ir4bAXs8lz8wwrCCKIEXvXCh7TG2VaAqEdLW7fy7UFlvh\nGdl5\r\n=lwey\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqQsajz9TX7R3TWa4iWM15+F7PPj2oGyy8U63yc2C8HAiEAybFseP+fiMsrFG+11Tq2dkTZCRKRQKmMcXguQt61pto="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.6_1527627719727_0.8231816364701119"},"_hasShrinkwrap":false},"0.6.7":{"name":"@angular-devkit/build-optimizer","version":"0.6.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.7","_npmVersion":"6.0.1","_nodeVersion":"10.1.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-5ZlRrWM0QJSFhrOSfEVoUp3HGna/y6SsFajMnfMQJtkk/wD3+M9a5/CQfKUangwcQB64mr8nKsurbv+IVHqUXQ==","shasum":"1492cab8c4eabaae354ee76b1f87682aa28c8ed4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.7.tgz","fileCount":36,"unpackedSize":295309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDcbDCRA9TVsSAnZWagAAvxEP/0uf+TY0THkiJULVqjYs\npD7G+wqySFp/svZB2M8BfB6CTQ8X0TwhWh1khn2d56A3ODGj5xfBDXrKQhqX\nLkBl38qOYlg7pNXZXhe7LrtmB2rqtRnWDt7Aa7AjYG6QKpTfcwX9EUTEaDlv\naK1AhRmU1jWxZoV1Xw/13CAJLKqiSI1ljH1VPDL467Kbpt3oHSsug2amzd3w\nI9WMXL05y0qbN7JM4CWuMnwEdDVjn+EI6kko/EgtSf2XXQ67GGK/CLcRoW94\nOFiI9GLyevGr6YApMXyg6hB6jDmL3AcDKAQIQXrpqxB8BbCgM1NglXNcwLyt\nkVtQH478Te5c+DrNcSbodv5E8/OX/D8SZs/2gjqJZZpmXGDl+LWXZxvDS4XH\nEgC+y0+wzv4pT9yp1ADozLYDR0XArzuC6yPbol3l95HCT08qOubTjXiZzIdc\neKc8dgesAIMcfJUzSwnAnGUTiWuzWMJuSWuqec68AFX9VTjfxoSlDYlvi6Qq\ngxR+R69jOmiXShA569k3YgAcWAKXTUpL7IvhWT6q/opNGWdyCDiu7U2J6hEj\nd4c9RE5TmjpW44TEpgv7JlUx89MAfeGChK3ktt/dv8rVEAKD9CFAnlhTCyYv\n2la2zPWhW2ChmKCwW5Y6+38D3JCTwyruEfiZQDootyCoSx/AycN/vfEQTMWe\noLPl\r\n=/SoI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjiRfQdtfxrhgaf3PMZS6jgWoSkuKqK/LVQxl4eR3x9wIhALLujujegVIpJ2lTID4dad5pPbCOhFcBpBnmYQmoTwWq"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.7_1527629506854_0.2758109950926675"},"_hasShrinkwrap":false},"0.7.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.7.0-beta.0","_npmVersion":"6.0.1","_nodeVersion":"10.1.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-01IC/JTYLE66ddT1ZHX8Ug69Ek9RCQGcLqxx6S+4xxqoX2+v/o3AZcYDBc/iGGUUo3FkweUmqYcVuhK+/S+XkA==","shasum":"10cc3cf119933a14b1ce6a71b486756d2eae212b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-beta.0.tgz","fileCount":36,"unpackedSize":295963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDc6PCRA9TVsSAnZWagAAtXYP/1pqhdOOJ9q29R5GshPu\nQtWxX40ADNswKItB+ziDTF6MfVVMSloLbVVtwTXU2N85pEDVVysedziNJ7aA\nsDu7g+YUqyvpFaEx/cZAvVNjO29frmib1E4K0FfwsgK2jAlgWI+VspoFLVDG\na0+wWu+tZUT15EGAqia5EPhA4pqdp1dxkXLIweDeuBOnTUYsqTJMwOtVaJXT\nbi9AON5yGw7R+7ZJAWWW2N3+TuOMfiPR6O0Fhj1A7SaZ2OcX9FViznL06RvJ\nmvXBCE0+uWC5UYuSpAxFMAbo/GlJWgkPq9Y/dG5ljw9z7pict8ox8RvO2y3P\nlhXEWyTV0nlTJ5ZVfneXS6Qq5jIcQneKZqTyy9jCK8xl3x0gP3UOTEZVrf8z\nN9qWU+yq+mEuizvlMBynk1M1GGtdonCiAKfUQ99bjR61pMH1iLnSzOccK2jl\nqP0B/UvIZUw/HPLNILpSNW4eF4r6gQaA00z1o2atlrjxZx9tNRIM6iaz420J\nSq7HNjSlQhRMii79QPCmQ3FJupy4izmzU77R/w9FBI6KxwOQPVhm1pGt2MZQ\nUjLeIHevHmjQKxx7CnwQY9zrGIZHOyfYQRqm0lpb8c3luy29xRjh1FtrfIEp\nJzJ0PrJmQ8FGkzQpOZhri0tg873m3fXdCSSKBgeWiaS3JYtfokRP6Yzg4ysm\n//6I\r\n=wf8e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0q1/nSQprJxTFDfGOZzcd0K/sVurCmhm2AJtW09Yr5AiBxLxdwd60s04DPr65NeAu/xAsiJd2pryFK4Vr7SHC9LA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-beta.0_1527631502735_0.9905108979283352"},"_hasShrinkwrap":false},"0.7.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-beta.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.7.2","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.7.0-beta.1","_npmVersion":"6.0.1","_nodeVersion":"10.1.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-7EuhQdeyCVeCS85pv5EaexTl71/ffeCvkMpdpDkUSGbuOwU4u+1hVCVGh9aTvjmYjnkOW8AwJQzOlWpIs/JRIQ==","shasum":"436865e337a0d7a026ef02c0a7d5ff0d842b64f8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-beta.1.tgz","fileCount":36,"unpackedSize":295811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDx8TCRA9TVsSAnZWagAARBAP/A1izp6h4U/rLSOFMmrC\nQ/tj7CaKmsIsntkiCE2feu7h44MPDsuGGuee1+ACeZk+vUrXYX4oJ2pJH6zN\npdrpw99EscOhG1RVCE4whiXSc/Xjcv4J7eUuY6fWI3lN9o00nYCqr08ejIsi\nXN9kmq8VIVvV5b2P0Lo3gGlbP61f7OVvqVZs6Gn6THvVwFu58CSNfXIqAKWZ\njjZ9V9LPLNCS5DrvdCKQZTylsY0YX3DJAbp/I9jjNgHF6pRw4WM00+Iag2TH\nojDfzTopYeTiWmYuSMudZ9zz7VCmOYFNbvIKza227UH0KTzyPag1tuvhcx/N\nJpJ28cPkMaWkjcxFaZnTMro8C/SMeonF77IPddF6yhBMLY5ES508wnwkxvQJ\nED3rwa8imWrWVKd4OdxZJfkNwK1JF6zd8H5wiJ8MVK655yKQvmpmXk8a9wAG\nz8FOGhPKtkR+k0xvjLipaL42XrCrzwXmNX5xnZ50VlxmdZMOOLehWmLga3Tj\nVlHeScv7rin2o1FgHZuWgsvdzIMoKVVSMkyofXhhFt/FIrosDrg4SWlb1WEU\nUNZlCf7Ihmxr1U4Cox4z6Z4uI7Pe5Z8UFmnePssYPl/rC+sTQisn712/iM9o\nnIt0we5Q5EP8imGZD6zS8qwSpzer06ycMi1AmoqUzRy7t4GETK2dTbT8VBmq\npKV2\r\n=G0rt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjcWGuw5Oi/CfzRkOaC8I6wVG/fBfRcGt8XR5cmvt7oAiEAsYJ7nSHD/ok9c6tHzUMO66I80LyOPm6Jfc2AzH2NDWA="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-beta.1_1527717649901_0.8919943270462292"},"_hasShrinkwrap":false},"0.6.8":{"name":"@angular-devkit/build-optimizer","version":"0.6.8","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/devkit.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/devkit/issues"},"homepage":"https://github.com/angular/devkit","_id":"@angular-devkit/build-optimizer@0.6.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-of5syQbv3uNPp4AQkfRecfnp8AE8kvffbfYi+FFPZ6OGr7e59T1fGwk6+Zgb2qQFQg8HO2tzWI/uygtLIqmbmw==","shasum":"9e18a4f447290d3a8e32df1110aac8b98b80dec2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.8.tgz","fileCount":36,"unpackedSize":296718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbF1lqCRA9TVsSAnZWagAAEfMP/1DZ025OrfJe0wKPdgIR\nNWmqpxxIeSNu3u5ftt0wbRTXR1/cjQmCG/REL3x5bCL48d8zTGZXMePNMvLQ\ni2kc1/IZGNp4fQGf3rl8IyaebA5MItPHDtjDinNm53aXR+KY86utkoFlxHzh\nDvKwsO3wK0vgQ1aZ5P4Bp2SojvxMN1oLZvMi5nBx9g3YR1wwzWEtvl7L/bLE\nnCmiGE/QUmT5aiXBCzdbMNXMwuSltojABSNQJx9h/q6TZz3OQHWwIy1cvfSH\nYTMqR0L35XPNXlfq6FX/RN5SK/VpjXjlR1qp4+r1B0wJBwKmRjqTFPsQmTE3\n4bsro6xz12AoBWS2GiTcncEGBkfkQjn+f66426hLysiqnWaivi9MntjXMn6w\n8hz+0UQLO5adhk5raYdNt+Hdr3l2mTGZYvKInRZJMnEIc10Fcud9ILmUEpTl\ndPY6Fv3zrldHs5RhApiwNy7jdgOykSh9ODY6uT4ha72jKipxwawVZTCaxrnk\nkSjA1O0R75PhJgPb1N6ZpCtS1LsoX/ny8pjQeqsUcZwair2xfgSTY9Clw3cu\nW7Aj2yCRp0gJoooB3HfIu4Dar9Md3OdgNKHo2c8/liXvZC6OiB7PbnQGk1Vf\n0Mm5x8GyaI72YpRY6ovZSxLmUxV0PFjdfkMs26mPWFXbiobItNVrt/XQu4hw\nctai\r\n=T5Dz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1dF3CZ325KlP3yZ7AJHWqO2y8Vl8+KUBo8ZPGoCvCowIhANLMLPFPd6uzvkUNrI5vc1pnB5E8Qb9haE8rHWnh75Ow"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.6.8_1528256873727_0.4116400930835862"},"_hasShrinkwrap":false},"0.7.0-beta.2":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-beta.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.7.0-beta.2","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-72ur1wtcnuuFoplSnrykrOVgNANiVclOLOb5WHJt8Yee9a5FUh9uczMRBQwP/Nv/kFVwyrNkYwTaQV8bSqbbFQ==","shasum":"4281c589ebf77df8372a13fbdc789619b2197deb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-beta.2.tgz","fileCount":36,"unpackedSize":295845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGCdBCRA9TVsSAnZWagAAzwMP/1uqw6yobt+Xl8eQC3ko\n41dTlEFsVsoVvUo6tj6rtm/UobxET1yOv2mbsanXykFVgQyodl89H24rSExF\n30qIAqngeso2npSlNgBhg2SOxT0jeYaohHr8uKMmXMyQibkgOvalbkyTKfnT\nTLwJ28ZF+aNTGlQHlKiMizLrHwxgm2f+AXYafG3fKjj1Ogr0Kx5bKrVPKpFw\ng8/nR7YxdcruGU5Hcd2AX1wJl/P9S4kYKCGvVyoaXzS/lP+B6EdGxfrtmZG3\nyUyTvPWAuYbTiAXQGiHc3EyMmgEUh0bHGttcOKqxzgN9JYlDGeayy7xyeAFB\nGz0quEy3KySGlMcXqGUmdaQSDorDLNS2De+DBJLzMiZHXNvs7JXhQObGyzJp\n6ZEUX9iDfUNt6ODEr1ppk+LAI1eBsNmNzQOXHGCBsCI7SkBk9MzDru4w+6Gv\nKjNIWyYB5mINswkazsga+esF4ZyIYjPlREdpZ34SZ447fLDqnoEUXtWV6HAd\nbIWtg1wga1bPOXw1fQ9Xa63N3O5Wh1OItczCXuEDpKeLd07ci673zc2veEhR\nlz8A5DykzieBgau3tsX9HqLP/DNVn9tqN3BxBdTtSiVac6IrM1SNB0pGmfiv\nHmFsADYDD0esuBZDUjEmubdvu5RMPlaTJJG2CGNZGADgsRt+rPit3PWZBaIx\nL7lU\r\n=lfDI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0L/j5YvD3c5QCTKLAZobMK/H4vSiKXyCr1Vx3gvjMJAiBQJI8pscvfKwK16NXyVqkKf+QuTfzgbg0QPxtmq+lVgA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-beta.2_1528309569296_0.21911655003137875"},"_hasShrinkwrap":false},"0.7.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-rc.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.7.0-rc.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-R7nZIp1rXB1L90F8u3FZOYaMIDxSp+yDZ4cbD8ivevdNuTEL2JFG3y8LfnjVI96RVqEumKzHXonIgAy6Mtv1GA==","shasum":"1095256fb9f92b003a4a0b242b7deee9ded70fad","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-rc.0.tgz","fileCount":36,"unpackedSize":295843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbIZXNCRA9TVsSAnZWagAAbSwQAJvCi3J26nRXx8ZnbP8e\nAclF2uTZS2zjVaXqEMF+UkIanXnjWwsGBVaHywgeSJ52ZZ8ULqQMwsBlWZf1\n6c8BbVyMK6MDFwhiKS40pRVvUd1YDctNAot9bBlLYA3TA8I20ls2AqpNtigg\nb+2SUDac1BTft/ob3eAKUcOh+yr82hw6hu3w3CQYa/HnUzU/0p2WSJBFzrni\nzYW5Pyd3MUR35mNsWFWkVY+VmFhtQtOvZkklL6YQkcyZJEd9fvXt6sZFr5qa\nGYtcrsnm5Jx7sd1p5dZ+CNn+IDfAx2CvcEphB6nJ6wRITSoTWXXQotkAsaP5\nvguW8tsRLK7WYKNPLmrLPl0gxfURz5vRbpE9xdxMgZFXD7pklY8f/V4/zcf5\nmp/+fqQ4+e+d+VYkZfatU43H2KPVQqRqHnkQKkq0Rw7x49fSMJ7FM9bB5I2C\ndA4m/m+S+XqEQNmhifcNgb7MI3zSWRi/jZAHDeIRCH7sNiElPlyC9r5+c4ME\nF7yFGhcBr2e7mDsAuVy5SdGtpIaFTvOA4V89Vuti+irNWL6qZ+obJEaBU4kX\nE8O3ulO0BTQkpPPb4edKKtwGmHCpBiMg7xiTnhMeM9BSQb4/LDkSIPNVw9DH\nx6l9TSD+jMDnm8xMLAQN0CJQtOeCW0Bnemqu7FK44t9Txw++8K7o3i+tDhZ/\ndSUU\r\n=au2O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhvMupWi2I+Mln59zi4Lw3bE/c1RSbtDK/1MkxQY5k8AiBr+CrzaiVeY5L23hIjOYKq8xQhTLHuFC14usv5d771uA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-rc.0_1528927693116_0.571050829167483"},"_hasShrinkwrap":false},"0.7.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-rc.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.7.0-rc.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-+UvX/uIgFc8LuYqvCTk1KpiojJdc6sNgj8/f6yS2uV/uPz2g/jynPXwKARXlLqAQuzE8Y7TM89r+AcEMI6HSOQ==","shasum":"c5022dfbca74d2bfa975da97d5b23334a914eb5f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-rc.1.tgz","fileCount":36,"unpackedSize":295987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQ7OACRA9TVsSAnZWagAAWzUQAINyDvZLehCFKIffEAnk\nQYiRub5fOBPgCTP8IGZOLrQvM0JEsosQg7B7evpns2RazOfJeLt/lFl229A/\np7sww3/BR6Rf2LbT+CbEmAKbOKCHNoKQrG+nsMFQXwDZ8whW5Ejj73br/TFL\nJYdw+aCiU02rzYgZFm9l2jN1fS16lOavrT3Xm5TPpgaR7s2NYMQbec5h3AcE\n/AsFw7Gm5vvqXjgTS8YXWR3KS/OQCRoBfHA3kxasR59QysnpEr3g7HAh2bag\nuXxjE5eARfiD5zrErjbGrCHWtwX+uirqco+w/zvvs9dzypSyE7pdGSDioxHp\nLuqIDfE3HYme6fHNKG35SPIixoc5MAiJFpifyaclTHilF2pcBjeYcjcMUq1e\nSeKJ8f/Z1F7OpTTjdqLM27mMetvOz6+lzQrTpWfi2LlcIgMI0A2qwEn5ta5d\nNi/35OHwAz0RsnJuBf34v9QcA/ygI9g1bJGLdJtSLO63nmtXUGTG4pThNqP9\n0O/ED4ilpFXFsO3prcMmKHeaFDCvftVP8jdt88Hno4DHMf1f15drxSvEqWDB\nucfnCaIuudKXgGd8pOvIDv1ZwOxCUhTtaL1FcY6vvi04RteXyIIOPE2koRd9\nHx2nOZ2wMVSxVGAXMiNNWK4lWFdN/Lk9wI67UA9YIKpsWT07g5Vsi2ra4WAk\nmOHJ\r\n=53T+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNSyrVY9sk9e/TcWBYIM1J4WwqIbeEbjta5jaMyYyKNwIhALR61fAGqZX993bbqFD2pxQiCp1Zw4iwEb6Kgi2YO0Ov"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-rc.1_1531163520188_0.5904271788344273"},"_hasShrinkwrap":false},"0.7.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-rc.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.7.0-rc.2","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-8Pu4oJwNNdw0M/u/bqbIcMGLd/Qv1F+/N2HRUNbw9ZqOrgWG9v4IiAR2suXAvFLBaUP+bQSvtI5Ayk2JvCiXlA==","shasum":"f4f4231141b7a0b4e38a616e2513580ca40ae972","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-rc.2.tgz","fileCount":36,"unpackedSize":296202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbR/KhCRA9TVsSAnZWagAACcMP/0UwwlIumc4LPDPMwfSY\nKukOmC1ZUPezVsuv5m4nIEdiS7Cj7dN5Zfe+K3jLBh36oT4Fiy+eHXYy8/3l\niMQ0+jD9SppyN16GsY/6lH4iW8c1ELOqTjwVfGnZ//PiWp/rHbSz2DExmMY8\ncyvMKUBuVISkDkn0I0RQoq/FLBZY6gbhmVD2dtZ5Co3U88bezvK0TN4V+V4N\njtlExYK5mi7TPJ+X4DSYyEZo5Qa3STO4vL+vxpOnl6JsH6a+Nr1a9PPRzy/2\nMAHGmonx8azV+kMUImDyAhtkoLMMyiIPnP83x43yVJ7ak+4906y/GPhyASuq\nUfy4W87tXO/+BOjUrG4Ed9QbcPrgcuOW4QNZAv1693IKnokV+YqUc2tO9MOt\naxlZxK1OLMWILEEE3JRIQaxCmLV0x1uCeRIYQva3nAVEwMweChAlpuZ2CC+4\nst6I66L4pWJy9YvN8kJuxwn5jhR+gZVRsRR/JvTgShqmJbWf3QB5U0vbk2gC\noFsFxEikiuLAXLGegzBMB3z5kpV67O4hQTJKB0GbVTNLKMECZcZlEWmb3M4z\njyitPBNEJabOyR6ATYBT5HWu2Nh3X6pY2AEUYRvWpoMWiY5n1rqRvipt+8Us\nxacGij8lWw/XsM7KGmziTKSFMrNwCUCLcnSZ0orCWnWAetwzLyUJO2Ep4qQS\nUCUY\r\n=w5hi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzK6wH3YnPy+wXWFpBlXYJqW9HSvEk3WJDov5gN2x+XAIhAOr6Y3MCCw0T+DTyUDS556LBH0UPzxRN/PvLhoQFzCrP"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-rc.2_1531441825004_0.9771163349291359"},"_hasShrinkwrap":false},"0.7.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.7.0-rc.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.7.0-rc.3","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-UE3LW/SFhdRf65cT2nF0wadunxAfWzFr4u2K+pQ+517ebE/FlwWunbOKO6FsydFFpJeWacgGkF1zIJHoqgczCg==","shasum":"18b6bdaca8655a8f435f7ef6896338ad8cca2a5c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0-rc.3.tgz","fileCount":36,"unpackedSize":296202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbT/+4CRA9TVsSAnZWagAAlt8P/R3CsDyX6JPmn8GI3sJK\nEsWOCFFMV+maOkbr9u0qOS7RNG6UMz2lIQoC14eAl9sYg0EI/tt/Ou5pq7Sf\nirmtc+YAzBB+TFxwHo9/2JD75RoK2N/0q2x0isfcb/Et0teY0s42oe7J9mB3\nps8d16vgsvLtpjr5RfIgbTmP7q5zPeARSyL+4PWSWya4yypIocbPA6+WsGxq\nsmlL3YFPrwejai+1pda+8eIl8tg4kPn7Wus6hjq/L7/7fAjWVYlnuNnZAyn9\nASQt+NPHXsR74Se2YAdXBOa32naf//UZnHWYqbb2KmSX7Ak6h9RnUtJdtd2K\nN0Ymp1nZ4pQdxdFDbYLa8f/53LOB7jL0rLd08+rgCY0tRNj1BknU9IJGDgYN\nzSd2gWjBecHGNejyApIU5vvo6cXNU2tFKsiLdWlHwM/z7GBqzeLdTn8ckofU\n9yCAAxmuLcYkBvvj2LSBTLjFd0GDv/d5EtoMi6d5x8WJk0yZKrklBX2//gM1\nsMwTnggoy+GcHs02sW3Oo1dYtA0cKq1NnhlPRyaz3ukXmvdfcJyJC/kV+joo\nTaTjuh3kTZbq1doYpZtzWV8tnF+Xp+QkwNLKM+FDvllfpkxmXFw7jhQlnoJj\nC8PPW5VOx7/IrEdBw7RvmEJ+kKCQtj5hCrk6Z+4e750kNEfQn78gWa4nNl5n\nNIMV\r\n=FXQw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ09qXyEcy9Za3RtlTf5AptupH0lWSrVCIe112KOOztgIgFU/Kp2OeYPBU8ITyn/bkD1UsUNKNv2dijQB8mT7L2CQ="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0-rc.3_1531969464533_0.3178633949566576"},"_hasShrinkwrap":false},"0.7.0":{"name":"@angular-devkit/build-optimizer","version":"0.7.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.7.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-I/3ymV2UR7ODKCFPkCV0lV4J4pmFMoY4+kKTUuB9efqzKJGkIXPKmEnqpTUMfc5fVVh7hMb4BuuEkvwezOHiew==","shasum":"83efe0331c3f0ec49586c203a707871135c23501","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.0.tgz","fileCount":36,"unpackedSize":296197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWQIFCRA9TVsSAnZWagAAq6AP/1TXwuGnh9T3sSPqh+cL\n+qou1hSk6PKtYYR+CDsg8TnEOjyFD/Up43wq7/uCDU8YKLrwR2vfW9b3vh7T\nITHYIpsqqsZRVhTtjSofUgIekZOKlV1bu3gFqEQ0/mGPP1AOeqs1LguXN30H\n/9yEz1KMnXcPMBq76g16fjdHXWtPEhirG26giqZ8mzc1xHaXrUS4hvW5nmjc\nVcEUvOiw9968Q+KKU1VPA4lAdB1Gyy9rZ2cuso9rhsJFX4EbMUfAFqQyxiLT\nFZ2nDIQJpSxuzZGiLCmIEKlL/DriSrcYy4oE0ocLE5P2qtIsTHOf1ztK0I7F\n7pNjYI9nIoDvBTwBWUsoP6LSkXUYWuOTO9XBkGilfTBxrZK/AWsBXL+hsgWt\naPfN2vNDw2oiZNc/lNM0wxjEy0h6VGJ9gt54FgXokV70KhFGjrBlbdzEJ/KL\nc9Hl6lRK+MWjpy3wgb5WOFt9Ii1tscoLmNkaNvAOEm5CDQfxDBUtsWY3LJIw\nzPL4P0kPjSScnUCoFNkfXPkrK9s2/yYLb66HdrPs49YLcsTkIcvNyyxizacj\nAg/ptKZCIkTQvrHmE0VERZh7A+mUog4g3E/kOg4vQC2UTdcVlfpOUGcCtJ4U\nLM7xXT19PajdbJ5QJYp7tpcRV5vXvaUSQxt2lqP4sAjUFyBnK0wIRqMAhNms\n1j5J\r\n=GIzQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv7Zn84/y8faqQhivFG/bdtEPMN+59UjZpXgNBArYCkQIgaKnpn0UXF71yzgNFzHSJhogNqMJOb7/xSJ2wuMvFFxc="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.0_1532559877387_0.3795464272659357"},"_hasShrinkwrap":false},"0.7.1":{"name":"@angular-devkit/build-optimizer","version":"0.7.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.7.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-KzuDnrlzpP1ualq8gtq6BhGnhZ4gs9q55Pw/CHDFNUK7f4Ikw0eNyfdfyT5tVSYphgvYb/Msmk7YcyzTveunVw==","shasum":"05bb646ab7cc714172fd554bd3e0e1beb7d8becc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.1.tgz","fileCount":36,"unpackedSize":296197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWgM+CRA9TVsSAnZWagAATaIQAKM7a8Z6LfHVuSHipcns\nw+RLbeYdRpckvJKZUSgdfaLRWsBnvX49Rn6FaEcM7wJoNZSuKRAg6La5rLur\nntiAEJgJ3RZTlUfGwYdEU7DSqV7axmk5E+2ASrahd0YgSRC7OBybD4LPz8UO\n2O1zf/ClXA174azQzT7Di7qvNWhrFEcRNe6ACkKvuNEHimdQZoS21G3bRgPQ\nrxF/re/EGImlLr3jA5MlP8yrOnLlHWYZFlbPkkFfZ9gSA2lZG3MPuMZ0HhkC\nAumzw+JteLOKWgtcrcZUOtJmmppCWD65tqKuyZGQ9oHeFzSuYndFcddSvNGo\nDCrv+QXovumE8AksjCWDgmTik96fWkIXch7YMDnhU20PaazpUZcSioehpkde\nAdD4mEFkbqMRBkUeBFVtXUFRe8zw6D6bO2LO9z6iHvNhvF7ZQ2pYtQNuWhnX\n6M+N5Exa3DAZyhoxiPREnlJ8vPk89wADNtp80BwLACykUGh9pDFwYohX1YCg\nU9miVcj6tjpUAvJLw55UgjRNEUluiQRir74sMIjC5mw6JS02/WcRSzqxUAXP\nGH8M26i4CnTVAMSEmpFYXB3UGTaG4xH1Pc0xWyT9B2SFof5SoA7UsNDtN1bM\nKsg7YkWLz/GQ3yQx4giZt8IfdKPyZrtYPwLsEmQdLFE+T/0CVSSW3SDf9A9U\nsMou\r\n=aK7f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZqYPWfO80W7emnFMcF7DA9DU0L44lhFeyJSoO9eJYTAiEAkdURuOaU64/CW9RDo0CXumyCM2YBGy+S1/1Xv5TaUgg="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.1_1532625726514_0.4068713878588417"},"_hasShrinkwrap":false},"0.7.2":{"name":"@angular-devkit/build-optimizer","version":"0.7.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.7.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-qnD5W5arKefrWU+xYR1H6kSx/jvfbmDsEhAGzmgbGffKuXnMnQZtL3hVNqL2faLkCONdLCYa/f9JCPihqQfc6w==","shasum":"c7cf86e44fa541c0e1c2133cb5be9032c3c46445","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.2.tgz","fileCount":36,"unpackedSize":296197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbYgMTCRA9TVsSAnZWagAAIlgP/3PZo1r4W4JH7TTCY7IJ\ndekpJ2h05lza0FU7ijhpSKBJ9KfaNQcSMYtPSbXJE2HDQ8e2donfP4uvCOws\nDOUqZjCyDz4cqWj5o98i+LqxWkhM+u7nawIw6iyAe1TklRilR03dTwOa4JEN\nS+snqqhJ5FlVei3On+QSK58UYhyW4uxunllDsCvztkKDURAz7of9HdBflrr0\nbjLegU0D90eeBgaUMmsWvQy4iJVlaFijbflBXm1BV0b9CmNdPR7vIEyJ1xyq\no5GBwuZM10ZdFfx9lKpuy2wN/X8pVqTzPEO+Q5vcH4nTlZ8iGaPXt4LeHZSv\nT24zJWEjTS6/0PrZHa2DfreXtYJ+A4fd79hUGQGnQuHXS6Vz08Bxv4s2uP/f\n4MFOjGKxvMEn41NOian7qpJmvYToHeb47Ui+Ib+EEDfLM09Q5WDO1hKl2QW6\nECj/ZisOZBWWHLkLubq47pFqXTsNwL1+9yqYdeGaAYGpWAaRyHHpZfKrFq7i\nxFPZw2lGhjZGHbz3NK8yXOLKtN5ebsovZ9LGtdUP8h7Wx4SVioD73nfo6Bwm\ngknAgDIAieOIJYt1ECF3oKV1C3f97rgiB5H7+HGgFyRhRqi+AXIpchNcL4Lb\nexeSKmG+DBwpY872CWIWfnURIcBpiROe54+bJn8bp7k593cGrEJ5mtguHVyZ\nbT7N\r\n=rH5P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPBJ0DXFA1SWJkbeVT+fU8DsfnWAMK8BXUccD3LNjtqAiEAu5dfsjmGbzZD9Rk3xa+fzFxBY2z+ae9joX+RVeCuXMk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.2_1533149971361_0.03579331270662922"},"_hasShrinkwrap":false},"0.8.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.8.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.0-beta.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-x1zalUfoQ1CvyYlUw9WCWoVaax30No3cotsukgyBg52qRljCaCJryi+Edut+5CNl6LmVMcyWjsJxrJIJENFZ+g==","shasum":"e92f6956957787af67ae2e9db8272e600860b053","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0-beta.0.tgz","fileCount":36,"unpackedSize":296204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbYgSmCRA9TVsSAnZWagAADbYP/jXJ6cqE7WjGlQLgCgtW\nDCo6oQnkeiowQX0VijBFFFrsQRo4VKXUPXV7PaMQ8ze2V9/64O7UrIoI35wt\no5a0KeM57B+NQx3cFwl3taCrP+FTsTd8CsJpnaBSAHzP2R923xB+AawqcXlu\nqOTQhmldEPGoC/jkP/FQsnwVFVuFZrYDdYj5tC8kKe9ex6rPXdzOtadztGEM\n/HRONWk3qGCGNRoRN8Bsp0Poo0lVJxvDf+vFNE0D48/dH52SE7vWDPUMQslm\nvOXve01WbpNkfA5E5wrN4OwMPGZxOeYYdzpdVIJtoJNmjOvC2p14LmmnQYEq\nw/s8Snnt67zHpTNMHtyN/Pd5l9vowsYK+vAHn3/wYy0Zmd/PIEDChqfziLla\nl2i9LwSGvWAPKjZRlwllvyuwNyCCQkmU3EMlG/q4vi/j3L1i8MV29tVImzOh\nHD5ESjtgBF71RijpkRkUd4ArML/fkbcvkkhaLBhaz01aea2CufvLGFpqjQ3T\nHBjyNEc4shjx0NHzTG3O+pIxe083yIX4H5SpPohJHpWKQQOFMj0Q5oa5y2wI\nMscES/h6I9dIs0ZtJW9bEmzkFDSrTE7qK6SimIigFGCt0M/M5eBlS6m4HMOA\na0OB0/D4zaGyIi+dPn0qeRsmjAt1opokYLHdUUcblf9OuDaixnYCEILkzaQe\n9NhD\r\n=1OAj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFpiBp8Rqx9DwmraYwR051tIWADE3Atd7jtcrmKuy/6AiAtFsTQzwGMfwfRX/rTV+HPsWLYuK2mE0bMCzHHRxblzw=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0-beta.0_1533150374478_0.3670212672933446"},"_hasShrinkwrap":false},"0.8.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.8.0-beta.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.0-beta.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-CzRLbhyqIQXpcnDms/SKHCIgZaDTo8Z+6K5DZD/exCStGV3wrdRGqQeNnll/ycOlSa8AXfbNTDIn0adIVaBczQ==","shasum":"6b8e383ae77634315e900b7e55ad840fd5ec5866","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0-beta.1.tgz","fileCount":36,"unpackedSize":296204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY2DGCRA9TVsSAnZWagAAgGMP/1op/BWmDewX27YbXT15\nnevUF5NDiZZfPjYkOTPj44X+3VKqtsEj/orOZS2sitdJhPTSYN8U2LJct0RD\nxiKy9AK8S/XarPCmAzVHTxIo5OFjaSSU2ecPbz2+yg3Tkt3xU2A/PZDj43pR\nSEbP6aKCs5TFCF/KiVfzm+Fa7dzwmIFNPDMwZ17IjyH7iUQeWOsFkFRWH6sw\n9jyQrYV6bCa/o6pt78EBukihzFJlGEObwzyV0BUo5QCOBGV+R/DbY4Qgp7Yo\nq0egm02G5kHiCFWe04Lqpi9PrH/qdhCli1KubjmiaZQ+pQmCd+mUTG81oYvV\nNCqOJieE+Gc2IDpZ0httwyW4WZkFESsU2RPOCQy0reJE2ZyC3480rDnaiuiQ\nio4FVfzYmBADj0Rdy+O3PFE5iXSTlCF6Mj4lvYDWu68fZ1955EgHiRMdNowX\n7XB+OtRLC7Ycs279BSPpp88ok1nmJtajM1UO210VUBwvBxBtgLtEdxer96KU\nejhv+CyxO7g38XtXmVI4S3QreUeKykoVvjR6yVV6pS1zsON7H/7MbH/ooZ6b\nqwOgqim0A8hrt8Lid0trnMikMMesT1YCmUy53B5aB/x2hgFNBWuzkcUepzM9\ni2AeVFIPSQco4RTQVd8D4W0+3/cDnUH7NdO3Ne+df44FOGqwYoXjuh2lcY48\n4T1X\r\n=O1mL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF0HWxt16T+aQyAblqsYKga93c/qmf6TXXqWUpemB4ygIhAJZzUv5W2YXqMMdyE2GKr+Vo1HZMY0BCLq4lp3A7Q29a"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0-beta.1_1533239493932_0.003699624833687354"},"_hasShrinkwrap":false},"0.7.3":{"name":"@angular-devkit/build-optimizer","version":"0.7.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.7.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-KMLek8NiDA1BsrHx5mjbdxBQo7wGsksX3QvNSkktskAZVLPk+PGavbj300Me5fWM8TOqUo619AwVFwmPg33XDg==","shasum":"7c58a46a37dbec44e8db21b443d95ff29e363ca4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.3.tgz","fileCount":36,"unpackedSize":296197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbKoiCRA9TVsSAnZWagAAnBsQAJeYPzvR2i4/Bxt5D3HI\nOvdHMbgUIgxC+QD0xK37QDKtIeYO2s3xVo+kf+YL/fhAu+2QkipzTyv/FAxQ\nOcCqaxCpIWe5bObPg7f4W+WYSe1w5ssKUoUTt4GypblyceZg5Lzy7z/rXKvY\nXyEMaX4nocKP20LN8g9dr5RH6qU79B4JwohLeqarsZ/uvNxDwY+W73rATHDC\nw+jJnYqNUWA+6juuYx0yFuiQaeCDN5Vf++zfdBaGWOCBfMSKrluWXfKSR0S9\nmLT2HigB7+2BvvXPfgYrXQEu3Yg7hSJ7bvfHScrKmwnaUZW0G3eODoBzqbYt\nMNciWTT8IgElddWR5i/I31lDpQLflni8Fy3MK6WnWP2xqU1xvxkUi+msrrXN\nzIfaSdV/9wNr7G6fiz8au1Gl3jjNfEC1AtwjQ4wN6Um47ovNBJyp3Uw3pMmC\njNyIbywFmZMEw+HmzTi+G6V64DAGLYAcS/e09PRKkCW3HIFR8QQ2gxnKHyhp\nSwJ0xMQb7UtT9zfWFC25MoG4LrTCCo7mIoWtdNTiJDtCiDluqk0O0904ISyf\nb3mD9d7fQkyoyg9EPtjZ7+CDefzgOxruEMhFG5uFNEBz+K5mDlkQR+uiVDtV\n3RYgLG516zvYeJf7ZddHpM2EzUZzUmM4A8lhZgRQ+8v0mMJNH0i0AF3kLXBm\nMAnL\r\n=fEPG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+hOZntkjiZscUiVqFCyjEgnM9a+EZXGlWZQFxcegQHAIhAJyUonWFxDy5b/tOZ34F0pwti6LmMLQ+sW7IE1shcXdg"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.3_1533848098369_0.8079239549244528"},"_hasShrinkwrap":false},"0.8.0-beta.2":{"name":"@angular-devkit/build-optimizer","version":"0.8.0-beta.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.0-beta.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-VtMKhXC8OQj3l4+YKB1BqEfcjRlwpN7pOlq2tz8zB9FhX2reo9d6/SAoO4T1Gs7SMQaTPJnV+LTANWJCiqBASA==","shasum":"336404e7716a2e2bb91f40ded669327e814598fc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0-beta.2.tgz","fileCount":36,"unpackedSize":286792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbOqoCRA9TVsSAnZWagAAI8EP/3FRx+FsvK5yKa9FhapK\nCjIkpYsvmzgxS5bMUZsx7Z4EulVBlI093iaWZkErRviLiTUWScHaESqkksCz\nSDh/IkyL4SSyInmScGr4NDx8UrQrSJigjLRtOsw1QMmjcnucnPeV96UyOeGZ\nkngoR4q53VzvZixO87K+yCIIPT98F3JU9h0Rozsb8u/ux52vI4XuyxcjHskv\nK/Ru9IF5K00Q3rLBfTVW4Ed/SPL+chfEdLb88aQWLBkf0K/MXuzDlIrx3IV3\nOZGu3E0m0zwHvqI6BFSUmnChWMUUlUuSl/JEr1TsiwTgzqVwG0n3E8BHBHJ8\nBVwmqPdnvUeB6C2L8SE4IWXLepL9L3ew5Qt0BxXfgmNG8komgLkpxAMjvb+/\nA6CL+EIU3evl2GP0g7dwtfSJBMBAONFmQjNT0WV+pz6wLu1S7sA5bUPZPDjw\nvPELzEndg5hooYRqhwjSovapSowZaB47oGA8kgNA2RBo/l3tA5CcTg5yOlfJ\nMX+ojmQVWYQjPsA1QsgZk8cRcsjOZ7RLdOa2cOI1Nos1sIEblDZBjgE+86RG\ntyNR+jSKAivH9jk1YcQmQeM7CjTxBN0d7bBhEIUrQVYTrPLfkjJoGlHXcLI+\nlUTfJzIxhl3X4lo1Ms98e8FKmTQActGSviydNdCIDQtRSaQ9hLWAL57BB3aq\n8OrT\r\n=ltSz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHHBWo9mU8i+1hKV9E5WV2t4X0gsPewW99m8EaGqIIRnAiEA4ttgyRDG5AbZfs2ObAJLaNvzbrqT7xnILh8S/yGx0/M="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0-beta.2_1533864615919_0.006824337062790953"},"_hasShrinkwrap":false},"0.8.0-beta.3":{"name":"@angular-devkit/build-optimizer","version":"0.8.0-beta.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.0-beta.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-TxmykBOPzGgZVrye8fM4TJ7uGvnPM6b2PQ6gbpeF3vC1bLzxrLbbAbEECHAi3nP4sR4zx+V7HxzUPpQ+G0DJCA==","shasum":"1ef731601cec78f93c1743f6d89a5a678f592d9a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0-beta.3.tgz","fileCount":36,"unpackedSize":286792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdckQCRA9TVsSAnZWagAAVZIQAJnU/O2SONMqrDHOeOPy\n6ccytY44LjSjfkqewvFAkxhJdbfV6dp+eOUPz9Yops9qZAZtQwnR2cNYjsLa\ni27ELLf41WnpYIfy4+sopxnw+r1Mw+0JxdkjrbtIVd4ArxJOv4jgjdaU9jLK\nf+A+t4SdchYYTin1i1p1aRgmtoVZtM/t+yMXl1CW91jnYMZOx5rThb4S44mL\nsk/URgZNXg7tvpd9F1cFxZi1eWuoAMpZ1QUUPe0txiAoG9ta5HJxbPQs2riP\nV5sKZfssQaQmwZfY3g7YBOUceNdTMTWP03LUE5x500xlp10xX43FPEGrP8rE\nmonghxgxsIKbJnyb6FsGVgD7Z4RgRdQ+KXgQGso9utkcr3/Vma6JtlzePnxJ\npVLEdNa3BSelqxGR+JueKSGyvSd9bFL6MYTzZxIjJIH++PEvt/jQ70eC6n46\nk2+frH1T0sALlzAXWYrwMMIGhWgcNoVkCJpecExLXWF74tm/vVscLSt0UhK8\nIB/Mz2hQsW4ggAuoIUkiUgJz2QWwkfNxAiXi4pcdacbICH7AiPLm5M8ErzYx\nZ1fy5Ge0cmwpWQLyLZ3NIEeJM+SGOzj3bdSHxA4F6+w+bNU7cKPPHr1k1b/0\ndovfuy6Fk9M7UDyaq4oD1QLeUSQ69cqrkBxiPnzh4eG/PaidA5sXvzu+Z34s\nx8en\r\n=vncG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVF2XvBDG+yw7fax7lJ30ODb9BZbwtJiyfPrW3H2pSmwIhAP9wjN1m8ldGP+jTogzzObW+SlMMZOUmZ2O2dWmo8LjR"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0-beta.3_1534445839427_0.2630264597908043"},"_hasShrinkwrap":false},"0.7.4":{"name":"@angular-devkit/build-optimizer","version":"0.7.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.7.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-R+Icu9XjIaKcYFscaMBJ1DyBK2prxK3JQSFi0S//0MdNP4gBFIpCtNdOQsNXovCkpVZ7YlgmdE5+vSb39GVHHA==","shasum":"11c35d339f12218f9c8b718a900325788eb19d42","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.4.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdc3LCRA9TVsSAnZWagAAn7UP/0LSyvjMs1cZDutRYwqX\nCFqUmqAlaFHgbvEJYX3bjXVHd+V+q/gQ8U5N6muc3gLgieJTIvegShkkLqyT\nQoDFAPJU+jlPRnOgOPe/orJVAPDAsh3Tt/abACG98l0/tKUFk05dYXjGEJi3\ncGEw5vWH/KBGsSkGXhAioSOPZjRMIfXtjUtQfsFK6kPQtE3h1HtYx1hnvWsP\nhrNaDzhqaA8NwKpzWRMJPHHNLHn2vOTQbYQE3LeC7iSrN+OEzsijbASIY9OD\n6yLylaWh4CSUc/agJgjbAsrk9Gdjykej/vUCMy0ImWqRq1Ub9RgaTVa6k2b1\nhTCO2vFU4WYjvFwNSeficqV3Aax6hxZBd46m8yRQfLGziylTBGYm5CpEhYZu\nGVuwv8E8OAIB5mca3Zy0GIKBO0qaTTaxrbHDw8SJs0M4cf3UFJ1G2KEYUoHm\nQj4tZ7rB8A0tm1UB7mF45RUuIHJ7oDmKhSsTip3peU1N5VxfcgWUhX7rqiXt\nlYK+unDJJriBVsiCZaQkBnhv+pRTqlyc6Sm3HbQBdXs2WjoGSIQvCyz53aE1\nIFLWCmYamldPqoOtX0QRb4u9JFvqyR5IgX1MlmUiCKFSIOkVpDUk5cPARwxd\nwnQxt6uFyDMRNOqxHINCaoxUUYmIuImGyiASgjUsPBEd/T2uUWxs9iDIKg3S\ny26c\r\n=xfVW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBagnPqrPCQ+YEj9OXdzXn+B7gdK61dnQcNnx+VSw7IiAiEA8KZWWbgihRUcE/YvL6XGPzhI9CiQA9magU4eiopZU6I="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.4_1534447050896_0.1797111075355149"},"_hasShrinkwrap":false},"0.7.5":{"name":"@angular-devkit/build-optimizer","version":"0.7.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.7.5","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-iZYUjNax6epTA4JjnDxhs6MQUtmwM04ZkJkTE3tVc01e80+wJ/f3+ja22BBVul2MsqchOsTUSQIJY3HxbV5aWw==","shasum":"ded26831a68b94d3292a8d0036331331e3f27bfe","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.7.5.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfwpqCRA9TVsSAnZWagAA9l8QAJMqceT3q9xDAWaRwokf\ne2QFeLbrnmbIolnOgMs3V4O7MTUsvZtuDTfEriG2zYZV8fVJZxLEFA6UAIB7\n2LV4UHExnfbXvGtkI3mLWuyfjFZMy6MjRuAbcZlKZmYYCZAWndZF+63y0WeB\nBe7sgkmJkGeJfxruuWipJslh34FJVcINjQirBCLAQP9obE8NBJdf8+QZYH7G\ne878jcZwgRF7qhUDdHSorYb8ztnATb/WOtiNVFDa8mNZ2nmsWCA8kqyAd4h4\nPknFPQcIJYgOKp/rRXShN9XvLOFp5PZII9U/BJBmhhhWFTeOFOVl7UyQfbcq\nyH+zQvfxQbun7lbA5wszz+1+e61K+0drWNO4KSvFyGO6S3HlEdKTeeTOJOLk\nK6xyI88zsK5MBqprWUC90qeCH56NSPvDxB6EPjM4b+mK7ZueOzVDP/4owcK9\n9bF5kp0u03zXXm/Bc3BUkpCy4p+mUfmV4zn4GXWxhGsimHeaWhb/AebcyXl9\nFpdX5yo7+GFQ3Vu0FUV0hzqUWLIudAw0AjNc/48ijbIN2FsFOkt0sdyWEus8\n+hFoZ7jSkjsqn6RSWuXczbJFxSYiVDrwIMQm5Fpv58aLKZ+DaWaghxXCgmNy\nLOiez5pKVHleSyDhkdIPE2EKtq1NxXsdIcJ3uotKqHjqWXOi3KhaVBp+DHDJ\nCLYW\r\n=jzQQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICl2RVHTqHT4V4VWmc9s/vxZYaG0TDBhcZPfEZfasqYFAiBEHMCJqVQm9ZCfeb4A9Np4zN8Ip8cLhnGyUyQRdFcbCA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.7.5_1535052394252_0.4799030230929009"},"_hasShrinkwrap":false},"0.8.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.8.0-rc.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.0-rc.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-2oCzQv+ygAOJ53TnUjAXYG3H88tEWwKpgIlxEzoFPftzYkUBxFCrsr/gP//C99V0kaHJfr7whgf5GgooAiQ6pA==","shasum":"1c1140667ac69686a07ada535d7e0337fc19c619","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0-rc.0.tgz","fileCount":36,"unpackedSize":286790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfw4XCRA9TVsSAnZWagAAy/AP/iHJO78CaANc18D2jx8X\nfhQ878tnVke7ZogLaX0iDdNAw9wIVUUyWe8LsK6pxFwGyLjZ3SE6qxcvvJKl\n9CQPWgIlzU/gm2VV9aVzTb+rNM0dqn5Z8+sFesf8hD87Iis4r+DWQn4RQgV2\nAi5nG7sh72su7KGju/Q+IKhNiv05WKuONF9D7ublUO4xXLEXO2ovXy661qGq\nMzbGIXKVpB8ZGC66LNinUz3YTSx+pFzEDkc1fa13rXRBM789+w2xTpUrmE5q\n5SzsAwwyOL/rLMH/tBzjHm4/TPg0H/rJTrTEXrXHLBOtNCYD14TBDhd0qniJ\nMPOo1O6uHSR6vgwHL239oe3FGhZ5IqWRsyrcC023ItGikrWR30dC5nLdXmO5\nlkOXiRl3sAR9YC7+MzRcfaZEokEjxKmVEutXPxN7UWm6Ayz5DiPfmKys6kzi\nU2NnPeNjWAZyu7OBzQg4v2nvonObq3IWKTJsqFS9eQd4rYhcNr3ALTk/DN7L\njNVUUZCLgYSYXOPtFXkZKe7EoAMyhHhT1SfEvl2muSVrO916v2yHJ7rJ4oMG\nuyBRh5k/Wp7YW1cS+9nFLdyr65eS5Lqjtbi4x5tRvGGI/YFQnfhIKhCE+A4q\nxvAO3laqElmsfbRgTNiIe79jx83JqFBaVphqd3DLKehNCDzqTvc5GOP3i4U6\no/Yw\r\n=B1Ks\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6m+SPb6d/kJR+J+b5nMw9IwK5XyGuGiUBPf6n4AauqAIhAIuZ+++tKDOUivzyp8uWU/npMcKpFem7l9Od0UVD6r5q"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0-rc.0_1535053334688_0.8853740327098343"},"_hasShrinkwrap":false},"0.8.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.8.0-rc.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.0-rc.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-5ktjhABTr+s6XGDNjW1W/8TR0JKKEykyIIJJ8XqBxRQB2rDv7dhYWpYU4V6XZTz60Am1WvEU6GAKOFGrxSCj+Q==","shasum":"ac73f3f6d6c3f5252b2bd7a672b1955d7f485b67","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0-rc.1.tgz","fileCount":36,"unpackedSize":286790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiIKNCRA9TVsSAnZWagAAlWAP/2G2r/ziBv8emPrsgW89\ng+OeORfB6M7JJzSGjx4WWJBvN/I7bjhwK1pMOrK8uKuH/sH0N11efZUBEdEh\n/Of24FVr5oFDeRYPP2j+2bp3UnP5znMZ4U37TP3EDxciYWS6g0Dpb3ZTc2a5\nk8l+IG2F6bc0tQCh1oYbPbjXTYpnbDa0FcoBa7lEmoZ4A370djnrp6SmZ17Z\npjIqI/TSzWdVt/wrLW3x+VeW64tHClHd6xYX+/Ng8WdjFjCkZEu58pEnX9eK\nzTCjgBKSpXjaTbfYcI2hR2gMd6ikjU52hmxG7BlKsLG6vsCcPDRQme3lY8eF\noT/mDwkzROqUYUvJbv2nt6g6a/f4ekcLTbm9EmgD4hLhEIo0KIKaJ75z8tax\nobW+ADZtCuEKLll01NqpOsmPZvijWs0h9FKi8PY5HLF58v5ZYICU3DFgjlNp\nimsyU84rsoRqZsHKFq9sDZtPo5tiFIp3hQTEyyTpOlW58UMyFS1XYhVfDu0b\npkIfoc3GK956C0mxOqPXB2pWfbR3+y1DiyVbDV9U8ikjEe5c5xuUdn61Qtj6\nxfm3NHJCe5rJ4Q2KW/T389nyG+wshk6LpC0wBx90JXHH45uGv288WjqL6zkO\ngpG1np5wAxMD7zElZnbjWsSoRl5LaXpXDlyR7uLEiDlXHmC9yOihBn+TsSh6\nW33X\r\n=k4X/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZl1Gd/QcpE9TNAX35vg8yMvoF2CQDGMnrJmONKbzvBQIgFntLAFWBPhl1kmMjhFli7vsUO64cfOaE1LiGbGf0q9o="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0-rc.1_1535672972887_0.5129852133714174"},"_hasShrinkwrap":false},"0.8.0":{"name":"@angular-devkit/build-optimizer","version":"0.8.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-xg1Lh+sRZJdN4foQ1w3d2aen+Q08j+MTQntfa+MppJmGt94f7Om7cYC4tOUJM0vywrx9oGu3MLeFGi09MA5L2w==","shasum":"d7e98dd957941f77475a7fe8f63b67c0b379a32c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.0.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkWRJCRA9TVsSAnZWagAA0EYP/jF+x2bs3QBJYlqpVnKY\n5SXdufR640mDfKdQVz3mK6D+j/9dNbgOdC5rYCUA1oB8hUkZSYmeDfJgkA0Q\nxY/HJg3uhoI38F01TcyL2Nuk+si+FAbjnKVN++NpHmMe1o3wkbqGGjpqjl0+\nNw67rM3tJtPJ2xygvxkG0rRtLrXW7C7Ee5YwGNYuX9aXYIbmcPmEAvRghzR2\nIvc+KS/c+PATvGN+Vc17PiM2e5NpbkMtnENBDbAEnGDMMbRixls5+opWV1nm\nFRLQfnpnp0mPJHoK0OWM/RV18HUSuYwd8WpzqaBuX592fg+clxhAfeXLhWWd\nrsFzKsG2QVuii0fatgJOiO103VYie2KG/iE14RsYkAXsoGuB+Pr9O8C17Zsz\nvJ3XsRX3Cnz+Nuz8r1NHkmr+2sfX6NKGGetXEicbvNDQHSK/WwBe/ASTBqqL\nW8sJHW5Im6ejEcNfMmQg/HxRLg2YdeD+dryUS7FB9rt/Uf0H1/edzVO3Prlv\n8+XKZGGU18ZTSd4TVO4sM3CUrUIDYHR8kxsBvNreYY5M84juv9AFGNCvlKHz\ncuxDxXvTPZm0CAWwTLzB7y5BO5+iMFQBQS+z6wTbmn8qXoy9GIq4G3hA2dPX\nNXUxCKvOoVJRjV56UZxuRyJDU3r00mBfaB3Z/Egfpx4jU0L6QcLeQUBREBmc\nv1FK\r\n=Q0WO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvMwv5eU4m118R6w0X9inKUHCxrmBjX8DtthdxlZwDvAIhALmEuPYxi/+eFo9I3F+ZQvENq2BIH+DG5/RIBs0KmTvB"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.0_1536255048944_0.7093503222099045"},"_hasShrinkwrap":false},"0.8.1":{"name":"@angular-devkit/build-optimizer","version":"0.8.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-z+3sYZclucmOPxpk9puXogD6mTEGXPifWV67Q5vqeD7Czw3XbnKSCYLVeaU5rpcHdWZr0C9MjE9yZG93QuHeGQ==","shasum":"fbbaeb6085d82353f46af5fa0d931b57e6332423","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.1.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkY3cCRA9TVsSAnZWagAAvkoP/2JRKRVXqwK653mFxPH9\nh9vuybKt/ydPsYzPf2DjSp6p7a5rytmIZVsDurCitxgWu1tvEwepprTWxOiJ\njlQ5hik7ASMzWPZxGatc3i6ypeY+BWowV62OaijCLzvxkjy76BES84YGpWm4\nhkGrxtrWjRZL11XfiKO/ctcqNrvcHPrVNGI7vJx80KCOHZvB4pbxrcCsUvf9\nul2Zjfi0cK+11jCA62U/J6XhMth+itHOrJyNHlYhTHnrhvFv1QeZLJ99ruvp\nU7oTfZ9oz35ba5eeL8ML2ea77RNK0so3Fp5nhZnzsS1Iz0BoGs1PqEdVpgw3\n5YymWsOb1jPOQDCgoszi8YuP93IENxRor4QFhFuq5daOHGfDDyvHnmjB3Zi6\nIO4pBaMs4cY3R6o2AxdhiyMDwbSQEualirGOGgDCsIZ6EClhdXCORN5zp8EC\nGDCk58VQoD++Vy+AIqRur9c1P5IVSerdq+FQLMrVajka8os0bEjnSCUH7ysq\n/OlA8LQJkjXYPLAD5dJ5g2hMqRGAOjlF6IdVtU3wvhpkfWU6EPdaLz8Zvc9F\nA8EOm9hvYsfuQmvsW3PaGLp7DgHzByJN+2bFQ7WggH+lAS9zN+bPjGhvPTns\n67ff1Bw504W/e7Ok/tMTSePlqht5A/pTjQCv3JeOG8VqyP2qK8vfnbtlJPJr\ncOA3\r\n=On/I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDrJdJGuIBabPl4mNIGzDPCC6ZDwCTVCYaBuS2/wvwAYAiB+iQ4lP6xIvAwUNtjRc7A9/ehMBNCkNrTzhugvi11MOg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.1_1536265691593_0.07955545703898714"},"_hasShrinkwrap":false},"0.9.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~3.0.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">=10.3.0 <11.0.0","yarn":">=1.6.0 <2.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-beta.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-kgCTFKeyWVCLXZP8RGQT2bEEfjkM+k3LkjE5BTeO6cGFkjvXdvUIODKyS6mpNJWJACO2HnxDCON5TJEGSx3URg==","shasum":"28a9bd66d0a1c0d31002a50c33478c2ea7ef8e44","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-beta.0.tgz","fileCount":36,"unpackedSize":289839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkZvZCRA9TVsSAnZWagAAoe4P/1nbUQB0gw9n7Dq+/VtL\nvlRColGmmT3fMt/dV8ugwD3QATctKb39loakRL7vyEKLaT+/VnqDHtb/XaLV\nKbN208u/BbQX/lhZF6AM7KOlKpy8FuvJGM4HOQABvEDZM1FjQ19kWbcoWV0L\nemKoqRvfkrasaQXZl39aZoHXDhg1tVB4HfxFm7fmWe7/DWQKp0Dq2pXGKi+N\n9eY2ZG/ZDAUljzmnJQ+zfvcDL7e3dddWBuYegDSbzYApE1rUPN6C9VC4pl6l\nbH1p4ui5YQriuaE3+Qv1fPYaT1h9NcXBrtmhYFXof5WXt1vUlDVxa0lVdeiU\nu/kRNSEMN3Z32QQwjcPBIlUGsbS+2meq2n9l6VeLoEyHyqpMv9VEWavOds+J\n2VOs1wQC8c7p438LHNeoNMJGdSwhQempJ3i5LwXxAXqjPMMt2zgwBIZ0+kyF\nHEhti+j0CeIO8FaxKLo4Mugyo6m7hQYSa0Sa2EY+LkRfagnDvRkZ5BY5faIh\nnTEUnhezYsVD9yZeZAHpOkLMK2MJGKRqFHTv9nFK16j/IoFb0NGNFQLySR+T\nt24CWEEbXi9zSCYgSuQE50K192FL+shOxZeSwocp1NinpSm3MiimNllU5wpj\nPAg3SOrxQDmsiCPAUfayNkwDGzOMhGNjDkwlUZ9SnkjGexAqtye+QtfR4RTJ\nYCcK\r\n=Q+Xm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC822RXbNOha9NhDLnsqMx7p4wMFIVEPx1avfg31t2L1AiEAg6vomo329bSfXqTTjFlUVMOVSIcMmxBQ+ggtsewVd08="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-beta.0_1536269272600_0.6104178422004598"},"_hasShrinkwrap":false},"0.9.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-beta.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~3.0.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">=10.3.0 <11.0.0","yarn":">=1.6.0 <2.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-beta.1","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Yo704pAsu5PG+ukCfnjZKTmA9E+BtZ7hB7UlEOTQvpvn36WupeqlxWV8cqjw7KcsaLYe/276P+2wSL8jrUyvUQ==","shasum":"6bef7b415f4aaca1ae3cb8fa28731c85b8568787","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-beta.1.tgz","fileCount":36,"unpackedSize":289839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkZ15CRA9TVsSAnZWagAAJPUP/jPyCdXPJ+z6TqK84Hrg\ng0F5YPiuxGdgi0FitwTsaixEfDEBgw6di4FRmZNtEoMwaiIRJTz8gmfnJ4vH\nZ83GtJuFzAG9k78MMsqcf0tCAB2LkznLCnP7y9ejsNogFS3tvveYmfjtV0Db\n0hdWTKQoIujBnM58Hdo7NsvYSa+r61LN0xSQD40v7RCIkWUI21jty8AQij8K\nXdKO28dbElEFEL4y23FoEdYjzrSdQxCAVldDLvGR/O1A66i2NZr3rCBoRl4h\n/QWIs8wy7TBrvyuNK/cSDwU6sIzWbR1TuNBuaFBfFbagfyOQosyDV8f8GE1Z\nHRuXF0k+5y6QunXheB8FZjW4PUFW+3v0qnzDw2wBaSimhqOlFp7ZeN6p2QZ+\nafyMOKFT/+pMR66LRGXuhRfSZa6MQDBf4f50TyIrONeKaQmGjoptvm51+Fbg\nWhQmHX0C0XLQ+lAlFVDQZFzcWL3Uffx8I7oEB1/N7WxCvAGLgHGeN0XwJmHU\nobOZ93C9arzUhrByKq/EzIsR56lN2bFUjRc7I+yVd9D+JgCEVM5xPPLygmkl\nutw2XadWA/prGYcUiADl9k5ZiQYJetJ/YrNMg3C7/wYSD6+zB3MHkXQcDKzE\nISuDSGvIhND9t9R2Tbne1D4mDo3TZQKqXR1B/Fr0z/BKsXWQm3bNNAdVrz0W\nNnLS\r\n=o05Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFrRd2i+G1M1lH6s71Yxtb+aSXeeSWkvgtR8Nm23wsMAIgKWba9ex4bVWimHe7FEbaenlkjhxA1pSfYKnk5nPCpEk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-beta.1_1536269688599_0.8981803902210963"},"_hasShrinkwrap":false},"0.9.0-beta.2":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-beta.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~3.0.1","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">=10.3.0 <11.0.0","yarn":">=1.6.0 <2.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-beta.2","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Us65SEHDBAf6XteoL4yViVXokZzYJTL037wIcDmENgbHyV/U4Dkul+xxAFVdK27FPFX239PzVGnezbOiTA9VzA==","shasum":"4087fa0582f1f02c0c7b1191b553ced238c7f335","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-beta.2.tgz","fileCount":36,"unpackedSize":289839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkaDXCRA9TVsSAnZWagAAQgAP/AwZXjyDjL6I6nNr/cLm\nNIeYGSd0fqx2X+qXvi1IY7Toz+uRko4ODVQamOoPfiV2TuxvzsNexgcQQk3b\nn8OCOaVr7bPTu6P8bDkTs3QqICMe6+Xuf3U8XGr71fQoYvc/+YlVUJRZD4hE\nCBp/UO4z9YP2jDw4DksdZgA6auHrKKyhXsTOtdQ25If2gr+hiccU1K7bn/UH\nGNj9S0WhTHsNLLy6HAfeJzaYzW58PLUt+yz1i98M0QJpGd5G8ZOfldTa8Oiu\naKMR3ZVKpobISFQACYFiqumQD9lHcF+mEo3gOXK/KdcdpyigRe5vDPv4OKLv\nVDnu0VTd7skHl1Mrq34PhLGnH7la7Q7WLV0x28eor0uZGnAVOsRKWfXSqbWD\nVgIgO2b3Tg3vtzY8pNeg9nnusuAiPVleJywV3c2fUX1Yk5NW2CsAgXpmceZy\nQDhdTfa3VU18tAqWRXarUKNOQyhdSzZPk2JBUICSK2X/r0M4eGTPLLVRVcDN\nbCmu2P44TosDP8fbwnytOZEawOU2Y3rNwSrk1IPLesAq85Ts1JSjjl/JTV3P\n7r46Ew5PVVMCDy6nEXaVEyO+5mXnhHYp1k0gUa56YoJKQH9gLkwqwxsSGYVJ\nhObSWVEgixyCbFJ338gQS1zDGVQrLD46psB6BnsWm/5lSnYe1jDrZ2V68qYY\nykyF\r\n=b/3C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsY6R0E0sH7X5m3B6CEtYqWdzajZudB+d0kxOO3fNL7QIgVqc6rYQPAHWQ56xysKSSIcfFso0op2u0de5IsXP8TtY="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-beta.2_1536270551236_0.17523395843094036"},"_hasShrinkwrap":false},"0.8.2":{"name":"@angular-devkit/build-optimizer","version":"0.8.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.2","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-adiPAuXWm37jRUFFIst9Q5fRKLuumDrMMmy/G/MHxkNTtQabwmOAciGNO093/CVPe+q84WyBhBL5YDKQIHZ5OQ==","shasum":"831299617c0835c83b9702417a4582322b052c81","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.2.tgz","fileCount":36,"unpackedSize":287689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbm/FCCRA9TVsSAnZWagAA2VIP/RyeT+uf0mNxG+in+fVx\nsnrH0FzIEd8IyEuW+0Qs/4dGHbHT4mlv168LgdGtTGpnjUzOozvxSvjQswsz\nQ6UtrVKD/YZqVDVGLDYwnG15cj891YW/5si9jvytIEbisPTKb8HcdWMj7r/i\nCc1QZrafOmLsqtVLmS5JSrbe57cPGeJTviv9vtCbgt8R8gMq3Nj+kP/Md6Hn\n6jfTGV30oESDFXhdYkM3zJ7ZhFB/r0UYXN5vTubtlEvwU1GH7UmUzfQTWJrm\ng22yDuuYpkJBGYj3HWBWrbkd03kX/46rE+WtQky+S890Pkke/OPasvpF0Buz\nbqPIVnMgRJh1dO5Ni1Z2JXjg+h9B8eP7EzdhkssgGRkrGbwY746jr6M3+jKl\nQyGZreEYM0/MjJkbPcjKPtu749rJ4dqXkTTy5pWoS3IfP+zYEz9AnAtRsWz7\nEomJ1OBJrqn1EOojUFYOpujzLKhiv6Hxi1gw97HRrDuY3FrAgjM8XJp3utVi\nNnSBNej71j2j+eFemqCKgRvvoWUWsjynlbL/AQtp30xTQO9Q8XuDD7t+SM3s\nQd3yw/Uw2yeoe5RSefT2t9RZhkDd7xFx7AuarNhyaXr6XnT+Eqbs8HbkbeLw\nHcP6C4MVKYayjJ84uXq7RBIpBM4fkreCjj5+f7gCrgbjAzxQO5mvjfk8EOlN\nrqNz\r\n=1Td7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH76TgHbRTLumOprxqEbJ9BZueTHSz18amwaTWm2qpo1AiBOj4uHdGYO7TSZSG0ObkEN6g3d9CLZqtu7+xrLGCKi9A=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.2_1536946497650_0.3249715466639713"},"_hasShrinkwrap":false},"0.9.0-beta.3":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-beta.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.0.1","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">=10.9.0 <11.0.0","yarn":">=1.9.0 <2.0.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-beta.3","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Pniin94T5hlJljCDeho59LwuZUmdjbhEK5N+1Uy/HevJVkomGW//5/at4KJ4S8pYMX9EUTASypr7uczlEmo7FA==","shasum":"8eef6bcb5fa90d756a4653c2218ab42ed677cb0f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-beta.3.tgz","fileCount":30,"unpackedSize":269347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbm/HdCRA9TVsSAnZWagAAr0kP/RsoRF1gaqp7ybeyqNh5\n3cxcWYJ9O/tcTZQ1MCDW5kRRrfLuwgrNC3xK0dpTvA82OAJ0cay/vLsokrR7\n92LC1UZpBehXIlVFdj7qhSHH38VbRzqcEtlvz5Q1JkIO7kTGOdkLGNLpHVGn\nphtgFOT46yQI/Hi0w3YGOz3exlm7/UP8rnYb61giM8DG9zDjJBaXtqYY/8g4\no4qgNcQIz2MP2el1GQ0CK9fmAeLCP9PebVVmFK4D2rZmTKlFa9pYrh3G7feH\n+9QOZz+oeNC7q0ebixztbKL7JtO3Ncl8CawZR3QVm7AMzHEPpR3AWcxNqu/h\nBTqMAPQ84AN/y1j01ULWNQzPcBn3YDBTZjGXgOMVVuQI7T/HnNDGptf2XH/H\nDHMsUyvaTV7RztyV3Z7DgyQChvhouSl2LayaKP51ym+nO4V4g8xg2XomW42h\n/63wb6r9pkn2RyI1chzbMh6jaSpXQX0sl7m1y48wVYOgIK9uBWLhmq5KGGEX\n49/1ZKXxaONJFceij7m8XdjCt2GjXRdWz0hhuBQgY4z5Xpj/PTEmEGOxZXFG\n5BsNjvHXpUC1whz5GWozrq2n7jZE7ZAgj1Wvc08A1sJfwaVXyyUM7swA++Bj\nIzFKiL/cWhzT2pLs77veHBG3XIcrVtIKOFk0eRZEPCBm+rIZFmTCMpKbKHNs\nL1cE\r\n=+f8y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnqIOSN6TCtvW3+ZV4MtGFqaiRNPxQ3j6iB+mEnuaR7AiBDIfAg7b+8CgcqttLwX29SdjJeidBQtl0MBy+Bqa+fyQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-beta.3_1536946652372_0.24201810988213168"},"_hasShrinkwrap":false},"0.8.3":{"name":"@angular-devkit/build-optimizer","version":"0.8.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.3","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-uvscKyKHkC2NhGt1M+bbHkEESKumiYB0j6NfVpGjYvBPQnXvsm2/shzTkwOb13kEmtaMpnT/iV9EQuODbsh7Rw==","shasum":"6fdc56bc29313ef9f80af095d5234af750b3277e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.3.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbop5MCRA9TVsSAnZWagAAArgQAJXBxnbpv9eC4CUZCPXN\n83bIqX5LTy2+VmehICVaANmgNhD7sNwGXbcl4gf6gPWkJEpuEXgtxWr2rmJn\nin9yahrAoV/gbHi/Clg2TSlXDB2sf8xi59WhaCxK2KqOid5tjokLm4Lzyo7L\n+oIoyQKe2BeqEuLxy+Eh/2ONNCNJU1hgRJ07O9mJyePopEn3kNHxS5NYc0zo\nKgPfK/bsEWUOW99T2/7BchA/SxNsGnU7CqdUVxkiVroOxpemTJ4sOsSHxeXd\nQqf9oPtHaBiTdLkiLdD1y2sFFiBDzt2pk2SvO599WgrMYW/PMEIGIASaOIt5\nLQ++S+zXF6DxJ+8SXA1Kjv5tbdiFcbnre3OpcwxFmITYKDwoo3xs+eJys3sT\nTY7pWG2bkigaDvV9jIMnmRvdUY2SqPQmHL8nT9fDgUj32xgjMTVL1qvu4KTb\nVSipZ4R11MKRrkpyi7/kXujsDSfLkeNcEs3i9o/eEjDn0fKq6ruIpiMoxnPH\noVxjFcjjnoVpYllKUT28dcrJvI00F/+MrY2H9aHiJsuxb/aC130zmgt0NCtI\nhfTuS8iECze9hljEZXR+QY8ItAfZUwi2KNqYHQNSpS52cR03W0kn2W72iMKM\nliwtf4Bzdc47bXjPVwEO/Ffqnedsw+yqLUMObv5gMNydj5KK9+Jm5Ftiskkl\nl753\r\n=tP7E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVZX7smODi4zCUXV8Qr7Gk78ZwHlCFk5b0oWGNl5Or4gIgSzjhc+Agw0YatMTd1+/3DBkXkWnRBFlxnVTcEBg8w/o="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.3_1537384011993_0.7643212123278951"},"_hasShrinkwrap":false},"0.9.0-beta.4":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-beta.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.0.1","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-beta.4","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-OS2LE+5A9bsddzzJ9ufFx+yG/+axWZLXgGb/4JkKKvRAoWy44JvfHsJ92HffxYMSgRvyfFUsSIbcM5ZQNyh9Hg==","shasum":"be1deb95a1ed0597efb7f149a00f3668f3c13a35","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-beta.4.tgz","fileCount":30,"unpackedSize":264378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboq6JCRA9TVsSAnZWagAA54AP/1sBfsCaZvS/qEq3Axr1\nu7/XaoqaBI70wMpOhiGmhkeZbNkRSsA0edWCVhv63oycC1jK7ybK54WazPtM\nfMVUT+SMdv79Db9XrpaBE/oAHf7Y7/suBkEi0Q9rknyjgRBdPTYX9HIIBmLQ\nO3hRnfrr5OwHkauimo3YOra3aAUZ4/Tsq9quXSQ10WDgVkcUNLCXcrRmkRZh\nH+330Xf76gqT0Fgbl8Hk7tgruClb3lCfW0DIQrDsQBmu9ZXTUrkAdwGULzt4\nrsMhMprrHrGZmAZJsBVICdrBIVeyoPeUlJcs5SnHawTo21yFw+pTrVEDW+Kl\nzNaElmYDErU6lbrSNSlos5ChehW4x54ALCA2ppM5dCgh976Hax82fpD1iZ5s\nCnlQLeNN4J/0niyA5jDbGLGlH9VURqDITQJNtnmsqCF+UiAsZszQKZUKjXiG\n7iBLzojR0vTI1QbfbdAklCxr4H3PXZwjChCKoVoMVZbmAqOhK/H+yLCz6rpN\nC7XsAA5nccjsGR7rKawEScSnj7mY1tBsWcpByiZM7G3fxBzeIiD3+sqh9c0k\nZScUpxPwU9ce63ZtF0VHyKy6BUoLBjAopVxpR93xiSy90ZUB90fTY30AtPzZ\nmlKK/lC0w16gXuBEfuXq7i8zjrwmAM8i0NFGORM2cBGz6lC8/U89HyVDN1Es\nIz4P\r\n=nXD9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGuTqyD2mJKJNajEauHhXNp1acFkBafKy1xJ8XxeFRsKAiEAqqNLDodMGcENrzo+dZZLb9v7i2RwK16omTXvix4f1qg="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-beta.4_1537388168907_0.8241658758238302"},"_hasShrinkwrap":false},"0.9.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-rc.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.1","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-rc.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-+AyHvCi67+oQrhX2+B0PVFUe+8bBW8/XfOIXbZ4xTJnBEjDWSN+1opO8IWmO8IBC/mcD0JIY7VYStZCMX3bGZg==","shasum":"10a5b3b54e582531fc0c59a401f8178f8ec27f2f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-rc.0.tgz","fileCount":30,"unpackedSize":264376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsk95CRA9TVsSAnZWagAAMUMP/11GSevhDGg9I38DN2ge\nX9FQQdcV0Wg0w5WatRvBbbHi+vZ5iYEeIUV6SJjoCI2Y1fG51q2Yt+v/uuvz\nY/z4glKDvIeqB5y7ZCWjnm+fX5M9rlCzXaduvG5Ikk6jC5KoBN1W8bKUCgvF\ndRabwvUxmOJvobS689mBhfw4mlv1VJrhwtsSsOZjPJkWWvN93KRH1yfGscVZ\nzh8LIhrIrijh40kwJvcKMVPjItBXmBEKMA8uU6HCYjp8bU/dPNrsKnRoXUJV\n7VJn3om/b+gIdFSsv0xkHacPNKfqx7mVEPLWaxFXmiutJ+PP5lPzubQtvvei\ndhcNBP0SjQk25qA33QYQmRpSeK5z9r1aGyhjqXn9QJd/T2MaV9uEF/LFYjij\nYgXSjKbTWr7VxD6tRzKtISZYkm2aH8TUXe7KfLIkTM0JlJNrdNLvAN+Z1igL\nfMqDLI0Uf0aJQuRMSJayO12m8zK7TbKiDIkRNjcuXF69b21dsAoqaBLFh6Ts\nb3uaMaeyfzh/Bz88Wfs4hTMUqJ0eucjCYwjgu8o/Z54sQExJTc8Q8qyeyeCK\n0QlT9JyZiZSa7pN4WRt4c2uxlentl7WoEuTL7jGZuWMG1VaRhO2Dgz+XB9CV\nOYNQDEV9Y5f9j85WZcI4FR494q26gh1r/WEwPUEEpPlKSGyj0R0Qcwsh7Cxe\ngXst\r\n=yoEc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+lrLmr8lgSWumGUpqasBytI1+8f5PiOjpuQufMDyb1wIhAKyzyBGMVNab0Iejl/QxB+d381AAbKYGF1h+KHoGAJSV"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-rc.0_1538412409107_0.1275485994775989"},"_hasShrinkwrap":false},"0.8.4":{"name":"@angular-devkit/build-optimizer","version":"0.8.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.4","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-pqfB2qrFz5ZEJEP1of8P+knwV/GqoP5trLx247E1nwb512P8aLdHqVbMNgUzZmKxfL2GXO6fmLuuT2aEX93Zbg==","shasum":"3131eb5a53b51f9914df5ea73ba8b6dca6b401a1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.4.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbslObCRA9TVsSAnZWagAAT6gP/RbDs6UISk0FbMIXyzl5\nL4dmmfJ0/f4W76Obws9r3SkpyVrMPMdEdY0EiGkUa96qKlsNhAgoY/RKDXau\nS6pLQNDzz0WovtGF+LQiLxVxHYm5iycrQDsm7e9vV9STWIECcMN8E+7Q21ZG\ny7pE/1u8bCWafFWvsxvGlOxvnWZz2ftc64aRXU2ToFvzOoBIraKFqD4qX1qV\nBpBTKX8MUhA84wjZ+fksCl+cfpBJyC/0D+8ToMgam5KAlmraPc0PxZno31qQ\nwn/n9a+lNp/Pg0epBkbPcy1JPu4Cilnyp7Z38Q9Zc6nWHQS7mz5jSg7IzW7a\nh30eQvvt1lOQFPXCV8FkHOJy2vpgrwvmlgu4UXQk9zU9r1IlqghcIJTRR6Q0\nN5jO5erDUBJLmxNn63HJHa08/I6dZelIx8MMdDEXbgTzN5+3DhjmbyOGwFhH\nMyBh6lmHdaAVaaSKNWMmU0mu/c/HtoZsivjiHelrMnUeBV1vM6c37BS9JnYS\nfHMNgXqXbIyzrSd0IaXZ6ocRcKdYG6D+WYncumV1D7q5rix4zLqExWrzwVfC\nNgazAhM1TYTlqkPeQbYlOWvrQosg7jMhhuO7ymW2BdCNZ/RSQAO3Zc50ivN+\nyMw7wNqmS1uWpER4q8uNP1TtRyDMiVlIBU6R0Dd+7y/eLE5lZxBSP8zNACSD\noPUU\r\n=m6OR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEaTyp3fkJYLrvOqk8JiCx+JysuwjLwe+LlF3mlFLCGAIhALmzA0RjX4dTQ9nxPP8Y6abEZ3DD3gVHUPxShbEdx/13"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.4_1538413466745_0.6781000770227754"},"_hasShrinkwrap":false},"0.9.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-rc.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.1","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.9.0-rc.1","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-3RZj+l2JV9SKZLAl0ZArO5mkN4M6MJ5tKo+zXYFI64DIeuTqLN4InG+ATbBJyTomc1froCA4/z5WBfJSFU5Xlg==","shasum":"95d65dfc43efd78375824c7925069b4f44b8c336","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-rc.1.tgz","fileCount":30,"unpackedSize":264376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsqttCRA9TVsSAnZWagAACywP/1s6FDlfsmX7YpBS37RU\n3RaeavlSxDedjhK/N2u/zi2IS5TTTB6/y40Yd05I6O5L0bBHNnb9nptC2bTB\nLccYrnBd38vJIyaJjFRG45rMi+ivH/2HBRrfnpQ9LZ03A49Ggst+8CYo7AZb\n+V7Zr1txFspkRIMXsfmNxbKreoHQtEuFUs9YtNzsnEmjupacXQX8BkWvhsia\nYkZAvKv2X4DGyIdCihhjWFi5L58y10U6swPid3KZ9rYmfIHep/dthks+D04u\nPlAoIWGMzQZLNBvXNIeVwwpD8BXfXKSIK2LVPjmUIy27ca7eEMLNckC3B8cF\nj408T8QT7kcJqdIBTTpKvw79UTxNJKwuBaNcZRepsP8zznHJ/AOPypt+SRRp\ns3o7xq9EUgq7F7+DbDPDPTLPEKMwiah3RCkytRR6V5puqlNbjcoCh73i19L0\nwmOQQctb79kdsp1vBZcqj/MbMTh/+kdg1gvcTOJasRRX2Yk7ylR4ONY+kf5E\nK26KZJWoh7Y8h0RReJ4hVbp9mWrtCdfuXufs/hPZyLMlcq8B4vxmMUmGnAHD\nMVrM6DhQuulfZ57Nk6Nbx0al9n6Us6E0svT+M9ppas0Zt/3VZ+pXF3FMItbe\nq6akGcz/wQ29L+Gf3jN82v0FMLRL6bYOYB5rRKeJB6In8NQ6sJoftJMFjTVr\nfG5r\r\n=js75\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFGz3lH1sZ2/9MVrtSlZgtliW2oh8fCbTWtcuO+KGoZAiEAmzuDYqWm+oas9rYq5JmDc4+3cmG6STnsXMBXdBQpKXE="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-rc.1_1538435948349_0.2760382203558156"},"_hasShrinkwrap":false},"0.9.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-rc.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.1","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-rc.2","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-GFNuV/cUIHLB7W3MDD4n9dFY+mD6nwva8haI882DmA0MGNA6G+eDnBTUMXWtZHVR3yofgOa/7e/XY6cfIKzhag==","shasum":"0bf7b3c27ddb200d4c1df67cd8cbfd404ec48c1f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-rc.2.tgz","fileCount":30,"unpackedSize":264376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbt+ELCRA9TVsSAnZWagAACjkP/jefdXvryHY3sIcyXn5j\nv9X/yDnF5kLMhBzjOlZpRFyr2VV6f3aEv3NGKwY0uokdeWEv/90ziv7bNjO8\nHzlkJajBkjdhC8wpPAqDB+inWMXr5Z72Yq1BP5Y7AldnJQo/u9T3hbB9zMPG\nrBHc3tInJiCvXfVnAvss+Y7W2JjL79bfcfP/m3u4bqZsBOm767cSGRVlABnJ\ng9VMYImv9MGRMopMnTgS4KmsGgLn1kt8HboXHvSzsQ73IKJUQWxk2GwIn/3j\nfNiY992oiXd0iNXOkEct7AfXJD7QAEdu7tnfCK01avAyJDVOHrv3cK6Ea3gr\nlIWXAvyl0M6iVonBUKTdruMrKqOv7EcygBAilj6V82/GWbpPNiaGUovDuMB8\nH+UVJg/rQ8itUh2/3WmJ9Vcs5jqkuPV6OsbZXbZGRp7+iH3lVJK9Bs2t+0G7\n/tH5WuRIM9Zmf758eWEld7KkLMllxnNOx1UIdmc/2bH8+2aaix8N3r2vLcM2\nIUS+poNmwkZyJQ5ciAAE043wpQHQIzt/czrpWLtwWcCpSWfl6V3KOYAm+GNm\nZ6HRZL7YETMTfaxRA7IuPZPIR2ObUH6a4Fu7esBtspfGtcHTDoOPMh8Hr5zA\nOrp8PZi9Jhd966b7+GUQBcwWasHp+lB9WI+i1/GvSWQzG7HaN4kg6g0qqxtC\nba+F\r\n=3MH+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChgcyMXb1N7FQuzmQn53JZzeTSiKUmORTekzz5SmdIGAIgMfyV5taMAEQGLibyQshBwF8UMJUB98NwU/+6cHZBz28="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-rc.2_1538777354455_0.48839040018701096"},"_hasShrinkwrap":false},"0.9.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.9.0-rc.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.1","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.9.0-rc.3","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-dhEjh1K84X/GJ+CvIVe90EAAzyAMBG2ynLWe1WZWKoQxH4v8otfYpVwY1dSOpYijoaWxEmvvvKMeNvOO3oAfzw==","shasum":"3a44b01abbaf0dbe39d5e0d21568f2fc4a89c6e1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-rc.3.tgz","fileCount":30,"unpackedSize":264376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbv7mhCRA9TVsSAnZWagAAq9sP/1k6zs32AozrJu0a87Vn\nS5kD8iBSNdglSrOVOOoMOmyRLuBwm1J7dgB1E1lQv3BE9FVXhMM9mRX9NhT3\n3RumWCvevgbN7248wbsg0/XGAopnmB8wxrD+FR53DonO3kp8wYFpW8MN0W4I\nL7UnSQqGWn0l2QAaYq+vj16bU1tXjsvdKw1bv0SPPc6ihDGfpci90bhTEzCD\nycmUYD9ggBLgZkLX+1D09xoZ1HgzDGbJk2dumPzGh5xQEnuqVvggvICbFs4r\ne9xxL7ap3XUkXIn1D/xlhgqF8B2Rx7tsNmAjajQnsg5/7PnMEp0WhBQIdJv+\nZTI0R4TPUAkAQKNWfJSNzqqqiBF9X05nTc06xBlvmAvd88zLjwUeDR0wVaSk\nPEnlU8ZI/K2JI2xKYHbVU+6iTWq8eSfEyEtojWex9UvCJm1pX/vRrwcVy+dO\nn5vxWyrYtbIBpk2Dxae0A63/9F0yVsr73NfRXu+HEZwmL9i7WudSmAOIJDvv\niq5wjsjVY/a/Tb4xuwC3pBuJOfEUThmWhbl9FHsCmZ7NrIixCgVAUVC0NczN\nPVBqLfKjxyM5+glXCH56NyaUTnu0yuKAwNnyv1npzBG9HJTSwFFTXik7l2Cd\nAWKki5Yh9d8DA7Aa9nLSkxLZNjgnK2VVBT44YJDfLCSaEVGnUT2VU+U89mII\nRJ2C\r\n=lEFS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXQ0CpRCY+Sc9bXEU2DqKRA8lWQ/CvUPqTXscbPt9lFAIhAIoGFr5bNUdfPxeJl5p547yH2VOUuAQG7CtoNRNL1InG"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.9.0-rc.3_1539291553054_0.9709561103718549"},"_hasShrinkwrap":false},"0.8.5":{"name":"@angular-devkit/build-optimizer","version":"0.8.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.5","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-VKzTmSz7X4VdAZm51qIx9vPrbk1WCmoVznCFp/VCEW3YJNNwiCwdkI/CQDgQbMWbkUE/3s6f1JIkTP/S+rAsuA==","shasum":"07be2787d791b08dba715ee39407ae8fe732d769","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.5.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbv7wqCRA9TVsSAnZWagAA0BwP/jtHkdCnAbrR3DRJ4LfP\nNnjmGS0Af/xAtVWnvb9o6c3DNrEtjYVzuKyQy3cEj6LJjEP4rSIFmkOlh9hP\nRKWmJ8QQPI4AAeFlfv+S1RhRU4HifoTyhNxnL0gNcch4Jrm6uQtHAh2g0au6\nx2j+0Ai0eePRDPjjkruFzn8ZdmEYF5SBaNr8Beiszwfc8lPEzD4N/nmlS76Z\nImeCgiPpW/vXgF7GBL5pN7oDLuooiWeowQe2cTr1oqETytDESCbhrwCPkUzb\nnZDzuT4LmDkVLw4wqdbESkij4/qCJYIUNPThYlnuAXJuC6wmu31m4U+uX2na\nv186QOb+6QsX6/z9/wOPK33MX5etcAg601FM6dUNBDhOEUrdf7C/Hf0xt5Lk\nc8hlAudL/q9F1OeoT0XjZ+8Yf1Jq4Dz4fYOzLKzRFoBVTewDO2bjVAlh3hD8\nI+PerTze36qbkbjzMWNvTYCpikJbIS9k5suROZSvdEPe7+HExn7145lQ8YGy\n4golQ5+rBxMRffADjcNZwdRaXZWK/4m9eq3aXkHhxKG+sfBPq/3UH3dGLAxV\nK1Etyc1ANSza4dzU2OMB34DTshTbIOtYgELMmcO6qYjsN6pjfcmLdqErBezL\nJeu9mQ7oUZDKZktbUeHz3Dax6e9VyvB9GrCdHMfueaFPHIEexthwY267LkUl\nnKvw\r\n=wllz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKjjCduu1FgtX+DN4cs26AQPCGdWZzD3DZeOClRA8xjwIhAIhkdSEYl6BYRDI6zeS7rLTnoRC5G3aFFQcgKYsJ4OWk"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.5_1539292201526_0.4070090477808519"},"_hasShrinkwrap":false},"0.10.1":{"name":"@angular-devkit/build-optimizer","version":"0.10.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.3","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.1","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-EnB64bdwQSJJsNlHPydLtJ0qyIhyeIpyyP8rZt0ZpIz56zxy01xLOjBD7gdBIhe6V7s0INDm+TRt5eesYwqSMA==","shasum":"09b1daaa375e03f768b46d995c111dd93ee802f0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.1.tgz","fileCount":30,"unpackedSize":264372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyNjICRA9TVsSAnZWagAA6RQP/0xv/wXuuVDyXPg0q1Bm\nRvGDJtKdSFnQLKJIbUBsEHyI9Z+12RrYlNcuZi7T3I2AnkqCwIihaTmWh8wI\ny+FogpkwTv55YiPz78n3KKaai2wEwb+CoPNou4IxEZwOTCa7x5UpNENuOTOD\nTsGMbPZDiS2UILKOfiaHdvN5uY7mJfzEj3CXM/eVm8Wezyd4KBYb92pl9Okk\nI2+nQv+AXNfH+yivm9zwMfcNEqHoT7nsQkTJO0sFmJwDUWOJJrYFXIu0BdGa\nQPLrJ19CSwg179lNh1AmbCxyeSUdR6fovpwJMW6QopgNsue2IzQjIgZfO4ny\nwPgbV59GDtVblLDD3FFbM502Jd4ZrQASMCI1Mj1L5EZ8+x8kZqmxMZy9QusX\nQtWPhKKfYITGcbWdIDQjAbDpuOsj5n+8e4HoV6wJw3QifpC9jmEUT9Y2Is7Y\nvaAv/MS+O8xbCV5viMva5pryQyLKTVsQ3W/U9xcvlMPf1SuMuXr7dSaoHN3y\nZzC82JZNq3co0jPYsuDOR6uGpbP1BAh4OOW0Zmz8Sr6MbNRnKm0eWR9ZIpI/\nuOeSz8rQQglkFOw9MNxUBf0PWfSk1Fdb/P80oxjCMw51yIN8XUiOeNPRRGjg\nngsSU6938SITkJi/ZiDc0bIPheDX4t+REorQhzCH8ttWpHC54iSX0FgODXkj\n88b4\r\n=UXRj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXjnMNRLAux57ug4aaOdb0yawQBXmRzufMD/SWZqUHgAiEAwALHeAFckGKEMGmVKGxXm8vBXwxaIRIJhkXlgb9TU58="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.1_1539889352184_0.3902121814574293"},"_hasShrinkwrap":false},"0.10.2":{"name":"@angular-devkit/build-optimizer","version":"0.10.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.3","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.2","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-vPX3VqpZ6Gu2cSDOAnMxqU/VwQ0isj1iI89DM3E8yJK2D+Sh82WEeGo9rpTEbGps9Y1VOddSRu8M3UXOlSEkdw==","shasum":"c00359ee8bed74b2a9ce43a5cf56287637982794","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.2.tgz","fileCount":30,"unpackedSize":264372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbymKHCRA9TVsSAnZWagAAb3cP/1lGjSff4vw+IaU17Hpe\nO4SRkjIyKPszVQ9vXT3T+W0xUvEwhQ2+4GbkSxHq966NS87kO8KseYYLYjOU\n33R80aBGK0P97tkW3Cipa7XD80sfKQDMn0MlpqWXgWLWGCeATbG8ttP8L2zi\nRPvKYZJDGo0fH8B9oYm3qekOEkvX7rEy3Yb6KKrnTpjxhYbT43sMlVzyYnLR\n5Y265XZ8FjvytT+9/+g/yAxTuHAB7LpC3SoV3E0uuRIyIs+Zx7SWAUV41MQ+\nJOJAaNi/agnPA8x8CuOEnsvUlZNqx8qPyGRJTNIVjhBgh+acb0wLOgmS8/sd\nSCvs7cfreqMiJSBxXLKY8shNyMNB3pwmqlWdf3mVUVL06Lz79Xzh/Ebat7bB\n4ZNq+v1SqkHoSd2sCfpqM99pVSLvR1BoISW3SODDQgn69irb7Gc7FgTJAo2x\nMmaM9P8hBo7iIbd/7bP7fdWaXzMiLj0rkVCJsCWK423n1nYzW8JpR5ZaXhFD\nP1jLt1y5zAwkskdO19WfRGhXYoKTvAB48PRg6BCl+0MIXz+iStzuHZ/HVb3S\nUtC3pdB2pPc+2WPOk4b0OHgCEa6Fvwp/1mvAko9gLHNP221RIo62toI69cAH\nPEdx3I8i8CajtLsnZew47/+ddduwPgVFC8ZHwB7ylsgG9/yvYMrxFAsXBPvJ\ndJ/Y\r\n=4fhx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICs5sXRNb/5EtAhOEEPJUnUKcY8gjHTcrdgst8Lab5WaAiAFiqnIhs5V2bfG2D1U0pi3RVBngfNA9I2BnXnv0FqEbg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.2_1539990150299_0.3844749884463936"},"_hasShrinkwrap":false},"0.8.6":{"name":"@angular-devkit/build-optimizer","version":"0.8.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.6","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-W/rxEb8My9nOjX0ZH8Kd7w3WGO+yaEBSUP3WBiWQ8caVTPtwsHEkJ16dIgV/U0RjC/grvlD13MhU/7AuFFK69Q==","shasum":"c5f51dad5b89ec8956fec4ec22752f6e10d0067f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.6.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbymQtCRA9TVsSAnZWagAA2MwQAIgHo7FQIvSjB6a/u0Fn\nk/TvRX8J2fTP7nKI7YPeJByjgZZQwXp3plKV+jCnFiQtpNWyXtZtMyYHG2FN\nKloLFyjiW9q0wkRlVRPXE6q83IgUfbVV5T3hl78T5VmtAzItXxBcApUXlFBd\nzTLH+ArAD5N3G7nmdT/a5quYLamCcdW2eZ/y//XTUPZuy7lmZvwvNPp4I2pR\nP4ZAQK20BeJ0oWYbNzIQgtFsy4/r0eBjyRkz6cmEz5I6yqK49FZ+bcs50ugr\nDd27G4mj19OLKsUXy4rfwg5KtKSd9fuc4J50wueD5Gnf7KJ+VwH7oI88fcKR\ngbuRJxs+yALIVdVBwU+qSBE5+9z+4Lh0hiQALMzXH2EPEqqIwgtCnvghpMP6\nq7DxPSCnQGf/yB92urRekw+oTGlx6hJqBR3fBIC3W9TDihtMjqRMoYc2Azum\ng5ew80JVoDnasHaZspx0FgvyX0CnRxCncc9FUHPAczXNoIka6gMeJEWAcV7w\nEg5cFgu6URW0ANgorYZdELmg6ardHP9CPxnCALzxMpII01SjfZ/vTc4mU/Aa\noP9yHZ7YPm0OubUm3uiMd6fasqu4AcnTgvQ2w4CzpP7mmZxacU8BfVJo1chk\nKXLs1yN+4ZSuzqfSw/KXdAGftdleqEUbEpCnBzVC/BY2Xjdgub6okoqKNcCM\nDdXm\r\n=Z1Cr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/j+FdhQGsvvIbJZgvV4TYX+AZWiPXS0CmZrpE3AG5zAiEApXk0dH+El7uswwUJ8rjmGHoo/PtsB/sJZXcfNCTszFs="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.6_1539990572765_0.9505082592048406"},"_hasShrinkwrap":false},"0.10.3":{"name":"@angular-devkit/build-optimizer","version":"0.10.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.3","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.3","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-NgsS0kdUh/Op9+Kzbq0X6AsTV/BgpVtiF5UxZjdWVQgPPOdur5V9PkpRn9odey+06S/wDTE/UzPmT3qKXTQVHw==","shasum":"e649b9d715edbb8eb4779a4f5772cc5cd842700f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.3.tgz","fileCount":30,"unpackedSize":265881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0NreCRA9TVsSAnZWagAAvcIP/R+4WQJlR3iNnHv/GI0s\nWB0ErnARlNFDqmB3RYb17nN4/5G8A6GzqtYohTnD8Km1u8Mq9sAGmPMLT/Sb\nxVE65DXPXFmQTvtdROUxlp0DglmvDlxHDIvbfcrN5fdyTRQ1VAq4xhOk+sQt\nD/hZBTTnNEfLiy9P5QxLhtpvmDr9pQ/BDWPci0TXLMrfmDEhvOr7KmrJ8D78\nAUu4l0GcI48PD5yJ4nlitMD/uL7RdCMLM+qIsZUOPBeu5RFj3XJQx3bzNAm+\nhx72AkJTZH8KKPi8tLJtJ0Ray3jZWrnC/3wEIzOYLj05NsbgK2iwkTQ5V+xs\nNk74i316zzbO6qTPyCF3jIwlQF26fFyr0qwbmZu1TIgNinJAx6xTo4/o88iP\n+GIZaRtwEqSbmYk5/1F1SVj3NbRWeZUBGSEYo/8lworyMVbbWcv2KdR4T9uT\n1vEtSmUDUD0GDHyrdqbAM3rUPt9C3m4OlN1gLMtEZxDh3FRFBAw/NVW769EO\nnQvBgE6jpOqbrWFhwq69MfxIsuNmLtd9U9BGnevpaMW1T05seGJOupQK4H9h\nu9NfCGuAN2ShABMdyZWPSTaQYA2wCq/0rkiR88rjAkFkPHzCcYA7DibzHZxV\n3Sayy72LxsxsZeU844LNgJcNruBYEVSf+XqHF9VtaMoLF2thzPnXrNcIGgrx\nfrnz\r\n=qp8Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAPyrGpuGYHralLn51oaG9maaoyeiOL+dKbdNlQkKYxAAiEAhcI6XZ26AmDXaRlIzezrCbb8uU8t2URltiK+QrVRBqM="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.3_1540414173479_0.452434232776894"},"_hasShrinkwrap":false},"0.10.4":{"name":"@angular-devkit/build-optimizer","version":"0.10.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.3","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.4","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-vnXQjpPW2ZFyvwLd2HLWz8JDgpagnF7f8IDHKH6s38r0TP4DTqEAwAfLmOMuz/mjO8l4BMEOFVFVxad/eCRNeA==","shasum":"900e9221bf4033bd28b67dc3fedf1c05b4f8b13a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.4.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb21/6CRA9TVsSAnZWagAAdToP/RE5NwiWgYDyalOmKNU9\nYr6vUvm1ZMx/nSjDZ5E2xAh+97X1mgxJst3G08eSZFqwHq22kEztZSreRUoV\nenxUClWkQWer0kCGkSfr32lFD097WUGB5dZXFyrvXgqckHStRfYLcXiTKig/\nVdMcYW4x7HsRe1pu3+1SG1599KpFpH0llpdyLzQU9tlmvq+IelTGzV+6ClDD\nQOzZmujBH3P26nXRMeC13jjzkDqFHcC8iRerCCXmiUdItV7DfV61UJzEFJ0/\nAMEOHJOCx+9TGuF7t+aKb/Jffq29AjOHnG1LJGn0eDR0/vNtP15DqRnLabmy\nMH2OkuyMGQOd1Ad/kAqG8tNNdAybvaqNSPm+sdYaS1AYIiYqlEirPr+aXII+\nEhKoe1XDh9xLVxlOGpFKIwKYuHMhMGTMvGv9VCk9DtxhRgpfWJ4Pfbw5hcFs\nyOKAhkasmtSnfe8yoVZ8Zbfgb15Pc7v3jXATAYLbqnoyB4m0dlkzn1xssAw7\npPWBywuELDKujy2sbsG7Wp1cxobN1npSZca+KWx2VG86EYzZKzek1ZCC4a5z\n3SSxmJ+3UF99OOrZqL1RTI/BopEhJC9v4XaL1PuH1nun7apV0QGx62ZBpoGi\n/QU9mTuMYzLnmwDoWfLZ8yfkYKiPgiI6dMwrhb2kA7LU9GuKLduMMLQXl7jt\nueCX\r\n=nskp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZFxefUo37nNNNe8wvKepeNDQmo1Qhtn3fkeGDzKDD2gIhAMuElof07d3UHll2CN9HpOeM9+1xaFS27TUD2FXR3X/r"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.4_1541103609198_0.653141616437156"},"_hasShrinkwrap":false},"0.11.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.11.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.5","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.11.0-beta.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Qfce+VXpbnWsdb5/gi7lWx0ckIaYK9WdB+/OS965QdbhNEArBTqm0wbZFetvyi+qKWlS6hF7edexAMyJTG2kqg==","shasum":"8270e77b79cf1ee12ddc9d41030b1ae0554b4154","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.0-beta.0.tgz","fileCount":30,"unpackedSize":265862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb23tYCRA9TVsSAnZWagAA7hsP/R8FRRUIaYLJfBr8Z0/c\n28g8MoT6z7xqotetrJOfvRWSr6GD+OVIyK44B0J7dd8cgJ8K5w3WQ1IZA7il\n2uQ2uJDuFGkrmud3t6Ee6YzjCLqXVpX3QQbRxd1fVmP+4ufgHx2fUQzKDyEL\nRdkiAWd2ShtQ/DSRnmomIDhH7GGni9PGs0Q53/G96Otxc7IBlza6WFKyTfnC\ns1e5DSqEc+RU3S0AZfymIRVC9npPvCgMyc9EFmb405ZflQ8MenbEEYjwAgab\n7Nt7j6Yf6jG3kw9DH43aRdNAR/NOOA6UKDEKyiYdDZmz/SnIQk3fqeHfv90d\ncgQzCEvwgzjZrct+Sj+FhG1V3648B52PkcZuSgzj4z0CkavmDV5kpK8z2seI\nH1vJzgrQM/YblFtUkSOkUR8vk/HjtkuN69w8unOZIum5rtt142UaLH/r0ZzD\nhA//cT4hzU7VsBauQClutStSl5yHPXuC6Qq6BHqDTSZJoHi0537oTiJb1xgH\nD4rVb5+sO1ZB7nM8s314/A5Vq0kPV9s93zyeAvPn+M2K6zeu8Jz4u8zAWUF5\ncy98MThguJuN6JM2JgD96VdDii3tLK5SPQNqDDOcxyH6DBI16bjV9xTLTFCH\nhcCn33twAceRnebc5EvJbgXaxeueEz/ii7DFhB+6K0j1Jl9BDsvgwPIgAVAw\nZqh2\r\n=HH6S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUryQh7S5NPw28O6zZ9qUKtOUIFHgSxkPs3fkmwdxpvAiAp6jHb/DQf8GYGlYlhPU6QMxnaMqrfmXmyomF6ZMqnGQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.0-beta.0_1541110615910_0.9827849046670745"},"_hasShrinkwrap":false},"0.8.7":{"name":"@angular-devkit/build-optimizer","version":"0.8.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"^1.1.0","source-map":"^0.5.6","typescript":"~2.9.2","webpack-sources":"^1.1.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.7","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-mItzwOnYukisGknLFfZjXtni6yYPUQQbWV15RIRBpl8Hg05aOWsIBbUvaBWVfU/1G9vN6lodVdUwTQce3VqqGA==","shasum":"47f91baaaaa03d22cedc8409f54c260269f2afd9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.7.tgz","fileCount":36,"unpackedSize":286785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4ISNCRA9TVsSAnZWagAAmN0QAJNBf5yKnOpCL2bbMwxJ\nBX85aeveN1BhiPsx7L9UiAyj9MBr/Mi3/f1ekgDD+rMe6EDkPyLWYeTjKVim\nVqp6BzjKUB3JzYyes6GeFOuEdsWJPc85AEIvZSB7tm2TeycPpgn7H8Qohb4f\naPoD/vIVDH8oOtkGhenoFSIQegLeBFBnl583soio3ffGcNyvCbQpHFyDkCoX\nUCPkHi0I/9c8Opins3tbBz9jRZxoBXdg/kgdQJrs3P4sXte95+1S6f4t15t/\nkWRck//rUYTMN1gUhiy9kzDOewcKgAKQTnHWVnCOcEZt+ygOTHDMZ8BXBofs\nzMpvzDrJ6++d5/kXT86ZIdiVG9LBL1P1mIEdKP6AGHJNwYUQTjxHaDvDDQyD\nzmPGG6w8nx50j76uIC5fMB3zIPqHg6w+gWsYwMzxaz6IUzOLm53AE6QSv+6e\nB7SdycOURB1DUU92H1MiQ40YUq96+fch9B1DpGnZZxyeARCLX+9EcTER01yK\nr78vl71HiTpW+dPxSmngA+KcL6ZcSqLM4aGw2+MMtGqQPkzILHP1LoW0RixS\ni2qgqo/0eHkHOgrFRGPtfDeAlKZukd6pfZLNbeZeVeg4CbV/bY8tXLZrKRdU\nNkG0qP0EoO8In5cp7BNIsYAdNJVaOsVFGjktTeJAdvAH9HYyr1ExMcGve7Ch\nBYfx\r\n=2+OP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCv7VTknR+pVu7G6QB24tz7KGazdkegy6FcsOJKU6ltrwIhAJ92D8bBgSzOPPcMFY+LniVa0k/dC4tShcaqlW9aTRWC"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.7_1541440652415_0.759782553018028"},"_hasShrinkwrap":false},"0.11.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.11.0-beta.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.11.0-beta.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-qThLpjremMbL6ANdN0HoIbUkb0E1obZs5kXdjsbf7T+aXlfDufVpoKnGmE99K7vVAI/C2140ICL4FElsyzVnYw==","shasum":"9124ad25473e2f37188ca92e1006cb7012bdc044","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.0-beta.1.tgz","fileCount":30,"unpackedSize":265862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5LYTCRA9TVsSAnZWagAAaKoQAI23pZ9WgSW7yikg1D+S\nmcE32ycF7Z0+UYws95m+/xOR2U1j5/3wnvCmCBTYHpOTG1j/9lY5wDqPboMn\nGMWPPmeZP2kPOwNdxn0Ja7A6Lmf5yDo369RNWqBLNXxldsycNBd+6/IShuZw\n45I7HYMvhsW46zigpVzq01HZNL4fbq+aJeCsQrUOCgUmWHzoph8g98A9WTr+\n/FvwfN1agiYHbDNswoi8JIESvqgu2IJjKkzvuUUchUdH5uq94zAPubIaHnHY\niOOQpw8TtA2sP2MZ55OCw/ey5C5HKzLmQm7SrFUZHP01wcJYEbiENc2qLA95\nwO5jUu7qcoN96KeOUNYelaNc7hkgbGXMTfUDFCEgi56VwNIp/wwBRE6oCp5g\nqpRUlWU6mjEjVjoTd9ZayuX2Zm0DLjnC+w9eMiJXJbpevjS5O/hfA1A4rkIt\nR6bU0C+Obvv2EKbVKM2hcu628tB4lz7l/cTLFM0sP+xUm8MO0Kmtjen5/ipH\nguDmhwSFY9TP6uPRAloS8k+wGzxDcwTup+EqWD/qZa4OHXBQTO9DNaWBavDv\nWHf/vbX6HskXZSUAxbA66Con7ocGL/WlDWXLS8IrZWAMj4Gr2QOa9oU+r09R\nMbP6EsOOa035Ll6roAlK0Rp4nktCvXTotxfl//InUNBTVJM1EFXdWV/UyMqV\n8FMU\r\n=w3xZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQTMfudfCkHJRI/QHgci+OX440bSvscXEjn+MzvhbpOAiACE0yuUyQ+U0SHlDqfO6lRDZY38VhI5u9FYDc2bPvLRg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.0-beta.1_1541715474892_0.3809887352189154"},"_hasShrinkwrap":false},"0.10.5":{"name":"@angular-devkit/build-optimizer","version":"0.10.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.5","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-jhiD/ct7ngzNjT0yNUTT4TUjRzH9ZXdMm3Z4wbTFtKhXfr3bZgvLGKEoq0pIGlnlWq7lrGb8Doue4xcbRKTgmw==","shasum":"7509e61461d3040d2efd503383f9d8a29879d046","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.5.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5LgICRA9TVsSAnZWagAAZR4P/0TGXV9DdOOP117RkenS\nsiEnV3ufjuy8YdKxs1dTFFaLYZOilxf46F9QsB3wErxm/bfonC632d6y1vM+\n2xIts8ux4op6ltBY2gaDIfP7vdnOFUntLKJioKwxJ/8atSN/h99purjkgtK4\n7vdZ9u+uvy3vLSjx7m3+a2BOl1rDW11qAz94vOBAEe8xzot5n+JuktLI7RIf\nqZw2MiiIRV3Uji69rlAYu9oK71UMCWQxFtBPEfCUSPgQTgL12lQ9sjBO1jcP\nN73J/6tFhUpZk86Da3TCyXAvcvMeJGf/JWIsKhgWXcdUUc1weDOS5+3UAV0q\nwoU0QBamZMebE4F4+d7dlelxU4UbXpBCgjauMLmap0Mi3LeCtKcdTUSv+xG0\n2C9XacEXY4I6r5pQoxFqgvjPEUUaaz4Eq8ex9L3XWzisYArgzBnMxgkG8BI6\n0V7q43Co/iWZehcJWy/42sqxv7udm8TX6x7u/ySwF2vyICCMXZ2ttlnMwZdt\nhtCdB4oDy1B8lo7Qe07mCvdYCqqGkdtgHtK68Ym6tEhg9zvoQhBHrGMM5RL7\nH5vySekOMWrenLJAJNXWxmPrZy1TLkCDd8ZjDOhccP9/72jl4Kden28cu5mQ\ngn5Wx5KkRgiex6dubT1FrxlvXHnRSMMf9gBa6TJAMUFWZuT2io1KHZCum0nz\n0zHz\r\n=fnKK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChP7/mUn6JBLe3/KmMwfJF2ZYec5gO5sCQsQ5a6WjcLAIhANqwH3gRZylQHWsEDIIAa+72MZtPCr+Xo/pbi+PK20vf"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.5_1541715975244_0.4312122880617213"},"_hasShrinkwrap":false},"0.10.6":{"name":"@angular-devkit/build-optimizer","version":"0.10.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.6","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-oedg8F++8zZTmoTt141k3nlyPtrSSsQUZI9TFbSdfR1D5WDflwOlkLyRb5WoC53HSoQnagKxY2qzd7khVah//Q==","shasum":"ca7db9b3d5378b2759509692f02a5fb5af273dd0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.6.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7IzcCRA9TVsSAnZWagAAE6AP/jt1QmOtPuHBs/puhxoY\nOeXS8jaG4YhIs0QW2ApcfBR8Vf7A4r601VHY0feG0wVmhE0XZxT9wlO5aD2D\ncXDCw6XBCwNaX5oG9dZ8yCT5xM+xOu66aQBA/ziwJa7Izp2WTEEC1m1mf5xd\n2n3hiiSMfMHhTLg8a0Fjo966Tk8Gxpcbs1LBxIVeoiOCVi7cICID0rYD+hgI\nGKNVevbxJyiywQRdVxvWq1fFpqMOSO9fpvyq5tD2hNUCVYOdTSXFR89FO57l\nX3uijprwKir17V6Bpo0G5jju0AOHAnptCxu6LtWGBsVdpJ0UTUzv5Z2cFweT\nxBSMWVqBXFI/SRjMrEt1ArnFEhYkxnu5RPd38sC47ctB6O77zB0JW8PoKzM/\nQGJr6pfviaQoEnJTrqzCosQWAn8MjDOhCF5cxF1mJEOcaZnLIP8gWuX7Eemq\nQbE/2mJsT2njjZzPufKOap9fWzwwZXm9uhivi7ooO/OVwmd4Qqb6Outqj5Fi\nNxaMJSiGIYZFSqXV16TuA9ISyiN3jcIgNFyuetg2biL+751QEVoZjm7uMnlM\nxdlrU4l5FUVOJO5f6Dcur+IKZWchALlIuHHnXFVB6G+OevZ6UW6iMp9lRynT\n1htShlKvgXXKMb3F80F1XVn8yOsMXFlIlaR7aQnbfW/N6Uy+28LCwqhwLTq3\nBoUg\r\n=OSQz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9Pd1oBwV2WmOI9rutPT6TMkq5RqZ0bkiQjsbsy3nczAiAfnaJMwy1Q9ckuVua/HQz2sIDWhkEpfab26xlhtuDRCA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.6_1542229211493_0.6527437302985746"},"_hasShrinkwrap":false},"0.11.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.11.0-rc.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.11.0-rc.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-X71MkRpiSeZ+vHQaaHaxNsNgrXtd7LPasyp1pBsBr2TTO7mwncCkuMFxD6Fk/6NKSp1s8Vgcrch7ZoLQsJJCXQ==","shasum":"0564fb321963ee8a7ab4b4dc263787f42b831909","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.0-rc.0.tgz","fileCount":30,"unpackedSize":265860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7JExCRA9TVsSAnZWagAA9JUQAJ7yCVq1iBUliOR1rMPr\n3UBy1+Pm6yV1Y0k9LfohGiIUCW/XL3G3rTLEb1j55zZBXgxYolgGUWWqUfYO\nEQTntpRMqziipQqRLqSKBQtwgwgrFxm+69K+VnNEZ2UXDC3GmOClTUkzTAes\n/NHHub5wcdflbCcxv/ZQLy/FVY411kXMj9WqYLdPYC1UFeV0LmBcp+ZkEiAu\nZyrpYCIn0W54cH2Xx8D845knQizj6AEfVV/ZJWWSEonpy0X9ogwJi35vJr4B\nmjD5ZgYoNIyuRZPh9fX2y1mGpQtYvpGZeTZAIkP2g+vS4r66nc6yjXXhm+qn\n8zip3nE4l4Dv2UODbN3emxnmtRKU1N7wzvQnBF7IGnDG9CTfmm/6JNayGPOc\np7BsJx6QqHroo0F1QP5QhZ1fwTKQfSkovZfeDxwqI00gpwL8FRqDrBK/xkF+\nPcll7uC36GPT0X20NqwX21SMWQOT4FmVlUvwtkXtzSlpuZHtp4PcI4dJ35x+\n0qk5ctO3UD/bCzsfgG1IwVILCf/7khahjvBZoSLNIsLUsI78o3OVLL5ePG0w\nNRFSMCIw4Y4pZ8OBtCLqR1MJi2MptYQLUoBobOi65d7L+k+uftLYMvL4j+vW\nHwe/euSvUcn6CzaNtuDjQP+gDf8L4LwRZwSJQWGflVUvww5mZCDWG5dCOSB8\nMyQF\r\n=4DbS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw9ukS2RrTJB6wNYo6ttH2DUMbx5tkhEiQprWhPLC0rwIgRp4GjpCJsYq0/ehfcok1/y+jLlgS061sFS1w46y9390="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.0-rc.0_1542230321121_0.4024656035481171"},"_hasShrinkwrap":false},"0.10.7":{"name":"@angular-devkit/build-optimizer","version":"0.10.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.10.7","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Ztj2U21B8zRO2csQS8mLv/+WKPPLePzaqJDk53Ou2r2HV+kh9GzYvgu1UFeGf/RyEeJi+9KnJGG2wPaeNqDNxg==","shasum":"e77cddf0eb38751fe91a8276c77b7a2edcd4a509","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.7.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/ED1CRA9TVsSAnZWagAAU4AP/1Enu42IQuD0aV0ACVY7\naNM8O88SCOFBRHJIvjffu6z5vgMCCH1DRAUfQKpS1pCaXVH/G1HM87hwYx0v\n0vJTkPBitW4zran2sOchG61mv54sdf0RjSlQr2fBzmRtN7r3EMIEmKMQxpwm\nV71KoxSXHFgdv6z11Gq7EuRK5tFIqUC6I83+RS0fVTZlhjTV8iRVMq3hshko\nurR2X+1v421e0jDWj/w/ufKfT731BRtWTR3v1xJ8kohU48GQfx3HAnqDf1y8\nZc8+aAqTXyNrtE4GXCzcdV737CGgxRR+7rNkqEJC6AVNhzGWcZ1QPVyQQFeG\nNTPfQbVWX0rosqsMGles8puRBIBlzp2mkDoMySTg/zxeJdMsg9vlMwtloelk\n8dWFJFL4bdt7s9B/NQfK7CadP1RQUZzdhzdKuHnlEyS6gYlEtNu23zJnjC5L\nSdEidFNV3pajIsYxpaiQBKGeVtKjIOLEbiFhYFgsK88w7Apa2Qi97DF8jstY\nomCh0PUZYczr44uW3NQ0OJghDDQwJ9dYsPVTwAUdPNGOpQ2mE7ysXtRaS1a/\nsMfz7Bk94Udf2Q0Siv0CTTdrpGYLZ3wmGtVi2V9Chc4mjZ3oSG31A60XI4nL\nsvJ0KPl3gnXXO3unFgXTfm+9zpL8zKnFXDTFFupCGcT3rhe8wrDq2DrTq1LI\nJs0R\r\n=kgGQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMm6+Z3wW78S2WkUBV8DQ1DLznM1zJlQajz7Bfzb8xBQIgB9LVcJwQZkztANsv4BT5KZ/Yubhiy//zWU6eAa2y7lw="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.10.7_1543258357174_0.5974377200357492"},"_hasShrinkwrap":false},"0.11.0":{"name":"@angular-devkit/build-optimizer","version":"0.11.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.11.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-a7nIw6bN/kO77NnWoLzuoEep8jVSDxDyXZZMjvv2+bdcnua1rsScuJKII5PjGIjIucLNUJRwdHQFovVDXRMCPQ==","shasum":"3da812b922930bf991a928d7fcf554d813a02ee6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.0.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/EQRCRA9TVsSAnZWagAAX+QP/3In26+Kvhza925UCU4Y\ntKFI30jJicB6d6DrbxukSRUawLyJ5rRz/iVaqWUaWNJxe7YhqPdV9pM4/ESv\ny13OdJlEFMCW6r0RY+ySiOglfslxexgbg/rkqzTZDST0CcFS/YGQzpY5a717\nrUPGW+RK19mkGNOgXYnPcpd4BnnB+ZohUqKit5Rb9YL8SQ2abrCu+mI0KH1I\nay0qVlrYDMS/CkN1R9A+e1xe93dhOReE7hWb39FekjAUJOTA1nazR+jKVWqw\nGrPF6hEBYfm6t8+OntuLlQGBVXYxssWAaL6zv7VyWFfilAvakd6+uroxEmKb\nnMfXvUI+is9ws0UUN9DsL3iS4boej9yqHjqtsX2mJj+PKHDqAZ30IiAyVEcW\nC8DutigyhD0117ZIxX563dtK3P5sC8Khu7FQc554yX3uEY+8KQFsRWiZba99\nWMxTGdtaYPiqdB46FDrn6FWUPbFE4c1exKzQdnZYQZT1qwb5nm8HVQYYKVOE\n7sA4zfmbSpovdGz68mCEZzSOWcMpu8PesVow7dmZW4nG691rafQ2g/8673Bq\njXbLfC7m1ti9sJnp0h+z1VBVCLfTl7V5ONM3DxPNvOXZqkU/kNW3N/zByAHV\nkT9cea/Lls3KABQgyLAoVaCKVNvu3FW+dOg5+empeF/n+0sEwr9/+Xaju+57\n+p/J\r\n=XKhD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzJHzBQltSm5EKZ/wyX4bPwE/YnF5zsCKIK1fAYX1JqAiBpII7yv7Mx/hFOOm/1VSpl+eEIoUPXR0Dcxy2KPkPk2A=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.0_1543259153224_0.6825847147337163"},"_hasShrinkwrap":false},"0.8.8":{"name":"@angular-devkit/build-optimizer","version":"0.8.8","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.7","typescript":"2.9.2","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.8.8","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-13NdIpyArS7Qym2CD0hAg6B5fuNiuicXWve97/V1VS8K7lgwZDpyrogM59yN19oBI/kerPXNiSJIhjpwF7Oeig==","shasum":"0858f0ce4a092ca29e48a6074085a36742eea14a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.8.tgz","fileCount":36,"unpackedSize":286781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/FDBCRA9TVsSAnZWagAAgMoQAKE0dPHsaUBeewOe3ED7\nuSAEdDaJg+1YDDFuJUSiDFS7DGtrz7rL0wADv7xUCDtG6Ro2Y8XCJhc+oM2T\nES7RisfjrpXbjAx6qhD7sD5H83Bl3BWWwHkg+l1WL+Rb0Tz6lb54KhWsTSgo\nuhXoJQWb6uUIHujUBY78qWUdEkTLLQUN631Vo6yHL3fHlUHtv5aW26/TyrLc\nW0CsV9wLCtPOA3i6bl7pIcsvbXagtSQ/kzr6Idjme/SNVv7i4WAIi3TQqKF0\ntLYosyzYqY2CaPLPMEfGbp8ifP1fqyXgI7PPFXKQtFRF5jaIEFyv+GRywJ4M\npKIeNJGYVoWyuwfNc+vJDEOBnfZnBvznkLE+sM6sNE6OZsDtoRvQQtRMWOCE\nk6R1PgLgftL9PfvtiRrWB/aa/WKf9p9CAQftOjlRD9S/GHiDZ4bZjRydoSAR\nMys7MIVZ2BjsAM9lII5CyocJKDWE6/VY1x5DzGy/dFRkdnycaV3+CqpJb9vi\nwyM67kKJTLZTsF4+V3/6a9Re8mTcMCwROKGQEDv2Sg4MifO2aO+SbQIVXfX5\nH/PCcbS1iaHxrWq8o6IamhgEUqjAOEm6C5Zc3LgTSq9Ysb2KXJAZD/rxf/2x\nc5ZL2QI9BTWHN220qFnkvzVL4XsW1gnMphgvUGufrxs0ijza1uprMzT/JQ/j\nvUaF\r\n=7fvz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAMDn8kUrNbekN1Zu3ET9b3qAvzeBpm6czwGeORurITsAiBOgxjtZo9mhocgWZxaIx9fl1OSAzLsmqN948WKrnps6w=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.8_1543262400960_0.9093912708151859"},"_hasShrinkwrap":false},"0.12.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.12.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.12.0-beta.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-lnprwx/Qnz1GLBaVar7Ig9XAgWmFmMcn3+7wzFMc4QHbACk9KHFeAyz80lkk0hMBms0KIAHyG8Z6WuWvY3thzA==","shasum":"4fa220fae527e0184f0e35b4bba623e296b865fb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.0-beta.0.tgz","fileCount":32,"unpackedSize":267439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBXOeCRA9TVsSAnZWagAAxFEP/2W19/09Xsaf5QBTXA49\nOdBUYqRAqmeKLoLJnHeD2Zj5/jktrI26gMzmIpt/YZgQvvEPltyuZ4QRc+46\nMbvwUJMGDogQuIGXxcYi+wHegvMvlCrB4mNYsNheXwXVkWWtcPzeAEPVoWjw\nWf2haYtmmQboeEzFF/fIrPbuX2ztiYrds2wm9F8GM5E+oHc3Yamfh+BvSwKh\nQigUJBEMIs31tEpO5cUgIAt3XOsu33a0I8qLiI1cT4v1FgZsW//28LcR5IPh\nMAyaG++/On7n/4ZB8SFLbEuDiKxqFMbZQ0YBvNmaIGNmvIpBN5EOIdHHrJF5\nP9XvhAYJpmDkF4I2V9WBGok/UW6oAgkfLX/tA0BoWdSlIqeYXmLM/NbmqXZY\nrHf/nv5gFe1CMbYD1RlUJZXO26agSJozHgSDd4/zk20CrDAQvKCzmlsbiVYG\nE3vEXJ30BzeCU2E+bYA6ySG5oF+nD0nd/4ei+ISCb9RC3lZ1mXVBhUCfm10+\ndjrtKZ4tPnq1QL32v+jWG7IkDDOJfjWsSlvF86F829JUnSk1kdYkMm9NXfK4\nX6m00lBKdOjHGNLJMrEgBqXvi9R1wBdS6NuKHrZe52QO3B5s3Feud9bsYCue\nzOE4ISfnrLbgKLwYl2SFzpSNfu0BjFn6zuaMwI/Vl/9nX/HwbJfIW2fou6XP\nKx+3\r\n=POdh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjMQbLCU/7YtS8TiZcZ4lkxqWhaepXkRjX5ESVBXwOKgIgEgCmXrbSzkZsNAbqMcNdi9gdtkusSddllzXbB1NFRUc="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.0-beta.0_1543861149617_0.021605973227658337"},"_hasShrinkwrap":false},"0.11.1":{"name":"@angular-devkit/build-optimizer","version":"0.11.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.11.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-pyFP6ykZf8Iq8nRkgP2XKq8knpIG6ye0qYklnBC9815AC5RAO126Y4fmtd6tnH+5p1mQxnt5HegG0j5xOCgDRw==","shasum":"1079737a44b26b39e35cea7f966a39cd11bbbf48","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.1.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBXeFCRA9TVsSAnZWagAAgWIP/R1gKD2NdSOmbqBPHQBJ\nzfYfiqgJNm6WGu9P7Yj1LJ34oiQhahtZwe+hPOJacpFOsJHYtsRlrK2++fnb\n3ZGxxJWMLraW/kWjh6lufd+0uqdznnfgQwqq9KeW7/2cERKObfbc2Vxl34H3\nmBNTG8VNoIXmvv5q8mhgR+3W7DK5jpv03au458fHfpTtLKFQLoy3cH69uGEO\nuQaAOPiB1Cyn9AP6XZ8s4uy5csmqUnx/U6cOUklVnHn8FruHSsLd2WxyEEOy\n1FIyG4ZLE2CAoTVcwP7yRyvR4voqvsQlPMff6vawRAgtAwXuYH3LxG9xQMdJ\nwK862RUiLoF7zsBn13ys7t8D6jmltfw1bDlno4NaYzoXsKjDzgpADsMz4X4w\nRPyaFE1kkvvwE+WTVtXEXGfWeCu5eRsFMTbpdY0J6VsJKPWffkWSSNJlXXEH\nI4iW0oQxKrF9FTAL5upBw8AoGlwCsTSbnDgOm95eGC7rFvXwZ/dicv4XrKC8\n8qMbs07NFP0yf+1c6OZYXzHW7fTeVW4ez6RyAEeRUA9XGdJ8RAyV9fgIVP40\n75z9bDF0NzixBGea3yh44EABAru0RwRUd+JXaTPUYBXuO/zgKrNvFf8vrULq\nfThqS2QtfsD5eZA+FczYRlWFqotwkfScCqxfg2lRK0Su+AyDzaoEsmx3Mo2K\nyBoN\r\n=kE5t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBbL5MJEV3mOF2Kc3IuW1n4U/BbXboh4bMubgjqIXIM5AiEA4V9oAiFfK0C4tuflsQaHvefc4HisZjT+ddeVfvFS9S4="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.1_1543862148832_0.6336722954744267"},"_hasShrinkwrap":false},"0.11.2":{"name":"@angular-devkit/build-optimizer","version":"0.11.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.11.2","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-NPNcAe4yxMEWABdI1oqoW7XA8m5O3Z+Zs9xsyBgwCCpFr3ZXiIL0r8+v7qS5UD4Yjsxjx35BJhvuiI+RBmGSfw==","shasum":"93f18d732fa1f12011003b245e0209f83e2b63d3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.2.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCZXdCRA9TVsSAnZWagAA9eIQAIhfoqM6a2kuEsRZ2hfH\nnhfS7p7lLbJcwhe/bVrUhPrn6XyLMgM1pp3fw4RI+4wzm/KCxMvH42XfF0Ui\nB9mVRcKhfo+BvQiOwdfJ5HWzBvi2xTRT+M9YllBkRwVqqmIpfnrVWGv4pWH4\nOGdKp5KM7KIaChL1HR9+f+qDu4bbW9UuggC056Gl7YnmAxEQ3B9kohWlCh4n\nBTkjh1Zy+LORt4DowF34VVPIpSyPgsLXpDcxj9wklzqDFudhn/GtkkU7P1Vv\npJ1/IgaOf/LDATzSh0BSSYYLkCLVwFmnWZX6blLXBCGs0sAgTjt1Vk6Nvybz\nXPIBSkuaRlCRWnUjfFncpxd5HSKp9ndk6Xhvw9Iy9o18YllWZguAJ9AtTNtY\nk2cN6ubPcVfLqux/3xB0aztRwNe17YPZ1WlANGkAf44yCGhsWUVdIucxJngc\nMzsASCK32l5bHhczHa3mKyUlR5SZwCxIMKfBQdl/pY7j3yvFL5lwqE2JyYG4\nVGxygTPMJeYTC1StyvGcGKBVqoC3/X8hii+rEm7JS46rVePrwHJ/MrjHCmv2\nsDWUo0F9CzgCO2imR3F9/jXFOO6OyuqgJVhCrflgbvf7tYiVSHyY8qJNkBzM\nhbGzUnyRfmwAy2QkbqrCMbtKVAh95i7YctY9gBN6nh/eSvh6P2K/fMxpNtAg\nv/mf\r\n=QpNf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzvANMEPuE9WLMxMqn2BPo53DRI8xP2P++2K/MxzBoDAiEAzH+Sp9bvHthMBmEOINuShsj21my358JbuAPN8YTcZ4U="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.2_1544132060716_0.6879022857590806"},"_hasShrinkwrap":false},"0.12.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.12.0-beta.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.12.0-beta.1","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-brtoNgmzy4V3W8Bq2G/udHAHFkLH/7quxLMQ4gnaP/apiGIHeoqcSFXhkfowbJhCYq78lN7nrtn2LhC7rs/zBQ==","shasum":"a0c7cff112b37663eec4c43fd24684f406da7b35","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.0-beta.1.tgz","fileCount":32,"unpackedSize":267439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCZmiCRA9TVsSAnZWagAAl8oP/ijO4+TMwu8ej2gg3+SD\nNVZgOUxTHl++/1gD04tfl/gMSxGg/DiRaVHzgBpRGtVig7jSqT0zC9pUuTsT\nYmrcga53jtDIso7K8uFS02iO9L5VUasYshqlqLSIxZDS5FwJzl0dUd/Cus1r\neoB9HJOTv0K7+Qt9+AFLqNmVsfoOKJx+pmQSja2cmeZsjYgdECO7eZ9G3zr9\n8oB2ZaoqgvxSnSQ7NTBYTORGAR0ulzAODgVdI3jeUXl1EGp64+kLQ5pu1D5Z\nRnToyWV6WKqTPivoEvL0cr0chmV9WuzaJdN662ymkmkSrop2eTU+Ld/h8Cj5\nTNgJxL55EJvRMJT8gmxQovzqH75PTCqFlhHd0AC23PvjbdY44Zn+guZ7ac6P\n6VnRzy9/o1Jh432q3RAOroyIJ2UIHMHCXJvYL1hU7PApIp+EmNys6YdePuHj\n6j0sEAjxR8n06D8kGdfNdNYBI3k5v+wA0D/VmoYuJi1fz64rwf7AX4l5TH+t\nhBCP9qKqY2VmhfSQx2wlnCPanpNQJFcE/47R7gze0hregQELJI8q9rvN5R9d\nmHwc2pHJxNbQLZeJdbfSV1psHtL9WbFdoSitiDYeUtBvGjdkpe5CCZ5MFSY3\ngDyqeYGe0cpf0CgKOCop2jXSWLUFHn21Qh5lNAq3abdZDReUi5IqgB3D1DPx\nhZT5\r\n=eqNn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrllklSZMQGeQ55HwV21UR6GhyErAdQH9OlYsZNXGwlQIgV2xz25B3u1R72tP9Pr67ypSbNga3OBIeK6BaxwVh7pI="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.0-beta.1_1544133025805_0.4149315536299205"},"_hasShrinkwrap":false},"0.11.3":{"name":"@angular-devkit/build-optimizer","version":"0.11.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.11.3","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-CcRKITGpw1ALwLlU090ZcV1R18RTT4tCk5lP1abT3Hr+ql41HabS4GfRlCb16+ugpi4TWWibmBj3xehKGQaVYQ==","shasum":"274e3a31917a5041871d28310df22d03c4690589","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.3.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEWLLCRA9TVsSAnZWagAAj3gP/3uXOhwT/pYseEOUmg4P\nLCQM2ahUyrfguOXZjeKAsRyWq0R6lJiV2Jg3rPdcTuXZdha1vUErcLF4lw6p\naCLBDKnPRB3GZf7udCfDo9TTMxuA4rejefoD7u8qSBoK78BDaabcSTJfNJ+h\nRttViyaY7ChnRJ+qgv8SubfgSHrzrW+1itMCR0Xrho6UON7ILJJrCwLiclCs\nCbY42JtAmaMctpxoBbbUWC3qvBXWSFwC9r1ocixPIp92j+IpJGnWT97cgh4R\nAOcGTVdqr2XRXrjK4gKFrKeOEYuKjqokE+vLmXtM+DsCr9traK36JeALD2iK\nEGd5yl2FRT47tC4TFO/ckxzU6pfWcEc1AmO5FDJYUdeiGFItnFXsHQcFfUaW\n3iGBlWwcRnEiEzSgUA/NJTMyDsDTJq9Vn6jhGW/XE47IAI5zkaiEtqIcfV1a\n4n1jfOgjuzJcVTO9vLrrrIKkuLDX8qK0hPPOdpH87dx0Wo3p5NGfqeCZFC1c\njnQbJ+2ZnHrqv8oEnfIw5vdWyl5QK/G+//NeFmBp4M+C6Gd4Cx0br6/Q1Gqh\nWUr1DFNVCk93Qp4HklzOF6doRFwh2XlUSWf8h6BwrNrNa+zJMP5ucrPIRh1z\nLfSW2mXamQg72T8deP40uvUucf3r/3E4we5blY+jeFV7+ehlai0kL8UZZ4Fo\nozVd\r\n=YvS0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtjQ7mTesxF0KX21NzqSwxHJxaAPxVNhuAX0gGPGzbIgIgAVZpFOSNJ2y6bAzVRNGwAD0G8VFpKSXqerP3viBxLUY="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.3_1544643274086_0.08953509968191309"},"_hasShrinkwrap":false},"0.12.0-beta.2":{"name":"@angular-devkit/build-optimizer","version":"0.12.0-beta.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.12.0-beta.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-8zeOhd2pPMCyoriBPyWf4gXrTLA8EE26lGHQiBNCK563MulGS+7LWxBlD2chcamRh99jzVCveUK4g7G5Kuc3UQ==","shasum":"0b25d3cb06cb66ba525b9e5704e8b19c6e911ad0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.0-beta.2.tgz","fileCount":32,"unpackedSize":267439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEWTWCRA9TVsSAnZWagAA4LAQAJLROKvIaoOXtTb3LMiM\n3/pw9tOj05+0ccApaWUkmmwf5LZ90S5RYf7g6f5Ug323mvKqPydXkPts5cyl\nnsEXHxDa+sqkyAN3LkHsjsROeuAOttm7pGfxMDr+7hT5nU+YwrAsW+F47i39\nkqVpCMtqwVFftElZkBuhM+lIfxbBsXyZa9Qw2nt/QTTiK68lo4C5yuF524PS\nyhWj0YV2VfxDQlJdfAt7+CPlyHqHmgk0ouRmit5Jm91QioIQb7m0WplYCQsg\noj1/gFsOuDZgqwMXcScsJT/FvrSagJ5kxjTaZdpiH1ec213tNT/tBhQ2qnno\nC+Jzq87+DzXKe5cPmceHG2H5HUZVyqCtXxvME2d4RGt9L2mslnB6/GxVFxTl\nfJ6is1ntdgHuJeEwG2WviofIl+uV9cTfG5+fkuyhn0va7Fnil0rz84764Qeo\n1UZgzc0AOBHPvbRyb4VRc1Ai9dNJZKnJuW/HIaoo6ivvh1aiEisJ+Iz/jn40\n6b4W5PlV51vOe4PbKrg464xJ95yebII5rqeNVOGjp1+1FrbD3TDOfxmrsLC5\nE7TE0Y02FQOW0JMChKG1UNif0dmERlZ4dzCuEsQAG5sNuOIk1lvJvqKzhTeC\ne/NEN2CqXJzIeveyLbQ50kUxsBag+Op75ROcUoEJanN5FfRIYim1oBpjCmH1\nuaFq\r\n=0OtY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF4LaDtZNDrDOO+YoDXAEbzeEIaKJWRnThGaOmigUnPuAiAz20R5FuatUwWgvQJs6lm4BQNCI+rJPS4+zvbIGY6f6A=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.0-beta.2_1544643797490_0.48254284460013497"},"_hasShrinkwrap":false},"0.11.4":{"name":"@angular-devkit/build-optimizer","version":"0.11.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.1.6","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.11.4","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-tAAWWFCcl918Q1JivlLvLFer8Qm4/THWbEneMwk5fQvG6/NgJLoa3itP/MCUq4qL6YHmp2DWkdWnWfRQCgHeFA==","shasum":"d96b0e16a76f3825f173220a2de5f376fc5abaee","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.4.tgz","fileCount":30,"unpackedSize":265855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGs/FCRA9TVsSAnZWagAAfiIQAJM8L3wsiZR9KeVff4wy\nNWQkbN6B/5O2mcQgvDJhRceVuUbTUER4ajXK4t7ixeqpOUUZllU0n7c9Q5yo\nKoY3vLRFEmiv8F5a9uboxcxe3Z+8Nv19SxUrLRlUj3i2tB9q0s2qcX2+frFf\nAY/qmErP2JS1FO6309R9voXOzOusfTDmTIf36uiDuPHc8cTx3B5BD7zHaSdE\nfTJsZqhHSaYk13RDtQsGOpkqz3y39yVoRfShzj/DHqCaQyIzVuxnEH6Jx2lY\nW2fN3dENlKls3+BIwQxKcEl48Ds7bYIJ7D4MrFo5o+SO+QV+TSJAJukPbF+C\nJR6pPKW9pn+PbERM8Rd4UnzVihnu5qK9qQXV8zaWSOyBC3fC6oYMjPtcdp7q\nFSeQNdyzvUbAYfjOuHPNZx97FBklFsEbQudLFa/BJBWT1HW946qj+LK6JY4z\nbWRNkt58lodmOS2IWX6RVzutwEPljQWqcE1UY47pHKh2JHyqK/XZFWKpNgoZ\nqRDCe47xJMwBXoJCdTGlS2J4Dxyr37RJIbk58TVh9kto30te2hg3R28BUqJa\n6OOJFx6zRh9YyM5HEUTnO7XkrKuhTjZfOwMcUKo4q+AVANTVR0LBx9qtKSEj\nkQNvRabe7OIlVMDi9UpaR1hdejk3AKsw2MxLAzlb8hZpfIHJ+ZAP9nfdhJD/\npq2/\r\n=ucKC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOaKa6nJMZ3jemin4yXXAuabFfzJgif12w8bp4501XOAiEA+QNKXBw1lAxXb9TrnfEM4TRXVz41nWRJJX2Po3sDffU="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.11.4_1545260996760_0.028166583686619173"},"_hasShrinkwrap":false},"0.12.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.12.0-rc.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.2.2","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.12.0-rc.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-IlZixc5NDyYNH6S/LRw0/ogQDnnMoKJZH4GKLDT/mWvE8KBNJyoOvqPFBMC1onPqaHxGz+P9B9kssTkFvsITnA==","shasum":"7ed2f9d4b32a98e506d17356f5dda5e26526da44","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.0-rc.0.tgz","fileCount":32,"unpackedSize":267437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGtF5CRA9TVsSAnZWagAAgcoP/1qs0thlW8cO6tcrEJOE\n93VtSZJePX9fZCLbFItItCtR+vJw0x5u2vxNtbuK8c6c/HgNqCwoI2LdbGrR\n5LzHyu/CvZdNAON4LB0pu7zkCIf09ZRbFZgMZ+/l0AdQpcAr0b51lw8tXvZq\niN5eH1L8gMyzzwTDsGeUyzf4Vt7QBI+cJJy2lCdZnQ7kdBi5Fx3J7RBaXszI\n4lW4oPMG6XfDqSA8Ootnd8KCn5jnZRkYBSpKgNeQP/mFv3v0zInQt50x7DQQ\nZi+sX6cJtGw/OopzvbaPpJezzXRRF4PerSuS/yVX6E4hWsEbPFNVJmjd2TDE\nBcL7QN8I95mpn+BMc5UP3BUIuWyiV/lQKVdHwTCjpOHKP/UktLvVSCqBAp/R\nJXPu0K5+auclXGbxhM4ZhuJUnCJTpshL5mkIYKKaU5gsCbnM3LYSYlKLgl7/\nf5UVfQNkrxJKw8Hp4XyaTNScKuKTvzR4NIfCklWiswRYRO1+xI2+xDcgErNW\nNMe1QsV8L0nMuSMLgYHpBgwtRw27YpAShF3dhgBy24JpY6wjyex2AEJ88e2T\nz0Nv6PjvL6fHRHo27zkKBy14cxELXpJYBK4qCDv4On1GS4/xTyUHqQuRirzy\n1wGgPw1RzpX4m33uSbz/tRd8vtX+LdLa2B4w8diJ0U5VLLJuOsBzoY+5pE5s\nP1PL\r\n=8m75\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsGBlaeM1SslN32y2TghY4ElHgRi1Qg4XKUTqZCU4I/AIhAKxSsSP9Rf6k5avGPv9uhlkfYvfBtpcIbJa2hiWLWg3R"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.0-rc.0_1545261432867_0.24487074691419997"},"_hasShrinkwrap":false},"0.8.9":{"name":"@angular-devkit/build-optimizer","version":"0.8.9","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js","purify":"./src/purify/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.7","typescript":"2.9.2","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nNon-transform optimizations are applied via the [Purify Plugin](#purify-plugin).\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by [UglifyJS](https://github.com/mishoo/UglifyJS2) to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\nWebpack library imports are also marked as `/*@__PURE__*/` when used with [Purify Plugin](#purify-plugin).\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n### Purify Plugin\n\nPerforms regex based replacements on all bundles that add `/*@__PURE__*/` comments to\nknown pure webpack imports (used with [Prefix functions](#prefix-functions)).\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader and plugin usage:\n\n```typescript\nconst PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin;\n\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  },\n  plugins: [\n    new PurifyPlugin()\n  ]\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\npurify input.js\npurify input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.8.9","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-h8u5iAhSmt0TsLDZXZCmOkXZDMgP2itLkgZvOIsGInyMAESJuWK4P1qegMSv2R5ELOsinJiuhe218M4K2enEdA==","shasum":"926c1b23140cf2b4421a39701766d845068ac493","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.9.tgz","fileCount":36,"unpackedSize":286781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNR/mCRA9TVsSAnZWagAAJfIP/jNBB/fCX1kBHnHmHA56\n3NG9tWjsRK1qb6yIREMsPIUg/vYh5PMrwTeCHDeExsAtWvQN6HINyBVsveKm\n2YHQB1rRl+TecPQLKM1EnN2+Pvlg4befXA4jINj4aUkhnsf7xo+/gm4Ck4Tz\ndEvI2vYlmuIo7bmGEfGR6TnNsYI+QdDKC4WqneB12Hwl3S4JVOJusoPjbTXr\nfjrU2r6tlU6jW/g6shbyS2/xum8F/xx90owgljufBGeDm2MZQG0f+mOX4w7G\n5KGmqUY0/whk8Bu1Lrvb+10uHBpIIShVbkeqKMm71Bn610hLURj79vhtTzId\n/AIg5HktbthqRp45QwdKSteKaFLLVQdVhWW23HEKGrv8Q3QfG3EdVpErtwT8\nIlxSBtnWRYdWd1726NmDHtT8kEgnqt++X3pCnDrfvciy6hjiz/TTyDaKPXAB\njnXsxJR+iWDx7xSeekaOWm/Ow0sh29wxSSb/4tQzurIKfZ86cQoM4D3Q18LL\nI3ODMoWx+FZwcU/tLhZ2vl7iNwAEBTQu3wmIZDSJ+zS5gurGXMHdOwNjqq/x\n44s6CXDjpKqSfij3kPeWw3mEfo3K301mc06RWsITz1mkwPYtd8Nd+ltKG3AZ\nV4qWRY5aP0/tAmMGY36Rbigvm3mTk9hzgrWitQFwOUobOik68os/4DTCMMrv\nS094\r\n=VPEy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDakll91TA9TYelFWDGOUeq7/JCspe1MDOQnzfyEttPHQIgT2tcBtrcOAxdO+Vd7sygtGE2xP7ZuzGYZqTAEjMSffU="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.8.9_1546985446334_0.362668693077669"},"_hasShrinkwrap":false},"0.12.0":{"name":"@angular-devkit/build-optimizer","version":"0.12.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.2.2","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.12.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-EW2Ky0pi37x/3PBDh3buGHdekYrB/EyN041o59KWytvvWWCYDOv0RTjfXZRg6jgRZd4jLtnfcMRJeyBKo762GA==","shasum":"52a327f8f4026c681c42e60b66bd622e1190a81d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.0.tgz","fileCount":32,"unpackedSize":267432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNSITCRA9TVsSAnZWagAAGzAP/1Rx0olSvkBsGVfLT7Mz\nsGPAHUDGsLO8EpKs/gBzslT+/DKI6V/+jKEaejQED4nRb7MYj4rF9ivmR8Ia\nW9vHGtJ+JRgHgatDp7PBl2ErqU4jhJUmD4c3grZ1swexfTuchXQC46Lt83ol\ncKptiU0Sedm5r8OT9WPB0C08BmUSc8ZC16hRFIBbPVI3mF3Ar/gqQggPqNBc\nRShSKVdDB9lWo6bFa+ZoK0pXXCuVKmqFDHzJV6xtZKEeKD/++Pbx/3iQ4PZW\nIVZ2s8ahGblOyX9NQUdfOY0oVtLUIRI+BbW323qo2OxPWegaQ13p+ZN3f2yp\nkorLIL1OA8KOyXmBW/TCfiy2jRWPyP0BudTcKq39rPP9mNIkCZlqOK/VfQRj\ntyHmeiTu70yYEI2yfAZ8WdyFU9u2xtrOf/nWprb7L76toWZva1cB023eI6K7\n/hsNAk/rP3yLH61kMCc6kIl4gC8HHNe443vKppyA7138+3EWUjlx8ayxNNB9\nxXMJDG7PpBo/KP/Y1MHzLP3nU+Lr6vo683QysmxjIKJWB0rGmDHncEfHXhQ9\nUXAm+f3irfGYcRWh11IXb3mgyufq0dkUAWMGmjrrXRVfZdkgUQRdfclF6q/m\nx1dixpqTLREfq3P/PFSatGUnavbaLOr6m3MkWNrpLOJW42PkCDTxzk6FAqYm\n+ZNS\r\n=3Tvv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCs6KPgCk1xtTWZqgvAdOmDFXe3VlKijsdEklcTt4DCrgIhAKSZjqTDokQHMQZC4sVonDwL7/47Nb3IR4EQ7zZsnofY"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.0_1546986002500_0.6811956809319308"},"_hasShrinkwrap":false},"0.12.1":{"name":"@angular-devkit/build-optimizer","version":"0.12.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.2.2","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.12.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-zYea22pJ5kvMud8UBrdzIcR9F1FDYWJ3vwj5WRUFM0sF7mbbrmTC+OsIvNI7qDJuXWNZGySwNlHw0e+rhv30gg==","shasum":"2160d75ca7d43fd91402538b0f5cc3a7a1037f10","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.1.tgz","fileCount":32,"unpackedSize":267432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNiolCRA9TVsSAnZWagAAaW4QAI1rp16JTN2YEgJ62855\nlXjjmhEXvLMrEayjNqD0zvIW4Xqv9wJSMg/2+E3/cnbPqDGGea4SejhFj29P\nhWVStkha6nz5fh42BMe3MGizAl31ELKrDzfYJlc0f6HTQkJrkcTnMWSAh+pC\n1v4AfOyDiHBjt2qGXiAYNNP3iKxLuW6pAohcXsOxIZ9bZdGnU+UR+gnFkX4q\nbxD1016EZD5esarlg4/x4k8a0EVm3GRsC0EphLgjIlfmjIc7Oi2A9Q/arQwU\nvIwQwM6isVWlLz3bhhxujfHN/+91iDFJY3e8xP/giLmhPtGSgjHZ/8bdH9WY\nLAhKIRYK+N3X+5Zx2eFVTTW6G2R/ntvJenQckWU8zG2HgDclLcDioALpRgwr\ngs2O6uqLxYSD3xdCyDdlZk00IppUNSMI9BDVupdsbYR6BEqbGHZpSPFVgs21\nRdVvqsdhNOgckyPpJNJEfhPdkqBeHpQox2YRciavdVym83mOBIJXSgdKQMu5\nal6FHSLOmvb5iu652VAH3wIqF8+z93I5aRHRKzeXl2mgArcgT3V67Goz1vJy\nwtw5ShIfk9jrtcU8234A0bQ84dtrm75+LGa/2eF0cEHLnzdp91IdqKGB0QK5\nSoEYxETu00EBWYqBd4n29RgglrPRxbuTs+XBQfK1dS5a0xughW95rHbJ89NE\nvYyB\r\n=FoDN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWYJlJqTnacBorYiI7OsAyTYqGJfiEryTpVlHlnW1G6QIgBxxD/5I+neUy9PvngYmurpLkOr53STNrrJr9Nky3VLk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.1_1547053605101_0.8122973302395449"},"_hasShrinkwrap":false},"0.13.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.13.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.2","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.13.0-beta.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-1WeLgkhYW+wCqvigk87JvU/lQtsa9UmyhMtdkeWOX/zc7rf/ke+WsVULgvtrzX2Fjp3UF4M/8Z29W/4QT7FCYA==","shasum":"0de689a283beecc3037039a9140e9099ad9d98af","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.0-beta.0.tgz","fileCount":32,"unpackedSize":268359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcP8+TCRA9TVsSAnZWagAAC8EP/3GI5PA7AZkyfZ0g3rKm\neBTzuWsFmrlJdKhR3odJgEkOVN/sutCXLrTIoILTaIFDOgM4PXt9ASjEDkvu\nak1GmKQlBiYe2fnFx0PdwywTzMjeRlPzlHXgqY6m5TIjiRR3TbUs2nul9L35\n86OsUgvwwfnuJSYCRfh0LlMUFo3kW2eYjLRsOTLz/F6VIZp8vS7jHzh4wqr4\nlpVc+w73Zi9guMZ64i/8F225sT9i1V2/OPFgr+GpMflhj4M+sCOr8M31jcQz\nZpLsy6YaMTDaC4CAmiXiNZw61IftNhlM4MkF6jwl+VTiDvPneIPQ2Zc1o61F\n2xPNEiMrCctus6MXevX2JFChhRFhUnaaMqdged+ktRUSfXuT+Uo+HKvZFmsd\n7ADzAdkCx/FyXtxqkM5vofpNm+1WkJ/I1sIVykCVOnJJAQJL9aLTmYOYs1Ru\nsoxO/jpsvEn85WD6LKH6Kq1QJY0BV+eD3L/yofNNE/nohYk5+YQIvlaHF39i\nmkXZc3LHxoN2GmSzm0jWJ3V1nwrhGyH+3Bh9xYuCZXMQPOUt/eI0QV9O6LBy\noR+oejW3w6Z+s9eMLr1VdVAQvtPR9DpM2OqMtxU8RLNjlFjX+CdH/9MjRXHZ\ngT8juwi6UdDdU44YBwZ0J/z3U0mpiShEfm98u3vGT809ufUPhfi6WSTGRlGS\nSIL+\r\n=b6tW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnrpx8HCoCekrigU2N4Mht0ROS0VSo+fo/bcc3rrZi2AiBwTkElXvnoBj2SOb73f0jPxMa/qjmd3+SKZgV6ca/amA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.0-beta.0_1547685779198_0.6896354592894722"},"_hasShrinkwrap":false},"0.12.2":{"name":"@angular-devkit/build-optimizer","version":"0.12.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.2.2","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.12.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-5SARSE18X5/churU0Qc0gOfDt5EwuwKsJmIA7hHBzi44iotQm5c8ea0q0acua4/U4K+jOsF6A4Faa08Vr2624A==","shasum":"c35f4a67a2304a4deeb8e5d2e6c1edde0429c309","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.2.tgz","fileCount":32,"unpackedSize":268352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcP9A+CRA9TVsSAnZWagAA+M4P/jc+qMdGWX+RDtRhB+BZ\nE51XP+lYXGTCMPvBxI8t2bKYVvVI8pM3VjbAGe1BKppAPorF+ene//Il/BUJ\nEgyy4KRBvPyk52i5JwZ3CvRPof8Pd+aRZfZWUhdJTpsXsAaHQwp+vhPBWIiJ\nFJtivYMWKd4ZXNfGB9BSIgWUWPswC0JXHvtBrOX/h4zUosIzon9UyCjuHtUV\nFvsKCSuv4ZF8YNAWtHjPte0QOLmz/4dcCRTmNO5gLrC8zpb6eCPRd3jjCKmA\nX/g9ynMpVb3n+nGODRomOx9en0YeO3EVii0S43hife76VfXxlJZeEyFGVqDI\nc0m+EuW0SeFDAXsBIR6cWRzreLCFWg4VrB++aWeuZWx/mFI+Gf+mDlgjW5za\nPStlaQ4kHod2fJMJ1LFWr/icdBD/2Klba14oowOiCHyS7P4N80qjuL/WQ7Zy\nOuMHFudTajjhfhPL4dWMnTTZf0au4Jl8wVSp2P71+sgbo2HOxlyo2DUhTVdx\nKfLL7bOOi4y8pJSg0KYndMksbfDCn8J6lgUfmxucx4E6cZFGwUWds3I3oARR\nZGfz8PVE6w3Dlwcqdo8D095X0jcRqmrOYgGq9NdYGJfuDrUYVXJ5kN3b3qTV\n0oEZgd1II2Ium3kwtPVzej5YTtC3hF0JWU/5+FX4BNty9EAOX6M89ji+2mmz\nAAt4\r\n=/nJR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz4emwoQwaI6wHxaw2fIOAHJNqTDz5j1QHqL+qpv303gIgXItcAWZEnY4Wa9gaTHpHLMkLWT7HPXnSEe7LS1z/tMc="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.2_1547685949516_0.1665454250542513"},"_hasShrinkwrap":false},"0.12.3":{"name":"@angular-devkit/build-optimizer","version":"0.12.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.12.3","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-wwukO6SDP/vPxXwiW7U58EeU1xwylrrEiNWS8JTwkBE/AGQNt0+c7ExNw2ViKL3oBgSpz/6YY2eGrv0aatzfIA==","shasum":"b8407abb03603ae792adb61d964ea433204dcfcf","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.3.tgz","fileCount":32,"unpackedSize":274765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSMPBCRA9TVsSAnZWagAAe7YP/1Mho7rj9fflPG2vnTGY\nooHgeYZmHDi9O3Q35fXbfrVNsIS9BblpnfineyKzNuZLR/MhgWn220U6Ecrh\nd5vIyBljiBUmAfnHZv3fnT6QnC3W2dx3F63wvV1WghHprXEmA/rvGdoGLtNr\n1Icl4TR3Q6PthOU8bh1E6iaf2kcaF+xUt3KF2X763d8n0Gxv45UkNf+8WKUF\n6f+6rzNGzHWNMIkYpdHKxh3YQLEmdwJQ2AlgAgC7VwOqwlDkm6DOzeNgcJ8u\nqT5ofQ4YyjwVsnN5WMPnsrJVlr1KqZ5PBmCFdHS6fm+HU+luto3VrIKdeOfZ\nXmuXKIWiilb9p7KPVuG+ONy70tKPxXxcfsZ4dICEbTQmutAb929cfJ9hNLPK\nY1MnjczKViR9HdGN+7MkNpK4pU52y05UYKdhCTj1zjdq2/l71gko/nyq+ntr\nc5CEc2MZ4+r45zJQRpT0NVeLf832LJUW57TDnCt43d/A5yfe05luguGpmr+5\ngr6HR+W8sb69PI5LlMhLC45TaZeU6xP/O4MXE77aEeG5fjNt/trHKAKQYZEy\nBfy78XN/AGCBdMjiab5OZ+lEkKjG484qaSoxYwiGFN7hMVsWqAukuckKMesu\nx2VMls41DEtDcdmSkXUeVGK7vwGXVXZV96hM6AYx3zC9LGsDhkeQo87oYapy\nTdsq\r\n=v35q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCK2AktKBYZfd/igNHNY4g1KhFbfw6OcrnWekvxfyNSBgIgY101V/TDuBkuX493hjXGHWMmxhJg3v1RcknGQN/DETc="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.3_1548272576807_0.552518096717094"},"_hasShrinkwrap":false},"0.13.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.13.0-rc.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.13.0-rc.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-//w2gYH+sPNmbvWyYPdcQYPELQ7AmiEwHQNCSnGmz6qi/AIp5oPc7VjNPz4qS0hUWJlFx/3gFYXUXa+KN9Tmeg==","shasum":"d98280381e766eba599cab55e7738115c3bb53c2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.0-rc.0.tgz","fileCount":32,"unpackedSize":283371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSMWnCRA9TVsSAnZWagAAdmoP+wdo3YyZEZBILnlQbAbU\n2Qh0EdlWz3ezXkmVy71IwnaJqSicS3JWjYEcdgXehJCaadM5r4ZuxxCNz8IX\nBAyWaep5J9UPRKlkJJsws+tcBBM+syAgbtYRIt73XvIHpdPpnpNYzDBRWpzB\n07EQfqUbBq43Wax0gsZY0xAVi41BJJlIjKWd+NrasNUNUsCdr3Zj0JVr8zad\nXJBCUQTQhoLLZRNsk7UNmqvA4B3lYXQzL8GslypwT5zyQ1EHQu3NZyMkp6Ei\nKvPFmySuaNpdU7yVHnmLd2jgNstj2VDVhADOIalXTHnEhg9Eyw3K6u5C0hGU\n5BLT7rOPmJCKt5I3S9WUrN4Swx+P8Fg0ehCprzu/rmcJnLRSromwV9x1afpK\n2hbQNM9876EJ2P2qrFVnmX3k09fiO4uBJGrEAs/CmGu/6R5gq3Tb19TnC2XC\nk/GUx1G+fA02jTNFNTAJqgXJbgJJoJcPFsPfTDCiIKHndiob5pxNAckRdNUK\nqDBSa7q7DQdwtXlzkMmdGaHhilBNOmHOhhoFkTD+XmgDqqrwWuANUNrU6WIq\n+pDDNcauNKY2SObCol5knXY4/eLV79SJt5/sIwREja0pptwWht91HDjxMzmV\nOKvB3PgiJ9CPKK/PzGSiwlZbvx+f8/pWc0kyweJOPbAeqsyFID8hahaedJpN\n5u1f\r\n=24qG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfi5xCPWEO2C1qAez4qeUXLbKJBBuRpGn0EwCBHNrOiAiBxXZqKanpmJya5sDjk/uGY9utgUV6QpEH9KcKOrC6VpQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.0-rc.0_1548273062800_0.6443115637140231"},"_hasShrinkwrap":false},"0.12.4":{"name":"@angular-devkit/build-optimizer","version":"0.12.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.1.0","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.12.4","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-KraU+ZARX7JMtttPjOku9wVF+dnjMsIbiIVsQrNXhpFiGT1fSJhQTPxc98ONgEmUiGROFXXq2mHLilvMr2WdwQ==","shasum":"a78b9084f379b41ce63c2ccd3c6f889a9b2bb6f1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.4.tgz","fileCount":32,"unpackedSize":274765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUk4ACRA9TVsSAnZWagAAKOoQAIN0+Gj81iER6LtxNhaz\nFH4DhZRVH+IGoqAJ3hJwq/AhRwWjyR0HxDwl+sLeqedsbuq8qVmXCRHsUqaX\nd8OSeHZQz9wKgnCSZ+i+SyRuxNBVJ21MajKicAldesrdL3wWWWKAg2vpzJIK\niqzPyX557KfguTJ3QN4R4MAN1QegQdkrRQCkYaIIvXhHLtdoJXcaDcDjyREt\nNij5SyiYvgp9/0z0+/SPXdTaSBMiY8+jJAleXVFS1DhoFpMPj7kInfzXu6gM\nQ54yKgHkVd55Tv05y4+HlfjxpKRFVBqcBk1TgvW8lizJ50lQn5nbLJ9dZcE4\ngkq0rM752m2+yMZM8RGXshQSZAn2FpYDyqtFO19DhKXLtd/jqTXl0Upup8Lh\ntWfLdEBsyNhW8QynAQHR3x1oT3V+R/c17GvqIJ+bwM5bJh/P0Hv/Jm6fKKGE\nEv6Fp6gEly3RPlBA+eneARRV2u7XfZSGuzJ3mwEyHJf96JHiQCCELeBzByB1\n5w0SqABttCzNNnkHVCj0lTj7j437uxzB9c8qUhlpjXglWVxPGR+d1qgE17Ay\nPdWCvajR0cCWkC7Gh9Vby3S+ERXFipPgVvwNsIKmO+T6YmKyXJZyGfZpxTOY\nMK6udjIgB1xgKEe8erR1585NyYlsBUxchUZRHlKq6ogJTTar7LfSZPZmBMKp\ngSgu\r\n=JmQ+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLo7RdscnKzhd8X5DgyDyRNa0xTBJQx790sc3YZ6x/NgIhAPto9HyMU6mvDeWSmNS+NTZdPvZJ0S8iB+RNu3bh9JBC"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.12.4_1548897791479_0.09864828195039599"},"_hasShrinkwrap":false},"0.13.0":{"name":"@angular-devkit/build-optimizer","version":"0.13.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-fhWuzbMVV/UNYE7rHSKutrWTCZle34N5cdtFz6qhK1k/wn7Vmtg9cFOwzx0SPdIlOEn576NB4DS/4UG3B5WCUQ==","shasum":"e60a43076aee910f006393e3718d558d5c6b217d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.0.tgz","fileCount":32,"unpackedSize":283366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUk/0CRA9TVsSAnZWagAAjRsP/2kt5tAG0EGbu+FEHnaU\n/kRP4CIGrGwAWmjitS5lkCPUwbrJEOveOv4Cft+UEaYI7jsE9DxloqNS8pN7\nMulvhvEFAFX5Au333XGrueFtay8htJBjQMbsXDkmUV6WvWJxN8/6z0cC/M6c\nRkG3LVxYVbfgUZBppmoi4LgjwsQIHetm3+J8L9yKbE4RN1VFnGdC2CWQCTux\ndyr1Pi+Wj0VHfMMgoL2i1SP0wUBkWDwn81LeXEAHMa1qgd0ffWIWYP0M7Bpe\njPFrndjlvXIVZ9baMtxi2YDLhvYCPScQ92mxOhGuJlKbrtueH947e8tR38pR\nrUpOV9VeXDbp54emo7yVd/sk3vKULvh5/nZ/DZFohlBC2iYGs420r33o21RE\nGlVF0SDkPlPiUcP5Pu1KSyl+fdGdyXYB1LQj77MmjIGm2qepaoUrE2LQP45X\n66jwA8dHLuCbmy/OTtdi5xBe8/L7zJwZCeIkuDp/E7XflPOLe+AW06ZXREjG\nDmDiaJpXH4HDoZ5kNIQ/HoFW5Tgqhmy4TR6KSLEFj/5QTHyGWacvDntz1DZi\n+N6JUbF80K56IGLjLC8TNCxURLPCZh+Lq7rVP+KWmZ6t9S0NQ+yyCu5evnBZ\nAziWxooxn6mZRIyKEeT7VLlGMk+PIucEzR+U6dGvfnIDsW2bX12ArrSuPo3s\n+ZuY\r\n=yCHJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHdPiTHh0PYRVjxNel6kj1faRveNyPOng7fDVezL+jAGAiB/K+BCMCleXAlHEvufDnclfXD0l3LkZagWAVZWCECK0w=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.0_1548898292032_0.10383389894447226"},"_hasShrinkwrap":false},"0.14.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.14.0-beta.0","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.14.0-beta.0","_npmVersion":"6.5.0","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Tb8lyKwsTMiRDFgdgiqZqNnAUzNm0bDqHIoa89rFuryZ0dRkc1xHACDOHqjYAnx3Dc5Wn+3LTkdLo5MmV2sRnQ==","shasum":"2c55ecd593437871713bb92896a0e54858c32ccf","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.14.0-beta.0.tgz","fileCount":32,"unpackedSize":283373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXJCpCRA9TVsSAnZWagAAHDgP/iWHrlgNP85Xo4oig+9x\nVCDohqT1f0x9JMrCzDdppY17ZZUYkbWvx2+kOPBDvnktn+rdDfyOCsbIvpou\nUXUQxMEG+XNRKsJgjr86Jd6zPx6j3yLacXVMvf+4jLQdJ399yzUzuGuyvpLN\nohrA01OZDMrlspjkvCqp2cSfrRdYeAgZTHfLfjQ14Ev+mKWxR2fT7v/CCAbW\nLOzJjICAxQiop1fLZ/2E6ScW2XQcUwb/9CHicIOjLFpuyZ5eaJkSLuqWIx+w\nzsboCuR8fcQrF84l5bwqOb7KV3cNoP/1cH/9tQr+kZP0r9w59gU4jd3DBhxg\nJyojWoxCdLAAAdOD6F9bmisgTfkgw+o5rfu3fa5MK1mbAXrFxHtxYeaV9sg+\nmhfyFWr546HH91mnlVAK87fohv6ORhAE9D0ipBbqorsNRBVLSeI1BO3hXXRs\n7XYxA4BKEeDdzb4ioCoDr2hFzwlrYvrBaXgaVudN7ah126fcCqO7DR1sr41r\nTRS9hrSi9ET7ISc0n3QtKUTdRb83HRiRrF86BoNGF185nBOY2YN77BJGfkTR\nJ5aR7UQLHuOsvDeNfG5ZuPSX4t7CBEcy130eodcjvIumVeIUGbXu62DDqnkP\n/+KAmc1fZLRw/etbhJzi1TimNKCBMF45AH7zqmZnGOy/0O+Oa9UBCsqpKjIP\nIuSb\r\n=3fHM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVOkKfQdhWsv6C80JgqyaTGA4SONEks98WQnfMgMjFbQIgUCdMApcN91xX9CFbdzQXPeMe8n/eWL0prJv1JRGriJo="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.14.0-beta.0_1549570217132_0.6518312968670281"},"_hasShrinkwrap":false},"0.13.1":{"name":"@angular-devkit/build-optimizer","version":"0.13.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.1","_npmVersion":"6.5.0","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-LmvHiI3H451aVWY5Ac6Fqz0i1eX/mUfWN+uJvo8NaL6Jc0HKYX2o3l4ODr8UUECWWctUC9AMD522ZMwAvnvsKQ==","shasum":"56151179bd6427918ba8e0f5a7e581e5daa00294","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.1.tgz","fileCount":32,"unpackedSize":283366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXJd4CRA9TVsSAnZWagAAX5EP/RgO1dQi4EwxHGwXHiT9\nQKQl45Kz9FmQZ/R3QunknDlObJG5wh0W5BYf1KQZa5oXl+CIHrcjaT5KzpKg\nMr9bvVj6qmNf1OHT27DbauUWvJEitqv8zRerbrNCR+5AgPxI84YD0Q/p1rY8\n4tQ4M8cn2r5SC9RNVIck7X87uWqNwJRhmVk8OEEiHvI7IG05c2IHVFEkMLBu\nVtqWytESrPwDQ0+2TQqBdhYelgz+s68c85cwCTL+/C5asQag8uj33eMKYSBx\nVFWNsNFHhrfrD/cjUxVAQaH84yT/X2loiwIVjCgsxAumh+j7g3j/qPNh+93S\ngiWRdOiW4RPKzSvO5AbG5aog9xBkLke/Y2gtUnvg/JJ3SZueWNwgRBIcqgH9\n7YpZnVXtUD6VIHgZZlS622kunRZO9SgtW6ntm5K0qxC1Wo6NOdnYI93qpWNB\ncjMLkNyLdZgZCyrM3mRy2G50O7HBA7cpNTfFF5eAGcBVSI9Gfb3bB9tjbi8T\nNWhgwsFqtCksT+Lnu4fOvQClzywIbFpZFg+jEvW6oQgvKkGmYBB3HBUFKeQQ\nzvhQgcAn3jbPhuoto00Oi89Ai4o4JzvdO0waUn59JA8r8bNF4DM7JLJyYl97\nX+bqZzKAweeGCSVgexwctUVI/FcT6Qx+QMFzVQp6GK5015p6jpbhTiRBpZJ3\nGb4G\r\n=YW06\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKOwccae54rCJY/n9GxYZ2JwyxZ2d25aDHUOPoYG547gIhAKFrFlbBrNRyoQfYTquGeJGp/zFOz58l8lCokapVS1Iw"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.1_1549571960152_0.9052707226864627"},"_hasShrinkwrap":false},"0.13.2":{"name":"@angular-devkit/build-optimizer","version":"0.13.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.2","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-pM3t+6VD+gdcesgwuThR41DFdsZ9ZVQ97Hhr0JXHLbLyRt4eXxWi2+B5VL0jjAaX0RIiUIe8wgScwE6m/dxemg==","shasum":"2f2782061d8b3ebaa6cf11799d2499eb9fa97650","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.2.tgz","fileCount":32,"unpackedSize":283366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcatFkCRA9TVsSAnZWagAAhiUP/RmWxhEFFzyQBoTXV130\nYitGGuhDIzK5puiVk2viQxSMzlFU5OoJBkZqbAfsZodOB3cPTUMR/tx+F8Xw\n8/+9awmn/c7kBOjD0+k3n4QJX1LUhJwL47UOBOpyQSdnYNTPNSGH0U4Z94fa\nKmolYOrCLlGs6I7y/c1LVdqznn7eAcmPRvreb/A7pJL8i6lbyB9Sbw2XfwNz\nXW0eQJvHzBM7oGEx+nBW6qhgSazsSW5G9yGseQCbCnk+N///gvYZ9nv1xqdl\n7hcyg+xhTVfHtvwOps6YwrtxMInnXMh47YAml+GuCBnM5GvJ4j1nEXXV69bx\noO+XappgHur0O+o/OXJP2SheJJl5myNhmD+B5egZv20kzOs2oB7Xw+AHXTaR\n8sL0jPrbfH5tH+lMvES/Fd6i2MRdGkUzxX09lg+h+bzgJprklemLEdegfRqV\nuBTJdvhNEWGe6ZpVmmzaq6XSbrwO2wj2CbNsyUM23fMGXRZFSLDHYAT3aLu6\nNArcfOpdyX0Lec+t1k968wW4jtg4VHcXn8ZfUez7YvT/ytcq4WGkfgbUAGMH\nyownLovZZ1n0NSlQnI5DA2GouzeRQTLJp2kb4A8Z4H75xO/GAohyiaSrNVZG\n+AG+1wjHnp9eZ/i68YHcFe3HZyUuV9u4g50hmJMUSf3TdnxUsoSXRKyiKkPi\ndkZu\r\n=TwHj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTlC1NLy2W93xTynPYwh1EVU7E+coVR7j4GfRiuCgOyAiAiTKXnNDt79U57YGEdMswjSRcqkP1JS0bHbl9VNpDXfw=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.2_1550504291933_0.507813664388562"},"_hasShrinkwrap":false},"0.14.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.14.0-beta.1","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.14.0-beta.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-WwUC1xetunEC25jl8lTZY1NRLetIy1UdVSMnUYLgATQy6DKSFiJU8jMbcxuIe1jo0QMwSsjG4oGkZDLtxot2nw==","shasum":"abb43a29248c3b28ad509fffb35005e62b6ce84d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.14.0-beta.1.tgz","fileCount":32,"unpackedSize":283373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcatMCCRA9TVsSAnZWagAAjP4P/A/l+waV5ww6CnXKbIni\nW/f6IfvQqJg+FntzdY8S2Px5f0r7i4mocCUS7CWPmsbZRsQX3ZeusI9mvVaY\n3dHCoX/SH5KjOaqop2jGHhXTcu+m9gU4hoFhu7m5pb5gXPQ9rr4P8uEf5+ra\neRSDi6p6jLU3JmtyQp5t8KIWqG/jlJ5xgJoGuWBUdrq3qNSH6r84gCNJsG1F\nwK34sl18umAJJFUh9kjzDIkzCFgPik4igZs35W653W2t0/3DFYjL46SGWhQ+\nbJtae1lfZ/oO/G045XnZTyt8PU14Jk3chDXZ/aYvBuql1BkD+wY+vNnjDVVh\nrk0FSqmTms1G3oU6RLGsqRoLRjU8AxYke0JNNf8HizungrtA6RzhgtVeSM5P\ntYva18B2b1GxXV7oNKYppiSeMMYi2lvQdcQAvC5KVeze9RqTY23telUl4ypp\nSrDTX2xcRLfWKD47r8TuC7lKYaIKnyhanS92qcVhxaa9s5Q7heknSre/gn33\nsrou2A/2t4P1GfXJn/ae6gAEFyN4E0CMxmAIQA51+1eOkzxYFrS+H+SAYJT8\nnZwTs781+G524IkgMycTcmX7oKQGGjOW5FdBCTAXuWh84sTnO4M6JdMcPSPy\nunXuBY1HTJDZCtFDDiexiyhAFqu67yHVs/Fx0U2YPR16umA84wRIolDHeY1Y\nNvG1\r\n=CQfQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRFYJFWdCeYTV7iWiY0TOHVDpVh0fFTffHX7AtPVG18wIhAOAKAvstLNlH7ITU9lbpenPlMPA1EpNd+y/4xFUrr9IC"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.14.0-beta.1_1550504706331_0.9956354582912068"},"_hasShrinkwrap":false},"0.13.3":{"name":"@angular-devkit/build-optimizer","version":"0.13.3","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-lxM1icVFy3jyoQfWEGW8TG1M7LTl/Djc98MFBYp/lXoVo2JZoLxy7eo51sRuJFaB7/0mgMP2gs0FcU/Lr4gK+Q==","shasum":"30eb1bae6adfe48a28a0e244c8650ba2fec24fab","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.3.tgz","fileCount":32,"unpackedSize":283366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbuuxCRA9TVsSAnZWagAA15QP/27+pmO9Xps7DJ+UIyCo\nYuYCF+P2i7dIulPO0idkysh8Y91EM7OyOCgejQ+qBj790SE9Qq6edOps7MYq\nyCj0i/9F8fgoJ32+UsVZ2rBq7GBtWQLa6FvoS4G1FY0hfI70V9yqsroPbeBf\nLw1/V/zhyzuI4SLB7TK54E6bLN4dIV/ApWOmo4DWcm4fbuQVepn2+Glwxuvz\nVFNlR32/6maPV2D0kr1uyEJCq92Por9fvuEgGYCB7gTzoUpKOMr3nMdKKxJs\nIC3Sl8/IFD7x8g04vHlMpeJzgUrm3NCjr6TzUb7NQ8y+yqPW5ywg5UWOdVRC\nTVyK4Pq5FlkZEUyrbrL2vSiHEA7lM1nUEIAm7CiOwqeKEm+tSGDTaAxbHauK\nmv8RgViQO3MCVPsxoZSxYKJi+j6m7EqkpXJKCvnDCarhF2isYWoe1jGLC21f\nuC7Wnf+ErVId0SBM7jVRkO3OBlfzh53xq296LWXv6E3zRDU8C2P3q17QiX6+\nJXnhHQi/l5Aret2N9PlCbi6IH2SvJHOrI/FoPrwnHPlleusJyYxE+5zrvF8B\ncEc5QdecIbSusBBd13IfZtpnvWLjBgjtFPHlL/Gu5D+i77WdDz2lQcT6Zfb7\nAXmos4GMHx8/QUaZKgtcf9ppHsxEnKsjYaT5cgdbgeOm1JmEx7c/8ARCkExu\ncZ3L\r\n=IKev\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk7Ax8dZ/e1mYg3Dw3BMTDOtjb77CamH1Zxf38SR845QIhALtZuOciYbI8hXMkUFkExptb6YGSCHjCFMc6iN7cRI4K"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.3_1550773168992_0.3247872698568137"},"_hasShrinkwrap":false},"0.14.0-beta.2":{"name":"@angular-devkit/build-optimizer","version":"0.14.0-beta.2","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.14.0-beta.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-rrR0niSs0nDk3VmsFD7B8Yan5Ru3eZMEsql1xRf8m6cVaRWJDsiZwTlvRkspe7qQCnuoiWnkDKEgpFEopPCPJA==","shasum":"51292c121a9331bc550fe26e249b7d0a7bfdb3e3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.14.0-beta.2.tgz","fileCount":32,"unpackedSize":283373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbu4TCRA9TVsSAnZWagAApSoP+wQErlcnWT1NnG6+RR/m\n9o7l2oSFno+L2Nm73jWYWGL32GYL3Y+SuBoISNCFfRHwpe+o5B4xMbn+PzRP\n6GeBL1v5kZBvagwTv6tBm4XDUIwlzXfmxJLzaj4VXOkf6olTTcnXe92OyMlH\nTrFEXIAp1IgtjOdTEScbW6LzmxjKWZCFFsEIXpi/aSvbNBYv9Kw3w3NO6ls1\nLAsTYWIh4hHqIT5SQXRY6AA/tC68xrOaMA42DQ3dHnNpmdCtvQmbwpdj6Ref\noyE4yfGwpzjRC5QKu/3gJzoLebAuDMBLX2iZKEB29lvW1Jpro3iXDmVFjny/\nS62M0PQC4Hv7plIm/JlGVP1B/VRyW8CUFW81rkQ/3IAw1qYRjWGBhX3uAGvi\nuYg89dc5Do/ejun7n8V0Hz8c1h3356GqtscedJR17zQDsqFIViYJ1D+Xeup6\nrgt3ckg6SioQpa0aZNyZUpk8C2hfMP1CLjFBVfr1CsesFhDLASRpnReuQ/1z\n92as5mqekOG0E0I/yLvY/5H59e9nHswW6+3Kb+s1xmm9JnnlxR8xXrEM5Xdb\nNUE6p1bZdPfQYbSeWQjipUOlstkoyqUCE+ZXocQr57Lu3SenCjSmMPLPdpwX\nQdMvOaL7v5bdWAWSVneN08AFQyKXA/ny6NtGrm/3XiNd736giuw00oyAesNR\nUjup\r\n=hvsC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH8Yq07a+abMZ00aljTp/IAZVz8RZm/dXV4KWh07j60bAiEAkPWSdFxM95OuW36jKBu3PJPxk0FeJ5El+aFUf+iviUw="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.14.0-beta.2_1550773779437_0.13309169900527795"},"_hasShrinkwrap":false},"0.14.0-beta.4":{"name":"@angular-devkit/build-optimizer","version":"0.14.0-beta.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.14.0-beta.4","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-XPLTU0EiESOJT8XMXSyNpLRIF+XSdwM9A5+KMYgvA1yQ/7Gj6KJK6TpkYXAOUrQyPCk0tPqVm3YFhVsm06yQ7A==","shasum":"d508a772dcd7fbde28f9e179472935edffff3dbb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.14.0-beta.4.tgz","fileCount":32,"unpackedSize":283373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceJKCCRA9TVsSAnZWagAAKioQAJSkj2fyHzUQyQ1qkZX3\nWcOvVT+hgZ/YK1xeu7NO6F19b/nVC4dLvPniWbJX60hcDOofrdXODcObNcdn\nTFhx9cBN7rHB0sjGvKE3NaPaDOLOsE5HND8CIP3l5mOsz9KusiV049OFI+l9\nwdqqToQ08zJZe6ZijW3QRxWt4rcTu/1+ZeWgYTdMyHNkqi57v5YepzbmOc9m\nzapb2nAM26iNGTq0wPUj8L1L5vGNuUoqw6jPv8oIVDDOZqN69gtKUOlRn09f\nfwNNq6Ik6o6oL/+4Y0R5/EX1Bfp9qq/vMK5Qbx0h+Dw5du3Td1GD3M0Q6Kuu\nASiCwNpKArM5aTtuCvo4yzpI2TxmdWXo9+zu5YMWV9ZTz4m/4A4BosI/5hEo\nUg7HssJaypzXiyctEDP92qMN1INskbz/oIMv1yTljnsNeakkFRv6x3BYdTNi\n19pwy/+3nMVanPTAFrQk5040FVdb3KhxVshuOdhENex3fpwGvlibE3AmR4n6\neuFHkZA00IRf0ThF6FsTORF+IhBki1bDSjbLVYMeIQ72XCkJta8iRP3h4+sq\nLvs1+4ih5vyeEUhrR6YEpl5b1+GhlAmeihGxyNR08VmOR8pSiIfeT6E+075S\nlcpqpZ1IaLs4qVt0G6fnHnS2G0oAFyMUW/7fTw7DNiqx2LGouYi4931UXoA+\netaa\r\n=1sgn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMDMSwvLD0RxTi8Qjhx1zCAks4qIYpoSw7xDcYA5wBDAiBdczAWSNRzanrRWoLGR2H+tCT8MunCV7hw1P9WVF2WzQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.14.0-beta.4_1551405697513_0.852652313353794"},"_hasShrinkwrap":false},"0.13.4":{"name":"@angular-devkit/build-optimizer","version":"0.13.4","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.4","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-YTpiE4F2GnFc4jbXZkmFUMHOvo3kWcMPAInVbjXNSIWMqW8Ibs7d6MAcualQX4NCvcn45+mVXLfY/8hWZ/b7lw==","shasum":"2323c3bd45b325252ccea9623375051c7b24c0a7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.4.tgz","fileCount":32,"unpackedSize":283366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceJcmCRA9TVsSAnZWagAAwJEQAKPM9qJYijr6cmLS5hzu\nOwJveLRGBe4+XhZgYIQbHBcENbdPYju/QWly3f798UTzTj0ZLSciNLeovJqa\ntAQ8EbAX1Rak+E19v+Uae7Jto0HRw4BiZ6dK0Ny1WIkcJG0ED7kMHarH8pSz\nly0HVrbZxZPePj64eBjC1AmFCKdiw1bcgI/2TyOQkc3vaCSzffPHtwrV7P7I\nftAcoZwFuhSq6qj9zCQsX9NM2/K8lsrkF82ncfxJbwsnF/LsYPG4LXnmSdsK\n0MdF5GJlFlAnZZcY8DcMhz6KshOnKYpHEpHahJNE6AbRe4IcOdOpouRVsgA0\nr2qn2WKZfHg8VFP8n2Nz9vwKxFud03TTfwdGVRl1uXaV0BUFMJRvSrPHQyRa\nW7lHSLt0rnbBG+ZkfRDrPJjySZEUvwUD8S/vUPR5EwtbLMfIkI2we3P8XuV5\nxS7bsA/FETXWiHuJM3t1JUfZAVdYAmnRYqQ0YamFaDk5n6GSzVqbpvr1VbZh\nHMp/nDtLIzOewKJz4SHCUjk4dydkeeyZu4+FKlAV6jLA44n/ULZh9d8Ejvny\nxAOBzKSrWD9y28/khV5+MjmRplDUBBrNTVJatrhghro2uxl4EEAqqeI0OUMQ\ntvq8PBRB0828edD7JN9H+Qh+0DIPiXWPstwcXDTyn722uJty+bAVA2PEQlKW\nTcnT\r\n=sfHs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZdQsgaQ3vwcdOrfTH6jG3hoMCT4KOLF/xI/ErTCHajAiEA/26bBlT2Ot/FXP6dsLW02oNFpfNKfitM/eL5wxz751M="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.4_1551406886379_0.3470808796909606"},"_hasShrinkwrap":false},"0.14.0-beta.5":{"name":"@angular-devkit/build-optimizer","version":"0.14.0-beta.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.14.0-beta.5","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-sQ86BGrd65QD9fV+wgDWNFKS2kxsZFj/lSn3pjgguV43XjGvnNlXnsVAgZOruygyXjB/afEOkNpO/4sKFNxiMw==","shasum":"f842a0b2717517cdc8e40704076d6182feccb81a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.14.0-beta.5.tgz","fileCount":32,"unpackedSize":283471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgERRCRA9TVsSAnZWagAA9aUP/iDKU7Gsh7U4OKjfCTfq\nLunvSKKRtm37vpOnlG37cHhrugZCOASBMK4NB5ZZLvfT6FdT8IH08sCpD0f9\nuuJ4QKGmH8Uut/WZ87p5EBuyhBgdgvpzAVDb3kr0U0JQ9z0250KAI6IwdWcp\nXP1vCc/pQzeuxFfJfLGXmdfCQ7CkQb38WWjvUuwtthN78J4quC/ppXnmCbYL\neL+miJGkAA5UGv8eGajKGdwqo2BXrxh1GZUm0k3DLRnxFOJ7CF5XR3+3zYwR\niYWpijfks0Jp5Pr2CFYwkEeHaq3pOf9XdWUpAc57u7AgYc/rNqezCZMMI1nl\ny4bBmJ9eX/ty7Bwhmu1u8GjYgmloUfvRzZY/HVqSi0OndZl/fwN5y5AFmQpT\nUQawBQGk/vVsDO4Y1fSbe2BL2efdPCTy7e1hU6aNmP0dJe988qEWmWZWth/U\nP6O7KtwrsCayO8sbK+0IlF5UqOAFEHwrDWzgmVELzwp3SYkFiEeBriq2ZDiF\nIMs0qWQi+kagpA7dp2k+/Pde5tH0lKrJPZicqtzIo0xCz/XFYY0opWMPLSco\nVW/hVS6V/dSvUa6N0ndIFzmwoUMS03w55mYnEgRyaG0+bvGgvfP82cxKdph5\nESY2cNakBCT+oaLEj8JLJXU6aE/EOtZa3ugO73WZuqm5nD7DU7NrAbW3tCr3\nmYXy\r\n=G+xG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3cM/IYNnfDEws2jBniTHmP7XoGzG4/K5saZYLfyo9kQIhAKlZTP5pqWoEIS/aylvrxRpoK7vinknrLoTiB/AS5Fus"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.14.0-beta.5_1551909969138_0.7590442882448638"},"_hasShrinkwrap":false},"0.13.5":{"name":"@angular-devkit/build-optimizer","version":"0.13.5","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.5","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-bkyKYplkUnWCbXfDuS0gFuPDoi9OEUNRBtvYtY3rgE3XKSAJBjV+KLgoXSSpLL6ucLDx6gOyDXitUFLiRCDMqg==","shasum":"b9be83f37c71e5cb923424f5ae5771dbcf336115","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.5.tgz","fileCount":32,"unpackedSize":283366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgEZwCRA9TVsSAnZWagAA0h4QAJNxOw3cMMHIhcegvAuI\n1uhKBeoOA43iMYBrIu5JwPfLX2R6p+XWOFtErZJM+Xhd9rooQYe76tVcmTpc\nIi/O3yaBQYLeWsFDjxP3rmS4mfsPgfirLNHQ/kjdTZrQJecoOLRe+qVuXV/Z\ngZRr0nY97eCjVUa9+4uvAec23Asnii/+ZAF2y8wE/3WzGDZ6FPjl/Tu3X7Sh\n69Mehy5zGkFXpxHFuOsYb5BC//kmzR/WbBXYS8REvZ+lfs88pjL8sVIitd8b\ntd6iZ49U0nWkjA+PDdzdzj5lNKiXnGw8WyGQ+gQTtqbKApKgZw3It1eOJFsE\neucELn6ahgmmTDEfKmQePn4JVfhJck1Gzfah8kbYNuzfJ3mrnhGRaaNSsLeh\nlYnNLjszjbVCxnr4rCwriIe7jeaXIvYtGBEfAho9N9Y1afJhiJgy4lxhW5yX\n526Id2gRODRqxOxJ83Q0Lw5WqdAIQ0p11VFoZpEF0XOR2JMHeNWs6521QFPc\nu7ovvJua6O1nlXUFahApb+xTkVEUB43WIQVADKoniWb8BmK1h+vfLwupEe5s\nMYU+ceImj1eJHQTC9kdyqDp2MlDp16CsJKg4EocXyr9lVlecBK0ASSlKNDXy\nIuPcD5SFJhzqEjhIy+L6OxToHvOczCq/ehTifA8sX5xfO5GtVuA+kOF2Pr9R\n2oiD\r\n=Y3cf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFej2ru+uvK1JTGdI0Dc49tSrOYKkSdIs2LgW9W/Gd2AiEA9P7vgE9Kkg63N3so8FuDxOMBk9tQBAluhi0R8zZyR18="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.5_1551910511881_0.7686068205792009"},"_hasShrinkwrap":false},"0.800.0-beta.6":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.6","_npmVersion":"6.5.0","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-qC5t+w4YbqUZ5uFKxNkOcuAMcyK0lfoVwa+oVVy3H+eSc8Tv9Q2+oeZKfLKOWNIPoM3VbWc0IcIrByFVpDab2Q==","shasum":"ee8a8c20232dbc5d1526ff3e15167f900f87954c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.6.tgz","fileCount":32,"unpackedSize":284503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcisIHCRA9TVsSAnZWagAA0rcP+gJtY93ldyzJOfGNqArh\nrrVC/y3IEYivt8t79Btz9ggzlLg08yOrbimvLj7FmHaRtuTWBi2w9WjjJOjR\ncSOx46FETpgpIqES3lhKl/EtXmepusq+F8lUlj3fkTdMeT5bfJKtleKQRegx\nOtBm0x8GMlvXI9+K6SJLbvsDVUA2VqCGTKOq11ttC0YoH/zHt6aegV1r9wZK\nYRaf1wTN/XNsslGjwA1rI5v5KSXJ9GJ/W42rK7c610Y7Q+iez+1BZnmlsHOw\nbvufIbqrl6sBkMd918yuKauxZyPFEqMdvYUnYmTqv6nXkFtzIRRXeTDEEIOl\n+hqARTY6+FnrBTo6dlxp0yg709oMZsTMfGA/3IykmaY/omQOPosg3VscjCWW\npdOPysnfcuTYR7281dnGsoxqup4Odc67zf+0iMmyLYEmVz+DFLFTmlSTLDUd\nrB7ipr7K8sfrZ1hr1naVmG7KpbWQRe3OVQc1kMYkLXyNBi/hQZqvpkDFviDM\nCC1HlVfRL0ylEL515ZkBmqeJlEcZSzuE9zn8YJ0kDRriyh0QzHE0X6F2GHl8\nTwDqOEeCg5kD53/jQtNG7B5o8PChsaR+P2NrHX41N17LQ6OOaw/ZLy0aF0ja\ntvPb/GJJbuaWR+10O4313SQimH0QMWvkqNllKbVlSSHx7EAr6LgReLWu8o37\n1GMi\r\n=q+Qy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKnjwXMfgmGeCNcORkzaJXC/QxdW8ZFR9/rhCp0npo8AiEAlhPcC+hhQqTSZ+bMuEXZ6TPJZZZs1Kw/obsq9rCyTSE="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.6_1552597511266_0.5766179611276951"},"_hasShrinkwrap":false},"0.13.6":{"name":"@angular-devkit/build-optimizer","version":"0.13.6","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.6","_npmVersion":"6.5.0","_nodeVersion":"10.11.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-/EOO0wxw7FIKfove4Fv/aKiKgvH0kFhRT2GOe3pW0yV2y2e1dfQdo2AqdGCfJ4rSbwsfWSGTUUFITc+9jgXFZw==","shasum":"846b6d0042de0102c6420ff86380ed961cc71956","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.6.tgz","fileCount":32,"unpackedSize":284372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcisQtCRA9TVsSAnZWagAAnNsP/RRzT/SDeOi4g6RxCzFx\nffEw2QdwHwTVuKXTXFvBcNAY3IO+WDi7Eu4B2oa1wSaM0glgbxwBEOl8R6Lr\nLxNrJsNQPYXyH7Cj+9cv5RJFjytSQvIF5HKJUEEhy9K+4gCSFI5HdFZCYGKj\nn+k/KnxOglt/ymx7cz2QrqjCYlhzYJ7yshoxXXn2baPYcDIWF89zx6I2ctln\nQYkGVS9X/L1zqzv+oCT67DPqMLQ4InhgiLsy3FfaXwXU7rvyXvebn3w0pHQn\nxbyO5/1qnIiEDWlm+91R3sMKY3V+j0vTksFMKTCuoAj/pOhP6pjxurnuqNF+\n0edm9Lueln6FPuyPsEHVLMYOU3x8z3TUVNJIgde3eXapQ1q+zGOHrbFeKlZk\nvARvFnRv4znVsXTrVgTtw8U6mZb6/gKW4Ske1oIj1pPzI54K65hqp4zsu7eL\nRPIrrM8E/4tY8eX0BI76kRUU6SuuU58dH2uqGmEyY79AI43ohLhP+XjMqO/P\n6T9CMNXQjx6Aiih1awfoIQkGZs6BvFT40KsfOhg+LYT9EJoLYIENwRsW6QXQ\nJVlB/KzJanYndbcksHFvQAvY8/QqoUvqe/au0604wHQB98MxDcs+o61nhj/0\ny0GIp/qSnwilY3Rr9bEGSBrVRGOynliEwjqHR6EC2W9RvdGrpFTfGiaUnVzf\nz4Qy\r\n=TMek\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR+QmVwQBgx5SX9+WXfidxk0nv58iBu2HEZzuM9qwOZQIhAP5menz/RORs7FacUgyelhKquvNLuS26NaquHe6wJZVs"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.6_1552598061103_0.44785798170643476"},"_hasShrinkwrap":false},"0.800.0-beta.7":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.7","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-x1Hk8w/AHBdQ29jBxjTAHgGLqqauhLHgoMBmGDrYor9OWXB+4JFY9WuFEUmPR5M/uq0un8usjDYShp0y7+8OSQ==","shasum":"3f8135aeb1336f94acf0aa26d7e2d426506d0ee3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.7.tgz","fileCount":32,"unpackedSize":284503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcit4YCRA9TVsSAnZWagAAugEP/iNhtW5WDBDunjKLbHYv\nxNUR0gDcbhXnAljPlxHH8bb3XTYi+ml/Wzjc5nSuG+nKJw5GWRq3HVLTFLSu\n18abkoeeXOO3yffUQOjSTvUEBHExw1WF2L0jPbjs0klvbwZ3yUjY51a3w7QP\nfBtzHwiH8nwn0lXnl6gb3WGvgP0fOjiJ51eRiU/ltjl/qrIIrMu8I8dyyPSc\n3CP9YvKbbUjGM9SQDkDIaQxGE24ta5TK00yI8rhniXqVAYcmQ2ooAm48FMdI\nDc9IaVvpncjFhP+CCtmH1phs01TdMr5LQCD+8EeLOi5Cea4v1ToM+Oz6hc6e\nmux1tbh6ISIB82AxxrqdtaRJO2J+ebPaab4yGmz9K4i44D2n3ymk25O0XN2I\nsISTbyIq+yhDCUExX/MyQY6Dmx+YzT1YLR6fqUclZmcHgiFhLuF4ehRXXjNX\nM2t4MbLs+wIDcwYJvQE5bosT/rwZhOZXS39O5DZHJqdw1jfCkecCnr3YbI02\n+hA+RvIruc8Q/y35paqCf63qWyZNiOwnf1rCGpkurVLhGyKz8reBLMDleuKr\n0iIP0p3wpVmThgSyrvD5jVY2yg5PL/kBtg2MgPG0T2saWW6Z6gCXo9bbiSY7\n3J99cecbdBbYDxSAdkl6HrfRHwQoW+E9sferTTqmwv+u55avdcqToebTdxKs\n5Me0\r\n=op62\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKfPW0vkCC5g2Al/vXNIij0xw8Tspownjzzleq47Wn5AiEAtraSMJUuhdYI7ShEdGLaYzaBZkbyVsotK963hjPVkd8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.7_1552604695297_0.5727567205435915"},"_hasShrinkwrap":false},"0.800.0-beta.8":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.3.3333","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.8","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-z5fNkhbIjeDJcGBi6bh9uPSfy3baqsgMleg2tJ4wGpX0I53GKACzAecpyFf/8f/rG+nYPu5XfK0g63BzWmLzZg==","shasum":"9ec0d3c851b2169afe7ae5cece7c879a95c13b66","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.8.tgz","fileCount":32,"unpackedSize":284506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclPMpCRA9TVsSAnZWagAASrAQAJzjSNRF8+XFLZo66ljf\nF7LyGPZZFqw7uqiyoy6LbzAZ9Xrom/Kjhl574QMhTrTZw4CyS5xfQzi7rAIK\nRyLZK987YVVRKMs0pY59uAaoDjVu3LWMVPzgNr5zsUmNsIP9HQycQ/SIxp+1\nN2BSI9waXQJ74iM33h4D6sndbHYyY5zhI93GazfABx05h0ap8nFo4qgTTUv6\nliUCpROjNFBiSrBFg2FZyJ3aV/I12nx5fzLOZqB5X5ZH5fnYBlVaPj8ZdIFb\ndnraITFne0sXt1CNOq5ibm62w+SRmPAhrPVTJ1zM/DvB0ceDrLL1Q7OQw2ip\n3XPLVbxTGBn6qlZFBrZk6pgm0b715njjeAQD63kgthPMik56jAKQUeHtun4G\nRVYWOkrra8F2tUCDBSvRH7rZSZuUD8OZUSoP0O0N7Sd78sQ0/0QG18o+lVYu\n+9kOE94J27HNZdIE59zmnC9JlujtE/aeqOR3n/3e2/8CrQ90bqvUxPMXW0WX\nA67Q5JAUO07iR4EOhMXwkWM5qfrfmC8YA5sMj8MGmn0cQyU9D09JGBUKv9Vl\nD7jw7cimcqo368tHoq5f11B4oADuhlWJl69gXm7PDj2PV5/guv6UCGxTfIYC\n/mHQwP6rf8PN3JVdMXqhZIGZ427sEYVbijH4FLO3Pb8kY0ELtd7aADX0ElU1\n5VHw\r\n=Rv1a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBotiN964Znx40x/xZGmAm5GiJW66iSHj6moluwPtc7QIgR+sIi5g0SG1szq67X2m6xLC+X7EDxNl5pkMWgClKJtM="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.8_1553265449196_0.8718650867083586"},"_hasShrinkwrap":false},"0.800.0-beta.9":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.3.4000","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.9","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-DzTM8QqeIuZWhZMeqR/u4Ri9nCdZnviSwSZfXzuU4kwKP67Sd3XLUeByHOcPjrDd7sQyU59L8YJ1Z7INYStKjw==","shasum":"bbd0c14f796042f3b0b66a03ceab23c4b2cc5c01","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.9.tgz","fileCount":32,"unpackedSize":93634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmTpeCRA9TVsSAnZWagAAuBUP/3OqpiFpMmWjvHrldhnx\n4rrOeI87rr5G1/TQcj7ATGNmnO8gldZkx9vgVF5IM9/oeLP7xGxgjbnwuFmV\nak0Xzh4JhhqVtF7GS8D6FuYEf/Jp06ZF+OxbVPcd7qniHpbqkLroXJNrXIZQ\ngOPLGFGcKoDfL+DivXfkve13YFFW+swrZJtWXd0C3WzjwyJjOLmS4FPOolM+\nC3ITPPD8MkeFwAqJoUe+UONyBUB/0UEGyofhJMge/F3QYiDFHwdha6eLQYtW\nDUejptbyoCqsiIfCSwTyKABZGe5LSMqH832Uo47i309r8eyoYww2nFbhiuVR\nZ07tPUogGl+O5SaE7Ah9IjiDGTLeUAyaKdyLt1nXDPgTXrnFepLsCBe/Canq\nzya4RQYpqiGNij914EQdwEE0ETkm0qyuOahsVdtonSRAUdNOGypdD+h666UE\nYAaz4OScLEEQgJt+CX6OrPb/CE/RS18vQNNIRGrfMSqBNklPZQssprYYqimL\nm/NL6wVgq+nF9ebY+gtxDEBuNrzopVgTVvWNPa6B6TQH/JJXVXRXNxU1vtAQ\nbEcGFCZVxjfER2UqZ4dveTVu66flhYnFz7emkzw7TKP4YVwnEy4uq+1z/N1E\nGVhgmo1wlMQLiD6q7OGpN4VlW+Eh2SLX7krUH0Ghu4nq4KUkuI5lz0d0qy+X\nq4Ya\r\n=Nq1V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvPThbfRGyJZs0tgoWtLaFiuiYV46hxsnIqmoOrsqllAIhANd1MQqwinpkOnCw7irVAV4Q9AC+9ZyvzzU6MrECXZ0x"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.9_1553545822191_0.1333412683400157"},"_hasShrinkwrap":false},"0.13.7":{"name":"@angular-devkit/build-optimizer","version":"0.13.7","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-NXW75v0lS0cGI1ri058vlaLA4D4Z+CsGYbuHYfmZeoyY0Ub9K4PPI+MZnAUT3D3dCes/dcZTmCNru4prOXR43w==","shasum":"c30d3b3fea5379144aed0f6ea5bf90c28c2efb86","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.7.tgz","fileCount":32,"unpackedSize":284372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcm9KrCRA9TVsSAnZWagAAeFYP/3gk8a7BIe8NM0+e7P44\nsqFl5iC5ZUZIqyavqy2/7Y1yl2q1YNqP1wVx+DU92D9q9p/5ABUOfE7PJ5mV\nnGkr1/98ECDPrlcDh8eeZRNgxVeVhBDhDeo6SSXDATmPvRm1F+h2Da1cv6Fm\naYXR5qxSkXUfyFIAxYzVDVSragS9Y2Bfo+mXTqw0lobz62hA7ikzUFj6MieD\nB7YseLTHiQt29YWdWZCQrZh4cZUmt59eHqRADiLaoVUK/WPTVqhgT26O6sbz\nrpMkV6lvR+suCsE3t9vLS9gqc6BNUasndwLAq6APG2xZQ68F0sq6acys/F5Z\nYUYbXa2TCbWNckDQPqEQp0VhN2duyQy7n/daWWEec+1mdbtxG5V11VgdM6JG\ncHp/dxd+un0vdizo/2FsRDlg/zwP0DIIqsFLm34ERdd5rDGwNGyDaFtF4+MW\nOkrp9qCzVWvVq0ieZCIChtitNJ6uOWvlZ1+ZDyeaIsoYVPD1b52AINV7F/6a\n9BZZrojzKBOY5wANp80AiFlaC+hElIWlaLhvKjNCPTSXiosMQFK2h6GETDCN\n20XF9D69iNSbIG21Bsids5OehVbeUNx5/xKoQaid7PxcXK0EhuIERQwqC8e7\n9eky/ICb7OgRXEqM2RM6uC6t6XkqgggIQ25rrGEg55xjB1R7jrb+MRiU3XPk\nf2ZW\r\n=84O1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDu7muFBXflqbeNsyQbFnhtgleTuDv97axHTrVxJ4GHEAiEA9LgI4JWNokYt2MxstmbNRwmjnE9zJ4sHyG8bxZLIfjs="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.7_1553715882924_0.20085591535853786"},"_hasShrinkwrap":false},"0.800.0-beta.10":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.3.4000","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.10","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-ayf+Wl4Yh2pmBQJK0bRQYWQOfraiRQf2vZnj5hYEe6O1EwQ+aB/ih7eBR2A2lTU24KA+aoOKty/etzfBWIC++w==","shasum":"8aa0fb542c8d3e34fcacce5687d66f6106f63394","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.10.tgz","fileCount":32,"unpackedSize":93635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcm9UPCRA9TVsSAnZWagAAmOYP/1f09mWTitTub+jko1Ek\njoMu+Yq2WEKuAYW3d5+s4/IhpNMJlrIGciYAT6gC5G9c7swpt6wM88ThVatu\nVAhfS1ftE8B6oHzcOpiyGcE3NQBeeIKSOecuuvlL6C34uxmkiuJClP9Q+/Lk\nhw5GFk6NbS8qPcVc9byrnOaUB5/AUmlRtfykRhqFxqdhkZDAomRxx4GyhaL4\nr4tXeADvR4HThIYWGRvU2ckjP+v53FHOeQZmsUTXMwz0r5jKY2aweYZdRXXz\nmzDUQIN2w/VozJMAEoPpCpqsS82HvQyLaxUOLxSJkrqFfjum+XxwKb8ZLdWQ\nhfCG7IKdhpWpvgGS1CrvpejmV7nBjIEvN19mOCQeyZTUM0TuVCRLM+rhJz4/\nikYhXC7mc8ju4SqhwMRgNqDCpAq/Dh2/ygL9s4zdYhozPt72HoYj0PRXf/RT\nAbjG/H5Q0U31Bx99x5aUH1P/eHB/A41zCBzyqb7hHVGxRKulUuqh+l/YY/jq\nk4uvlEwxnHXhw5lO89wugbBWugIxgnGzvjAf9Olcf5S0GbQpxPSMr+2x/nKX\nz1b+cyA0LBXVpCTd+8zYz+vjbcGPbc03MUXnkTfb/FjKZYTwjrU0gX3vsDYh\nqv9ZO2X4+SRhEzIsj+OTaOJfGBedJt2tBiy9PkiZIgr6SK+A1a8zKlj8eTyD\nyrC/\r\n=hyov\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtrd39S37/7BmRzSt4hhWX/ytvXAQPJHqIoEtDsWTzGAIhANuNbo/8VX+gw4f2V5CWtTMut27ckWbggqtZE5MUJ0p/"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.10_1553716494270_0.6613224725948745"},"_hasShrinkwrap":false},"0.13.8":{"name":"@angular-devkit/build-optimizer","version":"0.13.8","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.8","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-RvYxtsdYuvpFb1iivVixylSVN/Q8LsQ449uYuqEe3OsDjQBvUVG2fMLPOQjmKWhi0NC9WSsNiUluxLDNdvd0Vw==","shasum":"0bcba1a4ef598c1a01caa60dd3603bac52a57b16","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.8.tgz","fileCount":32,"unpackedSize":284372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpT8ECRA9TVsSAnZWagAAgFgQAID2JtL25/r1p/W0mYNY\ne7PO+2wq8onblW33XRzr1Bc5JNetwIEC94jZYvosnE+PrkkkU09x2shsvonp\nVeaHbzdfY4oReok7j92u5bj1fTecF1ZdI+teg2TlNZeWpK+kNabgGiKtTo31\ndgpnaQYIpneigS+GkjhLN5VtAVk5C6rzqylLqnXOo/TZUJYNswpvrvYj5Vv5\nNhAbCLYXBTFCBWA+FHzh4b8QdQCyO890gjsCjbE6L+HaQMbKov4/Qcu5vLE6\nRMrbG70kJfnUP0KW9c8Pl2aZupvSq28DrzxhSxOQQ6TCdbFIxfXkaFIExxvZ\nzpwtkNA3BT+3izcmC1eQMfZrku+zH371hcGR1XPlMI2u9zWK1PQxKL6ERUt1\nyua/i8LCO/5AsBuT4SFpXwVA7FwxWBGAF3qoOPj4tS0Sa61aVjawtbOg4piU\nchZNJlMaCGdTvth3wPDQ+f44cERnjpn1UPCnSZ3auf0nOJsto/jFkGeFmP6W\nIOTqVyGEPLLaNQdlYr1GtmbM/O5FHPPl0sM2vKcdoRD2cCdEXMwHkIQpZJXb\nZm3hGyGLJF9n2qnRmf4gv+50kH6GawIXY1yiYUWORNZ93VxS4sFURBAW2V4t\nBgX9BCKHZelWZh84lqt9zo4qsZgeGu6cFNSQP8CKlsoAsXw+KHP6P9IkHouV\nYH2x\r\n=/vyT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ16BQSx3i/GA//zXiIW0QX24QJt2+XiIwlExwPnVNdwIhANl1t7tHUykU+t03F3x/qDfnnnblg2hFeV8LyTyfnuzM"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.8_1554333443508_0.6919519415160582"},"_hasShrinkwrap":false},"0.800.0-beta.11":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.11","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.3.4000","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.11","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-GWJy9CuvfuIrdlMFGiEpsNEWIrwcF0IOaRapXTQWoYhsBSt4JmSPYN89f4Cf8cdOmaO3SsL8mEo15x5oHr/LTA==","shasum":"7818bfacbd6699eca094f81150f9ecae996e7af4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.11.tgz","fileCount":32,"unpackedSize":93635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpULzCRA9TVsSAnZWagAAlpEP/RZJ8XV6R+r64L/bCPpD\nwIdJs9K2osllhvp/RlHLxnH7g1f1RHH76V3wdx8RVGcDJacBXfqXha1SOLoA\ntifB4/P17yErQwCuM3WWwilN3yMlChWsgfl0DcmhTPzD6xrtdmWsE7bIWHsa\n7iUqjbWL4vu0yWNA7aKrp/B6kyszNdM92U/ZZoRX0x8k0ZmFxfwDpZh9+b/K\nRjpVqrtWngWCOZdC8eG7fdblhqUAKW0ZtpOAvzOjtll5v8azKYVYxVjkxXvh\nzcmOCagAQ85uKmPCkshqSUYLiBAgR6YiEzxfupp5TjGgxVNSACtkFr+DXHP+\nAYfnI1xb8qe+f+ulbFUGGthaJ5raPLT8W2cEwpJoQFnOSfk/+1uz5MFkIKTz\nLxsm4FNraGBYv7oYKsjW7caSIkVL+haBMNSG+gdLorTlCru0tWiTu6DD7jJ8\nL/QyiSiFrNBv/U7p74qOhjH4nZZplTNnsF5p9O57l8mhjPIEQsEp4mX7lMmN\nrrViQ8Gi6lcurwipu1atyytn+a8KaLLKINmiRBqyyPgVLjQnbx5cjBxZoM8Q\nZk0EuBVEBCuaNQYk5DXNgg8UsGe2AX/ulxdd/50VNBMDyfSpbSdlFLbQwbE5\nvQ5XevrchXAJhVzrdfS+41rra6oBJByvLLzfHWCSDOesH7z+xEY1q5aZqEsV\nx5NX\r\n=gFTw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKx5uUtbDbVDM5Ky3wvkJqWAHYctic6dSXLVIM7qD59QIhAOLLfEbsWbmSuL3BHHl1kBDsn3rKgrCwEd8583vVrkKS"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.11_1554334450686_0.2527820125965954"},"_hasShrinkwrap":false},"0.800.0-beta.12":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.3.4000","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.12","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-JeA0oQWPu9nLS1HmwGnd2pI309+3ZR93sRyJE4LXyTCR1HXdi1WBxOpV0dSO5amIEo6gc0z6bgLY0yvyygCKnQ==","shasum":"1a2e7d2a6ced6fa7d9c85790e6a9582353c262c5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.12.tgz","fileCount":32,"unpackedSize":93635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsPSLCRA9TVsSAnZWagAAbnUP/2NaZKj+9vuZeda9Fx+I\nTp5aj4yd22PLLrDUziMyXbLEMLrOqXP6JOPPVbz4Sub+xXVI8AIpBax7t5lZ\npVTDaSwf2HymWbtVZFTjMOhNOdVJDzsbP3WQI+zZA2grNhPVencE4ZjBS08f\nB/pTkk3Qnn7cLZOb4XwON9tGkODoPxEwFiCERDCwNMIpdnG5XJy13mdAEOxO\nE4aVH3muTu9bDDFlyJkZTTvYCXZMy2c8j8IFQs/5diDzMx3N1MxW41GO8RXy\nEeUxp5f3lX0RJochZU1pNzfHMRGE+UyO0Ai2xETmeeM8XZZOerS/2auoIe4f\nsqfMCTi3ddvMZF5S4J5Tny4OnenNL8yhZtOTnAc6+dten3zHWeUAp++t8BH3\nsor7fhfipLDBhngjs5X8jeYsb13eo8ynMsKEqZTorFgHpgodyUvWSKpRpyxO\nU1yJbhJKvtSKrGREcF5/t0dwY9hFwboLtr/2HHWB7RR+GJZaiWHNvtDLwbHO\nmlyoflrGFmlOnDG9ho5tHVEvCToS61+75lgv4+ceidrIHErG4SRQ/gmTpR0q\nsJQnOKEy+9nneFX8Zr7sHHkbK1ER5hpH+WTTdMcqX2gyhUzAlC4b+igs7L/C\n7hafSeLf9Y0PEY02dWhCNDPVMvDdVBOzSqMQhpp3r9Lg8hby3eTptjy6wL8E\n6pP/\r\n=/u+k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHzKH0somjIMDKPtlFFlBFzUCjz7pAwBd8qLMiwLHxIIAiEAyqJ/5cWNzjQ2K0HtpsSzhK6l1nR46Nu4MgX79Yn8Ty8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.12_1555100810441_0.24273702292874488"},"_hasShrinkwrap":false},"0.800.0-beta.13":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.3.4000","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.13","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-gqcSq49+571MJdxwjkKTHvY/ejhwhhKCLQZVu7TNSIXPoDLuEEsWRQp1ClxvQVRxL4YHI1bxXbNiXe1v+Rp9lA==","shasum":"01b66c4bd01135ca1efe6ee72f5f8fe034aefcb3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.13.tgz","fileCount":32,"unpackedSize":93635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsRRbCRA9TVsSAnZWagAAFY0P/1sev0TrFvMZvUywNhpk\nG5WeF+v3EVnS6qqpmz4ns/CCaCpWd1VwKIA9AgQkyFYuopgzQb1ZWIOWdoY5\no25bQoMV+ndWk7DRRjj3VjdgMzJ8EWb3zypVP0+fviNqIb3CH2FZKbDSy3vd\nODOJW+CeQabjr5XRZvKD9n/qYCFI3etwKm8YLqws/MhKUDJsqDA11Vsacykk\ncpwzN2jG+u0S/iUAbTsfLkJ5HD1p/XcgozBmqdHUR/LPDxf/fT6UwT0YadfG\niFyMLPYqlcdFV2+ZnbcYhsBjYJxalbqs8HSSurke2jvMV9/CEiYFcpo2Gpzj\nHxNHySvQPd4m6a+COWKSfFM3jQUGV69VBNmPt3UgWqm3HUfImMZMaiMUABnV\nP8fal88KwfpP2vPcyRCimlThRLZQexI7xwmWr5Jyid7EmV5/tF7NarLKLzGX\nXC5vCpuavOxUc0alOKrh87qL9yH4QKGjl3jBpzUk75aNCk/9BrsOy84A096K\nIjmbpbsmaYR+0TVNGUgL4gqNxNKYUQ3AowqSChjmZUHadeDt+9dqsYaq2RYl\nF41fESm/FqI1MsygqHoGockKUWXlM7ZVkOzM+P+OBxKoY2q+aiYlUF7B0K2T\nFUqFK3Q62NmyLPQ5QVSrf9yRJfsdqX7DDfAipgKxIZ+u3k/8it/UPOJyiB+b\nW6AH\r\n=MJEu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoyeRJIc9YGcnRhKpVMI+tQbAMQadWzbxU8o7T6RijywIgVU0tOsb/VkW2l1NnKa/UoRgF95RgYwjIj513/9sVBho="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.13_1555108954039_0.4336048924696878"},"_hasShrinkwrap":false},"0.800.0-beta.14":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.3","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.14","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-tE9memZV74X6NGfb4+IV0SLyQWtjcUQw+iuW2W7p//QPFkFvswbYqGDweWg/QocX3f9dqk+eV5q+h3So90IneA==","shasum":"19d3450ab5f3a2b68e0deaa98d8d94d0702f2a7b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.14.tgz","fileCount":32,"unpackedSize":93835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctPKyCRA9TVsSAnZWagAAuUUQAI+oYYsBQXIek0sU98ki\nzHx8JqEVbz6fPGUAq4t+oyClNR3UCDDoTueaktD3JzkEKFBUwm3kcfU4qpHA\nMf/MyymLAjuP8Ir03LDBgpBcdZV3RvVAF/H7r9EL3/meG9+aLJ5IVw1BM1I4\nVgX+9wNeTwoxaoOk/5S8wJknbsd0thvOqtyauGGVv2B0xdhCNSn5NTfTVQe5\ncDHb5kik60IrLScmhIVEYsR+enaWHeXgfwQFYMM46jHFXosoikauV5tNR7Xs\nKwWxyV9rAXNW6s/bsNHpiAZfTI4+0JMI2bXtVS0bHie14K0vNGqoI8lYGFQH\nx0YdhvK8xp885d3QMTia8SAz0a+5VXC33A6D+VxcgmlU+nXrsOAf+kdIqdNB\nYJcYfzio6DHsrTX9FX/KfsZyvfpmLtAzkegBNjDzzXCjaPrksOyOQlNyRr8i\nCujipyU5dg6WO6jiWbcaPf2fHYUrxz8Takch+dPaMJTxo6RLNjh/Fw720PII\n7mAuaMe4i/GIJIXxZbgDAcheoF6UgLVx1I6nEwo2ohLKDECuC44aSTU44bBM\ny2NYVXWnGUH68tDjrWrjWU//eOZrAK1lNhm1gJBh2mggIj+CM+mDymqpWRlK\nbevioQTaNKYaA8vImnC837cZhuD58bQfkmCZ3CcTPdw9BntYl9Uzw96Mn1a5\ngYk5\r\n=LX3Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFFVEfgemyRs+Csjyu7e0MPZJipsDfcmdfyAL6Zqp+JgIhAMbKctRqXEdqMP6yYsCkFWHLKPzBmFyaxWy6tmuaS7uF"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.14_1555362481272_0.12602204991451016"},"_hasShrinkwrap":false},"0.800.0-beta.15":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.15","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.3","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.15","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-rQiMXZI4ySjFsLD0q4Ag7DDXAFUZkpueRJCa/AbOsHIen6/t4m6Vzn6wiHTE5VO7Exo3JQCAW04pENEH7Tqgxw==","shasum":"1474df7321ec90e7a2ce95a8fdb65fe44c1bb201","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.15.tgz","fileCount":32,"unpackedSize":93835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcte3CCRA9TVsSAnZWagAAVAMP/3NKWephXFOxhFE1krV5\nIM413oI9AUwN5auLTk1OQUjrjItOLQs2KkvrrMBvA+W6EJtSLUQ1kOmxltD9\n/psdniDkEiOyc3xiLeOarK6MNUi0d2sppmKeTd1Vbjxm3JxEDH2BUwJvam4D\nbjIsFfTtRdcYf1lasg9tpq3xLHVXVJg94i7vPERS6dSNKTAKCwrROE7mhz9w\nNh3d7oOvZvPnyjPWzffNBW1ifAHtbVAmkA97FYpvWc+GhyyL7C3kjPUyNl05\nPpKG6eed6uRsaU7HkAtk7vYUwCGov+lfq1EP7RZWIz65kzuugNgXm04R3CGt\n3zp9mSya3KqDQwX/HMAqmx8k2YmfUrbidmGcdcahPJ2n0swr60iSWA0jDfLM\nsAewcNUMjlFGv3d8+q4SYOScBqI7JWvJhAGRhUegkDNsHxFPvuj68Jp1G3Lz\nVVZdEcnZsCxhrCYRkIX7kNoW8FcJstXCbSMzZype9As4SddKvpYYlsPrUYN4\nNtaRs3fWqhu/FTVkvNl83kpF1kRzihSh8V/6SfOEImIx2X1x6yhACA0cbyNY\nEEUM357wrZA7WI/7Hg7ACi9IHR7CSjNYf2XA+56YD5JxxrNce6Pmtkb6v0eB\nwMi0Jlz05TBQPnNCnXw7pOdXcLtfEJZU7lCWawpEiAYwottfSFGwOZ7xFLBT\now8m\r\n=vmXd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFI0VPDbeFsS9DPiZT7OvimuOFAWS1Jp9oihdObjlM40AiBV4JSeH7EuRDPu4ZBlgPI+T/hgGKOn4qDPr8RNu0ABaQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.15_1555426754149_0.2686081036873098"},"_hasShrinkwrap":false},"0.800.0-beta.16":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.16","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.16","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-6ZlYwvUYjuSggKLLBofI9uEKNHCsgyPooi6RppfhAB2pOzcDPEB94THV1TucBb6vlrQUjU5LCkM6c7hHJGnZew==","shasum":"7ccbbe3298eda0af0186b930aa40f79bd870ce83","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.16.tgz","fileCount":32,"unpackedSize":93835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuj+YCRA9TVsSAnZWagAATuAP/1QRXqnzH51IxZCwykKZ\ndE2ie5PazOE8EeEsCsUPyYwC/lIU41tgkpj1CYhCKbCrBQ2eL7hBnvUpHxWq\nnbyLzMxlpmwJbIiVGnHHvU7Ex5jTyIfCwYkrAqBtdcV6S5pa0cWU8akLOkuL\nd9Q8qJAxUiElmjjKg/n7otcaQsWlzQd00PacDUpxw3hGBtXDbhCoqWwtWy0J\nyBnc+0c6+wZ8u9C7Pf4/qXk4px8heebZHmY9AhWGjsPF9BV0p//HAge0RRcR\n5gtROQ6eQBbx39xcXRamA8py5qr9lDtrCG1AR9RI3GIEYCmpaJcri1JeGlfO\ni2kSVs/Z/glhyWdv5JFkfmQjw/GhnFcdvH35mSVIPzOkY5cOC4tBtzQstTt/\nDDPJEzpx3S6YIKrGg3czDRUb4I2PMt7rCo4bTTpI2yQUlXjG5Yg4qCWwcan6\nmMTgL9W+FFwbPDLCRcvupt8K7H/MazL8cO+h3EBJlgSW1oUC+KOF4J0Q3Y48\nFnX63cqLiMqDvPceCciQ5JsLFHPJVicVsAR/Oh0tEQTa061nt72PIJUwRidA\nJ93QxWsHvRGVYqC3dQWEUcyBZsKTo2IFUC1gw4LDynpPg4zpRfT5zWx3f+54\nvG8GtmVuOhSOQrRZt9LMB+49Wya6U74VPdNeaAfgr+YQZ497Inn0btbVfeJk\njvVz\r\n=dB3Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTb/6lu1WcWj+UYtEX2lDowSULnKVSSYlhNUIoXDqNZAiA1IalXmDcNxP4DGGxVU7L4KIreUScf03YIv75aWaSW1g=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.16_1555709847414_0.9717732737848128"},"_hasShrinkwrap":false},"0.800.0-beta.17":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.17","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.17","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-QsDpzV7Ov4Z2iTVUHyH7DKY5sEKACr9VP2e1z403nV6KIcyQly/csy+1KVQJSZMeNYd98qGBPjyyv0nw3etlpQ==","shasum":"3439ad4dea27b743dfe6e718829ad544b69f495f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.17.tgz","fileCount":32,"unpackedSize":93835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvyuMCRA9TVsSAnZWagAAe98P/3ffHXf5li88OnKkLqJw\nIBNXyK7uvtAV6BYcbDnA1UsIqc+1t0WXI+3kb/i2Q39iVZzD/JmVEg0LaFZK\na3mi5BMwtMPWUWktuHYJ/jk8ys19AQEfcNydmocK4sMzFPuwtKeZhalxlQUY\naF5S9p+tED1aXigh5MU/fVMrKF9w4fvNbUcbGX7euVSmwe/cb6dkXkGMM7/F\ntPARh6MLE/Wvgkp8aFHtz+jQol9YwYstZhPI6izlorrTAmbgzbjz+oaPMSQ4\n8SLiZivPRlxdLgMEbTHpGd3szfny6DIsMur0LfxZPJiwYW22ZEh63ccC1umH\n//tqg+cgQawF1X88sEq0f02mgvxGgGzfUYcMpdbSPpZiPe7h119YDgIYyFFN\nm6LtFuHIyUDFt0P7znIzUiciA92ZKD5TtwzYTiX8DEK4Pk9lN23NpunCA/QI\njcXqSkryHkF9gKhZ8f7u5K/m6/AG5l2R/TUWmoZcpzeJHn320VoRgzJ/mcOY\n/9E+aevi5K2qVtHCCszIExir61bKPPUmtZyp3u+XS44+iue8KOY+4WdHrrYi\nA+BMBM9N//zb1ThuGNunzkV/3Q6ow1Brvypasd7BGEarNXuQuaA7uO2YhYO6\n0qEmu0SF5IaZiWYm4+3ZaGEbD3OEWmwUDVhzLrr9JopwG2GKnD2U4qRDsdz6\nkj44\r\n=p0Nj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf8x1m18wB66Xhg8JBGgxKKXY7gb1o5VvIDwVBolKigAIgTJKB1pxVQGdmIMgMN818oUsOQp3xjESR5nxLf/qV3RM="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.17_1556032395650_0.1568292588594129"},"_hasShrinkwrap":false},"0.800.0-beta.18":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-beta.18","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-beta.18","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-x5oh7GUjYLvrOvh4uNM6aDtNFv7hafo9ru11ee7sgXwHIYdcVmp6ew19Sjj3nAr0Sh1rAUf7QoNZVO/txxnBRA==","shasum":"4e8e8ae1c2e14146633217605315b51e3f9eeee6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-beta.18.tgz","fileCount":32,"unpackedSize":93835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv4H+CRA9TVsSAnZWagAAyqMP/0RC6ysGoK6PcpZz8Eso\nciicpByikoqxtHxIcVQOw+GIYgp3Nl1zLdblq0rnPHwWaCntnf9BchuabxkU\nYrBb5DGmUSmF/XG91aaoBkqFSMarYfijc9vEoKDyT50PPZ0IzffsKbdP9EnH\nvnL3BqgUwu6dpP2mwijkzQQI2DXX5OMhw7W3VTghzy6ZU60vh6j+HG6hzknr\n9Sp/eOYgwGGQGvjViRTHP7XkXqwAt0YEE8i54v50yU2JaZFKvWMCepPTVrg4\nXUXM8sH011wtUqL4eFYx4pOWBCdaJE0ElDSqWXCTZzPV8kW6/+jHejuuVbLM\nLb/11GjFuoqfaUHbCU9BzB6CerHxXvMgywes2J8AZcrXbxChrvxfxLreqKQ7\ns0itQ5MlD4cAX/EjRfObaU/tgKlRQRUNczeBBQMdI6lWrKFLdoRIx4nWXeL9\n6GhiX1q16se4uHBqnf2/j2cPGZ54ohb7ij+YqsbUotC5bUtW/fGYRMkOJu16\nwglBt241YBmYi2MF7MayjvVNIGc1EN6VN8J5fHTVRN/U74nY2/kFujEl0fZd\nhrtWoO1Wo9N3+bwP586E+hZnEklAJuiVpvJa/gHgp9B3AfnVMKeWJuxLtsLD\nRfl+zhin8KSEvdg738xphd6de1loyRPEw1U2dU2gCFhRhdKJ8mfen2WbWuOx\nNBou\r\n=NXcm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGArsP+sjjVQBupsjVLos9d+FSh3zSyjBmtJo8BraHKgAiBLPKEb8NM4hgphoyvro+17OzLuu07/mQQfTrjtyda7TQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-beta.18_1556054525536_0.6260991946168253"},"_hasShrinkwrap":false},"0.800.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-rc.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-rd/rJ6koVZdigf4gpFxcMKqUCOq+nrtTAPa7wrQ2n2CcBf3tWKcFKFpLrh11W0J0MizV80YzUyTYgmaOGnE78Q==","shasum":"a254fdd6651c36a878ffa1452d88e1270a9a1607","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-rc.0.tgz","fileCount":32,"unpackedSize":93874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwkLCCRA9TVsSAnZWagAAe5EP/ikvW4z3HxIxFv0cGff8\n0IwCL41IuWAII1dT8FLyAIbbMGfCSev35vJIv+giTftU1W8LqoR6hbZjh0jt\nDucIycFEcrRe7WfhKx+2S6IT7Omv9ttCVgNmt3deC3sV3hhBan9Ytw8ebyZW\ntH6L0CKP1zJwIjfoenLFTj5rrP9ftErSrCBXcw7rdSkP+iY0wCjAJnpQFagn\nqemoHykr7EMEYBSH/a7j2i1r3kgKwvJt2kHBxJ1pNDMTrTybToGYsybOlxzm\n0GKb/6sV7kdK8cCkH5sUsHxSoitSFYlWBL7qPFI91gqI01HDx+ZJFMscwR0B\nPdVTE4EvprUIyxZ9W1uRgnHoZlhtp9B6NWupToxstYzmz5ceOeM9RT9myWeQ\naqNR7Jga8ccUxEFrNpv1sRmQL6eUp7cFqzTQm7WlCH8iyXT/q0aT+n2BQoW8\neO5gM8NsdJkxPk0ehx9U3tUVdwRtNGGVu4BbwBRY6U25Hun8VoH5D72/DoSW\nPZYv1mggHpYGVQa6qjcoO0Hcj6OAr7X/gsnN2pNt/tSAPfIiGq9uvMMJ2499\nu1uoxFEcdrt3dEjtoswG/sowLHe6PiQSD9Km2oCe9xvvgkt/tnI9qzJXDK2d\nxAKx+8X0vgKLUqkhOreP0SnLlFlAXQV48aJ6Wenf0F2wLw6sMsbmrdjKhOeX\n2hXC\r\n=asgI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZ35wRT4EEKaH8vy8cJOTgt0oTv9c5m8TAP6fZNPi/5AiEAnvAlLN/zsD/2UL2QbaBlyFTR6bJyAYXvnnDihfryV48="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-rc.0_1556234945571_0.7607406156049197"},"_hasShrinkwrap":false},"0.800.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-rc.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-YU+61UvaQ9lwGzasCRg/+uF+IWndwA8w+jaI97YyyieYo4kdTftFj3pnCD3S/RNYh5sYez0JPOcOQhbBzJ/0Cw==","shasum":"1e2a80b4de7759c5014738005d528aad272abc1b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-rc.1.tgz","fileCount":32,"unpackedSize":93874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcw3LjCRA9TVsSAnZWagAAkBkP/iE2GF78rtde/a6vo9IT\nLaa3Pdyk8MPxLpBsGiZ7tf5gnSOXbLBdDZwHN34w57I7/+IyU7UwEaN+5lcP\n/H43ilI7GL1dDthvpz95h3ZPKrqeF1F5/T1uBFyhSGln2ua9KZvxLZyCEQ4O\n4rB02rciTQgJlieF6BznuQwSQFIyY0LXTjHETaUvawsWKRsJU09+oo8gLxU+\nSkurC6KLuoB0m1hB4KEKe0h7u/t0Tp/ZFb21n1KWRxNwCThWifyYoAoJyAi6\nbmX5gsE11ZUfH3+7DY6S/dkuPgcUC1TZnkCywHUXlCDCGEuSwo0P7/3HBjPb\n3mnrGJpm2gqnfg1K28COgVeF6xdmJyFjKh8OlBUuKl6RA34+BFnqh4GKP1P6\nhxSow41N2s2ay3DBliEEeaXLR70Uz5zOFOWkPSqAlWD7TADUJGWe6+1wXVU5\nvWyWALtvgrYJVVYwUgnHSVsh4W4OnsMe+mAn7cne07ugZkc5gLoSv38VS9uf\nOzXLBAQlHnnLQbdQEZzp1BWTTtMzMLOBstrwekKqHNXY/8avvkQL7d+/E3D1\naTrNTkvEzmJ8VGNio8JQzVl5pXSBouxSHpA3vyxB7Bi2cjmHoeKK70H5+tAI\nYeRyfliFtcBQevhS3mrh76GtSa9ccRb/rZ+b6a+xktJxWmD8rexrqywdA+N4\nPDbt\r\n=knAe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3t8MDaFlCc+MtxgfN5NV+y98Uvg95V29LjshkgMPmkAiARyDAFYO3tL8Lr5j0ICKSfLRVZi4gniOm22b41P2xViQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-rc.1_1556312802847_0.13324087195378786"},"_hasShrinkwrap":false},"0.800.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-rc.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-rc.2","_nodeVersion":"10.11.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-YKTFlAfD4JZk1h4lZDA4HVPPIq1JB5Dxg/Icn2GvcuUws6wVcXUflMTIpBgIMF2j07fMIYPqSAcSBd+UsBJBvA==","shasum":"d56cdc127699ad25eb817caf97336d239600f5cb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-rc.2.tgz","fileCount":32,"unpackedSize":93874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcx1gzCRA9TVsSAnZWagAAmTcP/026hElrS9FpM60rFRKg\nVwIcM/ObzwQW+9rnEpoPN0URbTPidIsJq2XdQxaIvNoP6KJD732tRQbF6eiu\nVoXDte4CoCZMhBWG5A3S2lNqCzzo+KIjV91885pqDFRCUctXh6k1uHf9G5zy\nSQJt5Uu3d6IEHDGhBfbMq4tV0VvIVNFixv5O2+E4qWm123dMZJTeNbk71vmn\n5JQvGGxMZt3ltF1j873WedP3Ud+25k5Sfz5wJuL/2eJx9QE6N5pUJgMvwDRC\nOi/mXSh1bun26LnlAaD4PrYFMMa4C4qy8cux5q/dZEYB5f/rgq0SN1VwqbmO\n1XormHNH8jDIX6FFAn7CdQON7ksuLECWIbka/rFTkVGfLxYoz1y2GQpelSNz\nMYeKki+LRvxqFvZzEw9ZUHu1Eu/azRO8lN4VqVLVkbxQqFpdK3rmgXGS04Mm\n3v+EfzBGMedY8DsJ1y695SPveJs/WhWBwncQqzrw/j/HUVeBWjhk5yvd9TYp\nZ5SjnZXN+mXkZT8fxMJD6SKS3NdDqLea3rNXtb0dTX68GlRGL3rEMie2mATZ\nLbXOcAOXqo8EEWiO/WxZxVu+UluSN+0ncHSZzLMnhxb30OgTGaYJ1EBg55U7\nlDrIcrXyhhM2dnSaEcbYCbjzx9KQPCBqbU4Oc4oZXvSPquKPKypR4QRGEp/F\ns2MC\r\n=w6fy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEr+YPAnGoob/M/ogtDA2ySKKV1GmjReZmWvIdmvAHHAiEA/XYTb1Fp+tZao7gMFUehsk4e41LGT2QjRjz6gHEmw30="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-rc.2_1556568115370_0.9753763852178852"},"_hasShrinkwrap":false},"0.13.9":{"name":"@angular-devkit/build-optimizer","version":"0.13.9","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.13.9","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-GQtCntthQHSBv5l1ZY5p00JOECb/WcE1qUBo5kFjp84z0fszDkhOy52M1kcWCX4PFzJaY4DKk58hbUE/2UN0jw==","shasum":"05a25ca7743876987158881585c55dfc478b95bd","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.9.tgz","fileCount":32,"unpackedSize":284372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0dP+CRA9TVsSAnZWagAAAVYP/j87q+H7Z1c1v1BEXr3p\nYt5zeDcyf0L1Du5iHWv5FoXmy44yCoHonngy8Q4WrBK69r8z50GtPbYG0QKW\nm+pWEcXOtsgGLHMCIQ8qj5TXyyr+hCaRQnwD5rRAW3AeBWYcVxSAi5huVFpw\n98SKta8y9vWjjZs5AAaTu8FBR8s+7oo2oVSag0zGd1fgMudrEJjPQDHq4UG+\nQ/L9RZz1DNnUSkrTMQ/95SktS2xifZPvUrKFplkxHuCxsYMKKlQQfSz0B+Q2\nb5ZOMs22N4KUPfEVJ1hVHwCml54hq7qNYj+TdAKQVf9TE+ZGbIDdXfCulKE8\nYcbN5jhmFOXhdA3U9CkTduaBIMHEmyYllGmFPDQzrd2iJ8B7xPuUKQpXrgJf\n1hEUoBzuHHsLdm0Y3UK0xUFC76SDdns2sdWeQU1PK8l9OJeiWFI8HPSmIAId\nhooOSyDziLTUMP/fzDH512lLsFhWK2Dd+HABRoBmMZRsVBt3d3HJTDcpxOBK\nObOFqX8B557AMzo/EEcKNB8C9Iw5/96lBhEm4EToqohZP5Q3DYJILFOYvOsz\nPrjpR7loauQWx5aI69TLlxZvQf1/3APT4sMD+IA5S0JgN5QAJkzSmRRslrii\nUQwfJYkTc+gT+y93wM8Lrc7suj8vi5fIXbgGAWSrj6yqUonfNzfak0iBli3J\nFUR0\r\n=mTsl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFAnbDqTVwHUTOP3+KavFvbex/hehgl+V6NKFu5ytGZsAiARYEpiY1ihptxPbXTF7Wsl3r9zJZ2Tkax7pNQtJwZK1A=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.9_1557255165442_0.9783734939043234"},"_hasShrinkwrap":false},"0.800.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-rc.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-rc.3","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-pCKssuGq/YX6AyG8od8t781PbpQhJl3bH8trKYRuTkfNnrErN13Ebl1WMngu0cs4BnVsreUnI6x9ZZv8YxD4Ng==","shasum":"d320cea2c07f373dd618f75d0dd60a29e5d5f578","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-rc.3.tgz","fileCount":32,"unpackedSize":93874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0gaDCRA9TVsSAnZWagAA6r4P/AohSbpjOZN7tx9oOLSQ\nOkfW1NxQ6P3WXK24QUWbADUTtT5CqFJNvFskRBihmYbGocGPvfMwxDkD0/e5\nbFYa5a80vzmSdxOb6WbOIcYp+Cw3U5Fw3mdWFXVe7tJ4Dz8rxaWebrYyE6zk\nPhfIiKQIalmwTKUhFITB9fKeFajXYxVGx4t1ewEWTbxr3TZIQBdaJO5mxTsV\nwSGp9Afu4bmmrCW3qjV9Fx3nnm/KUMT9leOj7eaCGRiv+w+sC93UYRi4O7WT\n3HQjpwAgGktBurpBQNIuTTrkhJrWRqOYUkOddDC7LjwPoNuejagpqgyJuJ2J\n8xYqqQPjNqL+qFx8bSIWzwe/bOSnMMUj0uhTXJDObag75/fQZWpmX6Ni1wFG\nUIR12NeEXudp/AuhoJbXx5ZFuKD5iIzDMplCYqo/onD4JrvWuhSW0EqaiqlV\nib/I1OdaJaB+KatQI8tiuA8Ci3C/JrAYubLR6dF7wh4DV+8aJsipqRPHEdJz\nUSwa6UtWSrxAc521CfnRKNw/acDIwzskVt0/GWh5CRPZweVoI0FLCr6xZPN4\nzAm2qtkYpZyNStVKPUBrQ8GosbFFS75Nxhfjc7MM0NhRr9mMJ6PzbBzpohxL\nQllWd94Jtincn1jHN1H0MvxMGkFg1DhprUVu0HuT/DAAVmLcqtMYWOG0tnAp\njPmJ\r\n=hNBO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHIM9eCyt7XxV6WOVD7wHbHxNwG/WVwKhhnv3Oo6bZ1yAiAIo9+RCF52P01SfP3rzju3MCKO1yFGSBpRTNIrGzAa5g=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-rc.3_1557268098716_0.5581373915479324"},"_hasShrinkwrap":false},"0.800.0-rc.4":{"name":"@angular-devkit/build-optimizer","version":"0.800.0-rc.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.800.0-rc.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-anuB5TtyiJZZUSVgdXg5BJ7O3sOSO6wH9YqzgIH9mIhh7w8dAQNYZNquRCHeewuf303eJODrD0hXWa6wuSxuAQ==","shasum":"b914e8f2a31c823b1dc37e166828a5e5857cd1f7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0-rc.4.tgz","fileCount":32,"unpackedSize":93649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3If4CRA9TVsSAnZWagAA4uoP/2wDZOf9UHiAmJiU1VFE\nmMmcdzcvWHqnMcotvCeUd5YgwzpPTM6Bf/g/dHEGBxLW6NkthacgyPNmYhj9\n0+Zv27gF/cyVYJTcefB9eteoOD6kaTIPwxdHoFUkcIbL94SU2/HYnbZJ6Cc0\nx0tobfwJhib9cof8DPbr0m2QYbsXvU1lPweAw+ySF1ynN9whCKGuW4p7/A0M\neg6F9iXBxpx5C+yjuPi9gRExt7dom/M6/s1EXUaaSPdABoCcTMpC5oWB2TMK\nr/ZDOEm3OG+LqrKy0Ce76IusxCY8LyOQd2xRPgUJsZa/ueLMgVBSm5l0oqLi\nMS0DbScRCB9qVSG3E1SfhcNF2TG+AFbF8Eyj3tjWWASZF/hagfUwvcIpddbk\nzKlNVwhTqUj5HBvdm04YrmDk9PlPs086EZtx96THQcPIhJOgZuj8VshIhkhj\nwTvFl0jJMlVxjQi02BtZKDhlSiz7cGCYqMIzdGdmGTbm0JJmmE6zUz9PMYXX\nNjvi8v+O+X1mlwhVuemKyaBe3OQndAWuekKD+u0dTwCBr6f2V+OIShMMMsLr\naXG7aIuQUfk9bHB0ZgPKATYm7e0wOczubxNDgBkx/GU2tY3Jfb/qJZQ5TvfU\n9rZHQkICyqjlxHa/Hv5LwlIMSGIivgGHuXrdpnzEanwYwAk6tExINq5u+hAa\nG+6T\r\n=vtNF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUt1X0KL1UjmJn3fwscLDUqJlZIjtWLy7Mc71kHBlijAIhAICcOJxncqNSnCjMarjNVM3fxPwB4gouFIZ1IMRHWMJ3"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0-rc.4_1557956599365_0.05203999392519498"},"_hasShrinkwrap":false},"0.800.0":{"name":"@angular-devkit/build-optimizer","version":"0.800.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-Cex/BynswHw+pvhiAwHlW51PFerGoa6J+wR93Te/4yIiCrX6KzWy6/v0RO5eY+iuebAr5QZDezcofB0Eg5yjiA==","shasum":"c2c8d5966801e243bf25d47b704b5b4de7cbdb3f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.0.tgz","fileCount":32,"unpackedSize":93644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7Zw5CRA9TVsSAnZWagAAzTQQAKPQqrm1gAX8Cniuy5qn\n/QXDVTlyX/TCTkXZS7viIE+VhIh/IA9IdtW00PQD506a2WWOQsGWncPRz54b\ntOduwnvfkc6tL/ij5sjJB5dVetrvrE2c4F08wPOlVckiWh8vqLYbgznjWimB\ndSEaDd7yMHc5mJ582SsA6tF6r492wkIMc9b6ZhGCXa385VFFa0HOhp/uUVU8\njyEfcms9B2UbWK42J5dOOulnXkuZKj6vVu+F+KiR1TwDL17DBkTc4Nh4j3os\nzFBaSm77ALfrm5sXN+6loKT+pJ4GBEhVrSqIak8iXK2JmPa8qbL9iZndVBFR\nUWzYsnZW3SPI+anKoh5u+RSbD6dVogJL7pffDr0749oKJmDTc9adwbgx9oc8\nE9mgK3E7yTcImpx0ZzQJMQyJmkMuSIKCRWBXBGJr1efeYPt4i7oVIxf7Gj7v\n1LBAmRg0zNyQN+8koWNrizBLMbI/pC172QARSsis5HfJe4N4ey0xHrEXJFj6\nUG/HsQJnU/NdfNvtf8jTzeInMC1C976fAgk45p2l2BT22cpvWGcd+GrUQAri\nhbICxN+080HFPW8eb3TKA8ebBn3xhJG3VRI8JTUKrkBoEyR6s+plUWZeCzaC\n9oaRtSRdwL5/bPG2suqa+1CHpaeeFPQwUpLwZnLdUkytkFbWmeqI/jIWfmSv\nj1Ci\r\n=ryUt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRKjgYpkg3jtj9wVvLISvWOKVMFF0wGma2yfnwMoCCbgIhAKvgZ0Hnq6jOSv6eIKocOscoMpTWJY7HuotvwnIVLll+"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.0_1559075896897_0.5116431644954553"},"_hasShrinkwrap":false},"0.800.1":{"name":"@angular-devkit/build-optimizer","version":"0.800.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-JES4aXyLDtuI2mXZOkrVD3WRLgicC+/ub13j0sIW3ceBJ4VCuPOJnCVb5To8hEy6E4uKJGFe9dXDQjOis7rmeg==","shasum":"9300232f3aa2bd3e39b624ba0dad1873353f2a55","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.1.tgz","fileCount":32,"unpackedSize":93644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8GAoCRA9TVsSAnZWagAA1JgP/ifD4P8c5OWGYStwTTnG\n9JWffkHpK8kOCueUzYT9ZnXK3i/kKBFfB66fZgZr8YnjM32g4hgmZb7THruO\nJkz6HbDn/NwDs8bZvwOBqRTqJbpxnH4/K95u5WWJAVXCB52mXxwX2j686xc5\nnYVp4LoXpQ4/08PLj9hgxZtGaKjqZuDSdsApiiYfR2GLVq3VRcRJcagdkB/g\nCQyelgdKn4jK2CoJsVH2SZLWoTIh7zXfv2rFDxwVAv+pJFrwPFuk7fNR+9yT\nMMGxkmbfIdbUqFNTDLRwTWRIOzVYMygDof0MN7zWk+H52h9t2sgkXR9jt9jD\nAiTMrocnjA5pYtMBnWYYOZY5Ra9RcohOMyTw11RtL0Pw66bGhajoAgiGny+C\nlOD4soGPC1sr+VT60X05h9W0NuFgjYkem2ak5MGL3ueCYknG1HZd41LJNYw3\nD+pW01ezBzTG5/xwMCmm6cmHRckHlxK/CE2LqOH1VivBNTTrTT5PMV2ccR2n\nDVqAG3e9DgRbfqH8ouB6N5b8uA9FxxoZntzNbR51VKVMVA3OCXrXI69uNE6O\ne+aIYiXw2cbaQRai3zeX5JGq30lTagcnyhT/7R8AlyiX54aHVwJIdj135WNB\nEg3uczbC30G2ZAHNWLLwec4qn5Xz1WyHOkWZ1H7jVY/Qzk01Oc+qa/BphE0o\nLZwS\r\n=1pmr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvj8+i4kOOFygyB7LFWJf1HPLZ569g8v6mer0YePfNBgIgVIrIicti6Wq7BfAbuFqw7hsZX3zo9TV1jfjJWuuaVi8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.1_1559257128056_0.5110287004038636"},"_hasShrinkwrap":false},"0.800.2":{"name":"@angular-devkit/build-optimizer","version":"0.800.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-A/lX7Fjfeh5PspGURV8fJeOsrIYM/7why7mC6v78zdxaErd4S18wUXJDfndjx3qiKyuq76Uu4cQcS7XfClpb8Q==","shasum":"4223b2ac8c2a4c05682d1f3cb0417b4630b4a943","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.2.tgz","fileCount":32,"unpackedSize":97424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+Y4jCRA9TVsSAnZWagAACYUP/i2XY65RDYCrZ/STZlM3\nn1BeVojCdKvjToIwYow0ZdaRsmMtlb6M6zDhGmGAPxcIS3z7kB84D74+/dcm\n34RlKmT2wz6mU/NoaaGREeSQfLq7xf1eBStQIZgv30SlPDBDVGWzBVQ9K/V1\ndodHo7q0039jY1fF5Ja71PTrV2wBHPGtxHd3hdfHF79ZTgDjz/nK7AUukXbu\nUQWVp/EREH8z+GFICx4/VcbIaLXex1zrjM3MuOdi/i7Lw2JEox41GRLkSyAi\no7p7bW7P25MaZna6xKhhUG5fML3XPGEAFgBrR/+KDEp4SY/KlEevBELKDqRQ\nfaf1YDyvGNOSQV2iZKpTCj5S4b66uZHzNJIeb5nL2+N3qleG50w+qmbwcXqt\nhsiMCWBigCmC2G9qz8nhsiUrAm7okGe5gKmBq4gwzRtzfvjqYeQsa1K4UTo9\nUCNLYxfNX0ivHDh81uPrQTfcapDcEoARqcFlbpaWvymKn6F9qHJaICmgzGME\nqKj/T4YJSXRBuHJzuBcdYh/NEEuYu7tjDqnc690xJQEv1PumAMiqKN39qglP\nl4Fl8NfBA9Z5oqBI+slgLvWQWnkbMr/EEEGsqZfMQNyMX3lPDKz0JX3EV7tD\n7jWRKTxvE8+ZWRHhSggGMgHmtiBnFcv5FVL08iywp6IJgr5ac2u11KtfIgOq\ndfcW\r\n=yUWH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2JfpP+dPNT+05A/gOcur3icIL1L0PEwDyQHKOzx4YNgIgIge2nrE2o8U8hyFqWCiLMb/Ywe2/ZLt5AWpKNCY6y4M="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.2_1559858721524_0.9524959208754993"},"_hasShrinkwrap":false},"0.800.3":{"name":"@angular-devkit/build-optimizer","version":"0.800.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.3","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-e2PVGuoh5h/yz9TWogyLYgflmT9QnK4WgY9dcL60vOmjzEJ2zk7EjbrPuiD1/pJKb7Chw4uCdlVyjdlwEwHJHQ==","shasum":"c7d17d35e501ab8f5bb31005d2c51928d8664555","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.3.tgz","fileCount":32,"unpackedSize":97424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAtVKCRA9TVsSAnZWagAA958P/1r1JT/XpgaNU48kwYDF\nyfJYXVuLHigEY7QhkRZUk0i3ihOgStQ0MRgZSE3iD+7JydNRbkCzKDiLGZv1\neYCQT3UROZ6AIxteTv8icjO15cxxhIs8PSQpno75YiuGQGQpXn+pErm6ZCQz\nq/yA6cJ2RuJxdQAzi6ShzebH6z3WMTpplbTqDOeiD5IXga/fEqkF3LIA0dlN\nmzWYPfQycSe/eccG+8Nn6XU5k1JQVHo+HlDkGvSO29knpu4RsTjI4bpFOnuZ\nTMtp/8X5JlOchkro/unLT29TWk9iofddTrOj3OeyZNjZWnoIh8eRy3iXXvUc\n+Febx+FxJzwrnLU5UKQzn2YvlD3zDKI3meb/ipetOR8T9CwLxho5XOSB8/jw\niR0GCpj9GEU/j+T+SLoHFcNq4bFcwV+nvOf2Hy5Q+416M7oZGH3/O81YA32/\nWQWmhy4Gw7uuMB/XLCaVYPd/4yD08VuUt++ItopoGxI/PNAud+DkYLvoCPnx\nzp/u1+qiqSPb2IDKWtMmzuk3UirlUw77NwIrUKGwpDHmdzSEVBNOFSQ3I2NN\nDvVl9qnzTytdwkDgMrxaNQiacqaL0vn2316UbcLH74siL5LrT9wCIPxNNQzr\nrE7mWgQvFqhPTYdYfdMEYodQZu7Z7VLz9l+XX/kAaoZA0Lf1O+0xi2GNso6e\neoua\r\n=ZbfC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6zACtwVGs/6gkJxM2Zj1a+xYUdGhZ3poSjfs+Y6IWIAIhAKy11PX2clmWqB27VtyuaeDF5zpth2qJzRzr3A18n7VB"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.3_1560466761783_0.2688799412572118"},"_hasShrinkwrap":false},"0.801.0-beta.0":{"name":"@angular-devkit/build-optimizer","version":"0.801.0-beta.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.801.0-beta.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-FUh8wOucLJnmSeNjU1aeZQd6F/UOQQjDG8lrPn+H6WD8l+9lT9EcMrcOkZF9xNrOhsaGBmnuxfwGlVt89m4RkA==","shasum":"c50636ef727a8dd5d4e7fc8f887c6e390c437de7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.0-beta.0.tgz","fileCount":32,"unpackedSize":97431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAtZ0CRA9TVsSAnZWagAAIWYQAI68FXGo5N3Y3juZ3+ZJ\nT2D8MDv4zwpER7pJJEalnurQxRvLf4TTU+2qM7QK62tdAMtYFz4YxCPDkh6l\ncKDNWmOFfwHNRVLWngVOBsoMHfkBdMz5nzh/u0mk2R1dxW0gg1/daYJFtzS5\nGiuFNFjNoxImCzn4+t7xRRvnqIEFxp3rjWBKc54E0cUnDZQsaq5kKV7AXtr2\nkWmF/WWc9Fr50XIiT/euCrT83a9YJPhxJJ7mG5MzyparoohP/iVadNw0w3v1\n3jm1ZGvBMUoojZ4+qJCx/C+CNNCm51ptfYg5tMDpE235dxafkbjS7nc08Dk3\nkBBVJTBNo1pWuAVdjO4D+ZbNFQxJrnjQauuma0/pmCqTV74eI0MUbTLbHxN2\nAKfrPWcE+CbMVHZGdCrIXdvahj7Z+jrZ0+6Oav/Lp1cHJ8C3ubQm4ZCndqnC\npvX+wFrmp6+cuWsJBoZmY6cjDXj8/GbcWs801KIZ5+FSLPU2R8XBaGN6GSnw\nCAWxWtmAMxZ63OETn6pqHE2hxWhC/aCdX+orOgo3dV7qSv5v3yhdmY1FhZvK\n0ZdrUxHspPytVndnuOIYiG0A0D41jGxmle/tMkolzSebCPOeXlMZhiLUR8NY\nMjbSxBo1fjpmXjE0PGFaXhSmsjyGVlVR7R1FPozVwZLUVL/FWdDpUjgPgopN\ni6bd\r\n=tI5m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD50ZZKRCMxcmgKqO45xCdROAIVuYRzx0IuSuFeFWwWBQIgZvh1Juh1DlsCnJCvZLK33CcbHZxfq5K753oQZntt2oo="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.0-beta.0_1560467059748_0.45040273202057723"},"_hasShrinkwrap":false},"0.801.0-beta.1":{"name":"@angular-devkit/build-optimizer","version":"0.801.0-beta.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.801.0-beta.1","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-7wSq18Hrw5eU06pQ6t/xJc7ooTdiogtqTy+8wbdIvt+/+u+bQoQTUSrt6y7/FPBAK78ADdigDfMxfnzLwBSydw==","shasum":"55e1224113a5be980a80174d3236a91862af9da0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.0-beta.1.tgz","fileCount":32,"unpackedSize":97431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAtdMCRA9TVsSAnZWagAAyu4P/2CWRpbfEMP6Tv7+ZT+q\nsTOe/slosaSYZMDYhgd7nHyjVQGiX/wkJUOXCkPklHPDbCNl4mU0tuE8Vg4H\n6PNxy2yc/dTJfNT0nkOyr2s2Hsl1bWM0PgZ1G2+YX3MSRnyB94SVj0r+sZyg\nQHIMROAYXBFAIo/aNM4ebcmzmU5OPxAg19qPXSDEBokWnLwNCiLNSS7aocOT\n6fuknYYHtOw+HWh+Dm/Pe5FgRjVqebrPe0KPT3um74ht55obmglGy35istYW\njTzmTCa+kMybP3SjImahlrF6tEYhfmuyaJxsiBw/xSGO873qsbzspGL9yZrb\nmk18Ftn9k88ULPr7vV5YanhZrXw8C2TUjewZADm8WPZlIPsifAaGqfz6Pj6W\n4m1vWVoYj+j/Jt9kdm/HofTWRoWNNjaZ0ytDjfXEhvT00Fd8mzqkqSiRtgyO\n8h1ZHGtPvpjbLn3xH/TPNPHz2ycwWS0Q76U9PSt5B2ibrp4AlP+3PIcWRwSP\nD0LaCAgoapViELSHvGSas6RbQSj4IOUmfu0vTp5EJ6fwekh9sAeVkY1CFd+T\nFD7VAIj5qUzmvVJHsGoqm2w9VzNF7F3bHNl3Jd8Oxmo3gVKB6rzT6CQaDkcy\nZkdkaiNmelYKAEYW9DZWLnyx3hWWlkzg53oCy4qJ940YvDvSKQerd735GfjV\nMPRf\r\n=qlT8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9Ki529Pt3k7PB0510lfD0jDGGljHwdWbq4PUxaEozYAIhAKS+FjchMXySdJVBNpXjRqk7oVVP1ZU4Ao38k5jF4Icy"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.0-beta.1_1560467275930_0.8390883073767175"},"_hasShrinkwrap":false},"0.801.0-beta.2":{"name":"@angular-devkit/build-optimizer","version":"0.801.0-beta.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.801.0-beta.2","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3cfeOVtlkUj9vCGqxdD2aOJSeKxcDL0jNbrtrToGbl7Ee1jlsRyEmx1K0l3xTuI89Rb6pcBelfbBbDo3HvQLtA==","shasum":"1d2eefdcfb9f7b9a74300e151ce084f418e0d110","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.0-beta.2.tgz","fileCount":32,"unpackedSize":97431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAtf9CRA9TVsSAnZWagAA0xoP/3DUnHtQ6WXtT1JCHjrX\n1Km9Z+EF8KBBWUTGJTFa33Y/s1BajPLT6vhJ9J86f3AvSSOTL/eEdGBzKRg2\n2vZLs4lb1BSztrSD3S1h/LcoR3VAl21R5e6IXFWvRve/nxXN7cmGYBU58F3z\nteLM8kNy+RB1bk4GIXlwMbh2u36QpG1MKcAlOFj9Jkpy8e5or+yz5yv5rjP2\nWGengejh3ETx3GV8P5VZ71kK4wceiW4X/MmQJDJQlyADi4Zm1T+i3nB6K9Cd\n6CovKpG0rBMChl3HDLS3N6MuQuT5XQq+MqjnNWogCQKAeNzdATTbnYO4L6VL\nKKH3uxwfOTXpqr3RQmygqGr2DLMqnymtblN5yKJESoan/g72zHzv1pTMI1M+\n6nttwaJSUKdQwX79vlZmHhXwDJmyQHnTzbejC7FoqW4c4LYj3qAIpvLU7yDJ\nesLTYJ26nu5wQsBPbdRjqy1xx6ln//jxqjeentxBhRef1QKtDv54Z2rgALpa\nL3Ebud+XV1qFdy77Nudf83ZotUgDo/5ihHIq/wFGkfM3WMHSkvWhuiuq44Mm\nBTG81fBChzevDdXcAQIsb5chWdgMMVWsrGGcGt4oxxsCK0MXe6B453kPdKaK\neEEGGuAFl1UEg0p875DtoIMvkhRVRmb2XRQw/ama0MDn1hq0Y6GGQpq28hB+\n2DKf\r\n=CuN5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHj1enfg60Za9sJOhmcNIA799RME6uiXo38NH1zOspgXAiAy392QRXzHMR+wdXTk8eIALGdRh+6xVHTioJq4mk0s2A=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.0-beta.2_1560467453229_0.08643990518249778"},"_hasShrinkwrap":false},"0.800.4":{"name":"@angular-devkit/build-optimizer","version":"0.800.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.4","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-+bUF8p0jIYQ7rw/AwCTE/ArrpvHHOFAuBK8o+AzlaERFYDw+hyVzZedgT9DQ3Yfzqhmq9ofFa4cTR102L1KgmA==","shasum":"89585f46787a375c0bbb0347fa1ed2867f99d5a8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.4.tgz","fileCount":32,"unpackedSize":98150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdESSgCRA9TVsSAnZWagAA1U0P/AiQ9nAhLlQRLDHCnfqF\np1FvDc7iWxhKmvKPMLXxA6j1XVWy/Z3nvJdlPi+U7KbTW46XeZArRIQ/8Lyy\n/4L7OKyN/ShQoKNr/T5Pn9a4mmrF6E3mdRmKq6+8HNpkRBMTh6yIlQOVuJ0I\n3RylrOCV6FflCekr/ouf63k+WmXR46ZiptpID2enuh3IQbCaPOJtOnSINOk6\n7W8Xihg7tdvXTtsbjwyCE/ZfAOKbOX//EAd5nkV65GgwDrLf1zwvzZ5zXc1P\n/mRPf1s/oCm9NbsI+lkeP90xS9jbo8qtfeY8M1aFgXYcKJdzsIL3xoVUUkwD\nn6XsoR9tyNqskdcCwua9ggYz6sEfoaWNGvrTnMITZBDv7Q/IgjNC4jRKofZW\nkLlMNUUwnXd0geN5ZyV0Ybt+kqArcFBpA5JuXJkgQbmmENnDo/T4pe+OFmWh\njeKGGMbPqvKGWRChSLjvdmBTeiRA9ynDd7cjFCdqWK2dIzMZUo1d8d3q8EC5\n0RRLeWZOgR+79KxV6El7dsEY+o03f5xPogP81tYaDh4CDisa6uBycLvrsH96\nXJenkSd23pEnt4ZbWTTMSp9/DBqFznZTo/rV6FjIHl/sBIhPxUagTE/bitVa\nv+V9dZ9x2c0GvkFk7WdY8G+M/ShvjIv/3+3/Qa5pnm0u0Qln3sJ14xYgbEnH\nTWQy\r\n=Wj4k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/9GA03l9+JPWeAKPnxzR1rnvH9NEtmZhahzvJpGF4hgIhANh0g3mko1nqQX1HSq75fMG3I0a3W1MQIvlrIFyfrViv"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.4_1561404575849_0.145071819194466"},"_hasShrinkwrap":false},"0.801.0-beta.3":{"name":"@angular-devkit/build-optimizer","version":"0.801.0-beta.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.801.0-beta.3","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"dist":{"integrity":"sha512-r3RZLOzhZ4DAvYjXS0WOBxIRpDNDMMLPPUzH/lzXCovnOEvizGhVCyipZYUiad3MSewv4Obuo45vurPQQVc8MA==","shasum":"3ea31421cc328095be96ce7b4eb7d76e5abc1aab","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.0-beta.3.tgz","fileCount":32,"unpackedSize":98192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdETdACRA9TVsSAnZWagAANeYP/jhpZl2ok8Y+TlTJyWh1\nDc2thgxZ6RwvhSltkRPjarB7EWtScBKoakdM8CCXYZfBVN4Tpomqx/p45P93\nFoUJBYRV+JvfWAb2pX1uaoEiqQMJWUWzDsDgctg+Jv/K6Te04JVhnq8cOzcB\njk/9Qzau6vrb16Ct5KUeYpFL7+rGBslZiictrNmbey4OcLLU/Y5tgR0HpHPa\nKOq5j7fmo8oTsVcUvaMxOYFQov+ESY9bx345XASPWtwjU1WRF1Eew20SYwyy\n50ZpJldy8/XScf2d5jkernVmAvV1YN19SgNq7aYKqmdILin3ZrX8OR0844mr\nanYGmmCyyZ91lFnvmX6i87o02LBrRWcl/XLMiyqH2BOLOZY6kl76znoGe1l0\nvRnSBEi1VN4hXn5EXQWpdV+trQCwLU+5pf5HX3UiYEdLtGWpGBJYjnRdesFY\nbimzTwIO+8+RnO7A6rBpzGd83GSYsOE0XJ0Y4dpCZm4tVkCek1SpgFBcYsvw\nbD0bgonI5ycw+TxeYcU0vwbQRyaSmWrugBIE4KlIMdAGgF1ynrf9hGoKQZfU\nAd14plybE9ug0AHNgSFDU5FKGRNSU3nOKY1pbsx7jXpqIyryE9Lh8CJ2zkQc\n+5Xr1JHT6+2Xs+4rqV0A6JX7rTwHBcaIvU73Io2wDinGoFQHFfjJbrSff1q1\nvJzk\r\n=g7ie\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6KPjjqwr1UmYIkzzNiicUCeLo8uHz/RkMUZ9BQOQWrAiEAqNYHK14aDZX9ZrsYHzgRUFcMNpCfDmK8GcZR4wq8Kx4="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.0-beta.3_1561409344029_0.2129327180416991"},"_hasShrinkwrap":false},"0.801.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.801.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-commit":"lint-staged","pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.801.0-rc.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-IEsrjCyc4+S7N3DHG4Kkg0vCeTt5wTRzcRWTHfnjAKbNWadXaiYI9kbxvJTypnbO9S6im/fBucT3gGmFuMtYcQ==","shasum":"1b817a73e114ed9223358bc3538a5506b5f89b6f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.0-rc.0.tgz","fileCount":32,"unpackedSize":98318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFSDzCRA9TVsSAnZWagAADi8QAKDnjUl56hoFPOf2IXy4\n3PkB9kZg+0t1zvns09r0GZ4iQBba+Ua2//bHhvFdei4UCjRzUYaFE/AoiuCI\nnXnymtDNdrfO8LoIz/4ZL5ez0IADxVXZyt3YbKqUtiKxIA7IevvfMlljfZgH\n4LPLOSF7JU1xESpD1l2qgjtRsVlGn8vt+nORNblsyKFCEHC4ME7TkMHt4Dgg\nN0l+Y25R4vob5xepujjRoEvWdA/TF3kG4YMssHMvZ8pPlXUTn7KW1yBobzdQ\naeHDhlif3DfpN41SWwZTyD1jkylRG4jj4FOi9PAFKLxw5Bt38QfngfjZxsnC\nXaRDmXKtHCDkjF2aouxU0qOcL2uDm6jkUWJFYLF53kqC6/0R+iZ8pGb852D4\nCmDFqdh1xhuC6Pw7hbX9Zl6w8Wzhyuu4t1A0f//5+72x9tSPi+3f27RTUZlb\n0i2PazCcQ36fZR08AZu69bsFQRcpXL/7pgyzlef30yiPWj4P+I9TQDjHvEEh\n+fqtyBjhDq7RP7JZSj/Qn9wRPlSurz3lhSI5/3ZsGPhuazeZCXXDFwQG1RLb\nnxpRDO43Wem2alVB7uq/Ys8OYsWUNewdFSELPK2srcneWJ3iAlsedR+qc3MR\n6YowVAJhQMZjZsWCdTSQ/2cgmKth06gjR9Bs++CA/QJbFpb87ZXl/p9v2Jto\npAWm\r\n=tI6/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE01RKSO7QQMJPiD4NaIMdYUOiK1G+MeRnTnSEPFRK5EAiEA+n+i+4BCe5bT+VJikCFZznIV7liIFyvZn3Bciu4tbM8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.0-rc.0_1561665778301_0.017304008858288755"},"_hasShrinkwrap":false},"0.800.5":{"name":"@angular-devkit/build-optimizer","version":"0.800.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.5","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-MGYO0lTtqqMRJeLOQJBHSH97ZIi0lL4H0/DNwLwGqUwWe1snREXZndYZtwlGMZEaxY/lBDUTzsHQgB8rv412cQ==","shasum":"bbc2a0eef1f7aabb9b232860a6a5732001e5f11c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.5.tgz","fileCount":32,"unpackedSize":98150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFSQJCRA9TVsSAnZWagAALXAP/26hkjokMOlDjal+4NT5\nrH94dVpkX6H+SB3ffNEFEIkuN4vHaef3w8FBpypyXlIFzIXLChlR3AO+z5Bv\nvJHN6a78xIkV/ps3MmiIKRY2SojFNuqim90RVb6PjiqOjyV9FfK2/8kCx2A3\nTGjpuxXorx1o7Pjf8gfiqXwD2obwCMnF9A+rJRMTI4B9DXIHHlPc3tCPQe4d\n1McuYkACdSif3Y2efDb4/zgy7PqVl9nqT5b8h2kUWirSan/y2cv8hvxd18xu\noQe9p/2Oo2cnvVkL8yLRcjQys8MTpILMgQOg0/hR52xyzDS6Th4D/ak4Jhx1\nLlpFEhVCmamZQ0flin9FDsXj16X9ZgM5RsP1b9wmBwvRKQ6KHdFD80jKiRjn\nQt5CTDoeh3koxgSu+sooD5sOz74T6Uiu6exfoYK8GnExKhU9RGS8fd2wZ0Kk\nVFwvnjk8DVkG57DxBgPNCiQC6YhbDvwxotv/3e1Erk63bi8vY/iScRHNqgoT\n8BNeRUb9EjH59fI/YeDndvFdz6+pknLUetehpY8C661Pi6xUQeYhfcv0sQ66\nJhzERZT7ivYwaRCN/KDTw0jFHPtU+8hAlBLLmUjJWheaO2qYVe+IigjOyoBZ\nRAYKnaRnEVbZf09S7fx05YRCrq3AVE/qbPQMshQBR+cnzdFkEiEK+Z+NABri\nEHg7\r\n=UHYx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDSPxh2xOgtOlMAXzk8g/4rXI4aQ0kzM8QGFdYJ8ItByAiEA0x33UI+fK5Viv/cf+cFXULxaUzeniJ3eZ4xVZT+EOVs="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.5_1561666568742_0.4013586302160941"},"_hasShrinkwrap":false},"0.800.6":{"name":"@angular-devkit/build-optimizer","version":"0.800.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.800.6","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-f8u9c5VA+bxbYREKX6EY8QsbIT8ziDRHlhJ1n6H2nUTaQi+THtbPfrDsf3S3aVACfkkY+LEGGl135XEPr5PoxA==","shasum":"2a801d0bb03296cd34e866d783a86b0e6ac0250b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.800.6.tgz","fileCount":32,"unpackedSize":98150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFSkzCRA9TVsSAnZWagAA/jIP/36sMSvbzFzeskqu2Fl1\nFJW/d0tnalXMvQHGHCHpDk7iDQ8IR3SJxyiRgN4tpD1PGzvSY+GxowStk4Mp\nuELoVxlCtHM149DYYID1x+uQlFrWEewk5ZpjVBSSWhhvEfZIrs1sxBN0wtc3\ny2SaROWT86R9mqMWSP/3rlIZR0HNKe3R0IDpJGt8dB3OPuZxZirvmXZDFKVC\nof10y0PG8m487O/ghDVAN2FYce4jVD88quL0m3XdvI/9gEt+6Kh8FyCa9xgn\nOBm0nU+mspH+Z4aoHKhWsfbU4uYGJ0XOdF8IORU9Z/rX92d5NEPRY5+sBIJr\nlYgHBPXfIao0hItI3ueIyAt1dhv1yMZp1CcoJAHNKvp7MqE9mJULAVgc6IRA\nzkbR4QPfh/PiXhuRUw3uTqKDxHX55MMhG71aBnqFmFT/HzuM4YbK7KOmZf0U\nnjMdV7HjCW52Am6b7ROv5chOAS04aDejDDWUcuDAnDP9Kg8N893YB0YKkxiX\nj9LsU36duOaWKGS1oW+Y6aggdZ+z3jBh1HyFq/UngVsbUg2zxJip4nzFG75h\nnu7DYKNgdmAt/wirpKhremf2k4MtDdj2wEhz4CWMcVvpsc/TpJuSJ6OHRo90\nW3wPv2BltuxVtq/5xtElXi9jlj5fjyLYF2lvIIC2Ps666Hxrj7nCtHZkns79\nkVr2\r\n=cZQz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC89wkepyi8y9TfuNAQFynZCZfP4mpizBW8ib32im2xPgIhANNYhJuXpEHrH7ZH5A2t7cQejd5m9FPxvhuYmkkhmxTv"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.800.6_1561667890243_0.25725449909272236"},"_hasShrinkwrap":false},"0.801.0":{"name":"@angular-devkit/build-optimizer","version":"0.801.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.801.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-ggL0oaA7TwZYbuMPI+OOY/BgE3Oyhy+UNQVrS8PFkiZewJ2hLGc+fBoXWITya5T/ybd0BMUtOYNfAZJcmUNdfQ==","shasum":"8243efea9121986c20f8b4a797e367ace7e21428","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.0.tgz","fileCount":32,"unpackedSize":98278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdG8tLCRA9TVsSAnZWagAA/YUP/ivsdBdNckajUpWAEZ0X\nj1mQxknfbcVh01qWE92A17iQD6X9+EQkb3NOZxAGsZI7yH9j0IGmNl80oVWt\nA/5w/fWyNGese6/k0n/chOkNODoWJjwa5tYN+9enZrH9zN7+XZ4vgIMyJuwz\nohCpVvIreRxmmz1ebQqNuj0C4xZbks/Pl3Jaorw8u5rXvwlQlzWzMyyLA7pJ\nj9uUQzoCg5BcikSdeHyBxGPtSt2hdBU2vMKx4F6Ra62y46uJjtqzQv6S/LxC\n/lL/NU8w2t5DgWLporynGzFeu1gMm1i4cwz8T8cwjyaGKCGCXSubAamgplQU\n18tDWyfPfpstrgP39skJlFWqfLhK7UidDjy56JAKrR0R5LaNk5rYa4179Jkv\nuqqhfDyAJBu9W/+g0fEIoqsM9o0E+z5a35+N/Dg6OdgoolhCk3aRxF3mV7VO\nf+m+K3BjfFJzP1Y6E5JEEj6PjPpoKpj3+Ryv58FRMUDHwLWY+Y4gyPkMIiFD\npAbsF2wxYGABTjGBF6AWVxavck5RNGHPrpOFQOnqTFxrBXViAMdrwCdAoCOs\nRhn3N4g+dyMCv34iQSlKdNogDMbKR0snJENIugHr6IrMEVoxDHSeNR6cErWt\nupA4uhJaLQMdwkQZZxLd4jjUftS1XC04OnNJ/sem+h/H3zwAOIO7mCSp4Py8\nmKWe\r\n=8VV1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGBiXuDp7h3h6BG/XIBHdW2j8eIYvT+RZSrSOtep5HvAiEAypZ7CSADDVELC8kmDWtY/o5yCc/5Ajt5KI5obDeQM+Y="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.0_1562102602485_0.804211116081921"},"_hasShrinkwrap":false},"0.801.1":{"name":"@angular-devkit/build-optimizer","version":"0.801.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.801.1","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-/pB1PMJO5K4qSpBsXSNOjol4LO1w64WWEeqOIGZUnva0OSLkPiLCvuLNtfMl8am2FkodbsRORDGuCKOzVP8j8Q==","shasum":"1f3d9655749bbd57aa0b1b36158e5e8bf3c2bc71","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.1.tgz","fileCount":32,"unpackedSize":98276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJiQ1CRA9TVsSAnZWagAAA4oP/2hmk31+l7hdKBfUvaN6\ndsRLpt8LGQ6gfTtgjZ+7//1x52qItH2okZ5tOZR64LWS8gc5QP8OG+zj7NRo\nLE58pVkV6XmAaOfhQKtPp6Eg9fvZUCCL3xxbVlKdVb4h650RcoHi4dbhR2FL\nzElVMA0AcAQ0rdmORI6DtEyx1gIEF+cpmw93eY0fgDz6nuXVX4uIj3trNHF2\nRoq+rmyR0uWTfXyEvAJi4bgaOzYOjeYVt83x+I+kZ7TYLhr68d4C3ScqB5W3\nzCrFPEy83cHywj3fyWen0tjQSDNJFHWT76XWW+4MKGuZH0KoU9dawbvkzmah\neGW1gV+fcM4N+QeTGukK+NdM8Xr0jHsfbhVpLHiCwMWoanHbcIWdaPcCcVEs\neCzsjF6tTtBRD2Bczkb73pcE8+OX9LmTsLx4363237kI39Ux/NRDZJ1JGyLr\nOflJ8gIFp1YIdT7em9qO/qUDCAFaU0hP3EA82HcA1hyCyFAGbN99ggDzmXyK\nsDSfFjRo4J0mOFkRdSZi3vyDz32ptqiic3nA7pmMzvgWmlpQJaacfo1/lBJl\nAEc0q1m/9nYdF0+g9HnDeaXj/UQSzHYnKs47+yzOMYb6EH+Xm30jiq/VAL2W\nDxJHJ03Jq+i+BrxGHrOaUTxKMc0NV7syZrB/I8OSNMrZCvf7Pk0mx2MegXXy\nh4La\r\n=tRxF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDS6Asa5Hwip6xzUWckIZMLMfZ4gLvGzig9KX7P/a3VIAIhAObECznXuu+ZdKyBmp/up/vzD24XMIihP/lZzy4Om4jr"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.1_1562780724894_0.005546227419760408"},"_hasShrinkwrap":false},"0.802.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.802.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.802.0-next.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-zBVhdl5Xz0rmmRe+NBBQIPye6GGSFA+gnBZDaRBPiyOvk3Yqae+qK+VgdwZZitcGcTYOIk3G2lKiHoUvn25xuA==","shasum":"3c77db6149858710e7c09fc34e4e5d385615c280","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.802.0-next.0.tgz","fileCount":34,"unpackedSize":101318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJiWqCRA9TVsSAnZWagAAdtQQAJekYz5MrALjmmV2+6GO\nI/ZCHZX47dXMcvXZkWtmmxotilXSRyE1teOh1SNMdh56KOVcw/L3vb5jYggh\n+loymPY3s8qMVU5gO6Y0ygD0PQU0orACFEVm1Nv49BOucApMay+MlkRGm5+5\n9l8LdhjyLCRBn5vXhLMfcRIps5B2EdqoXAJGNYrkeUAs6LiwWy0NiH9f4gNf\ntjA6Z0EFdEQitU8W4IHYGTEhEUhnJcRyljgbZVupjkgVCMihbvedF/TVD6t+\n5dc0CKvEXVzgk6mHuFL3cU9h7RN+h7cHwO02bsq2jjXU1aDFHurMb0tYlefe\non/LX7r91cZN8lcPnAUjrAVz+IzJco0j9jlFz8pQtEQJMrihvOeU4zy6lIM6\nGiaPzuyEVEHV8IJ5nBY0O/HKEP4P/W8YtOWDDckmTiFbr9Fq3R3+r8u5aW88\nWnHDgNCwsXPBB1fEokvcLsGqCnWofyv415SQkm9dgDABpixk03CxQQJWCaMB\nT/EdXKU7u5BFXIN+uQxwpFSkuBf2awlv3l1TPrImMKFWp7t091cAlLOdFJV+\nOSjaP2fBQIbQMqwaE0hfQah2k6rlkAxC9ezsljP+tAJCJXQ/Yt4DP2EDnuNK\nZU57LErZqHBVwXjrn9Kva/f6kJINchlTZi/axwrVpGoWof+wuwfjC+1fgWS/\nJZfm\r\n=8X7X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcpOTsUJ47PrPir9E6BUgv5gkO5SRaPNNagjAq/XOpsAIhAJTcQIjLqLnmTuoPM7s8tdJwH+tDISNI/aVdT8yne6vE"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.802.0-next.0_1562781098082_0.06291678237957732"},"_hasShrinkwrap":false},"0.801.2":{"name":"@angular-devkit/build-optimizer","version":"0.801.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.801.2","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BwbRn+11MpR4XjVLoFZZY1DAPCnft/5z6g6kfbTmoJNm6TD7+KypCEXw3MzdGt9vp085XJibc405R1QmmrOF+g==","shasum":"71b3b68bc2e09b4a9753fb7602cb7ff3be3da58d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.2.tgz","fileCount":32,"unpackedSize":98276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL7+ICRA9TVsSAnZWagAA9U4P/i49J1lIjnpePZhGKCIB\nw7skNjKFlv0FFWP8jXrDihJmLvcHqojzB7p2N8akMAJeWkOx3vqnlyjAzSWu\n0b72r8piQ0hPQCYMkEVP1zYkWnAfmWL6mFM6OPst0h1Bg2CLwA0G5o0iVpZ2\nF3ipymdNcxF+mMa/Q20z12xFz65hvMKxCmX3ywryfXADSShparMf+yt/tFYy\nIwA348c2JrM61hIhA+2uetSu3pNTtntee/Yi0VhGfczqShTjoJOt85VMq8da\nzr5Kks8FeVMoC1kMgxbsCFlMisepNqm45/sGYaL8n8q/bVJmG+gG3OMf6ENe\nF/02tT14EKDpjJmQ2KMAwTmJhWWoweJ7esb5dR8R82pEOhtFFi9mS+ZsrjYv\n1SiXGQ/nhdeY1tSiEPg/6YYYmB4lAsyxSjJnR+SKHMveBx767cwnIl89e6zZ\nXuS8bufFnxRi82YcGOMg3FtplLq/7UNtGP/uZ8eqhW0kQQ+IxcM0uG044d3a\nJoUkZ5WI4ua02SBCo1lCq2kutLJ1b4DLnKtECTo7d/Z5Z8MMagZ6GkRgIJz7\nj0PAPTwXOyI3h/Yc/qyMjpzEZrKhYe3yLWuR07s8L7h+TCocsp78PQdiHtFQ\nE0SkRaFk+n/ngH04T6Jv2fs8UCpS5IvJKmp7E5ngbfc696UqeDUojIN+gdxm\nQuY2\r\n=axOB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXJNGXXWbC44cEGgsU12MHRIpIPw9hnit98raRXMw/UAiEAyfaBBNzwK01Dx88IKC7nZYAsOl7zAMYLp+QYqw/mT7o="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.2_1563410311338_0.840563681370396"},"_hasShrinkwrap":false},"0.802.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.802.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.802.0-next.1","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-aiohD+mYy60j00F2gOmpO2ORew0zmX5Z1EqPgh3hohXoVvhhrNFNJ+erVUdRRWS2fh9F+iH9lqZ2kDGmoxGefw==","shasum":"fa7914b3d3f1bea99692aadf00c3b34805184914","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.802.0-next.1.tgz","fileCount":34,"unpackedSize":96025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL8CICRA9TVsSAnZWagAAHtcP/RShQAUMmx330T4XY1yA\nHEDP4J1LMm7btgmNnmWmxlR0pTbpHVVz8Q/aKxeamtBpcfLgPRNLuD+qDjGJ\n9QyZ6+iGuLl6D7ulH7wAiUmbphxBJ9oMJeC2ZBMXKxdxLg7FCbpckxokimlK\nwFwPgl2+kb3ni2q2ikN2077MnB0z/jXjjVnk0UyrzZvioesFajnIX7ZegBl/\n/PltHF5JIvpQo+/qeMLDC1ao/87XP6VgYbzUoRKKD8JLezVTvuh2CDuo7G/+\nwSqdIkr2EwY/vFVAIfgZ1WsHMWw3mcHIyjzwYeqwFSkwScHbPLoNQ9SMk0HY\nKNCliSVCKyqvMPfYxBuKKJQQ10hHnxdril2H6eQlWC1YR5hXgB1h/wy9hYcc\nEhzoKwriWigLmwUQ8oxfdKxy81yucnotZxeJ6VbkH1JYmZcsYkmfAnv9mdWx\ni0IoQ/dIq1c7vQhad0LammXEeObBmbwZMep5nFBvGbf/mZVJYtiPmbTg1mLP\n2c/m5QDrDP8iWOFJPSLlnwDca8fBElDJFWSiGxT0QTvo+EADcfHI3g2NVPeS\nzKyRxB2/lhCeaPE7G0mPWihDP0WGYuvFo9zzGKyVqU4Ol6soVhir8nP1RNrQ\nbWqssTYOyurJgBhxxifvDY6xGhAzpkC6HuckJVLqXf+YM1tYGu0ilyEiSPPS\nXwFL\r\n=u/d7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGEtgqAcS+41tglcRNDYMzxQNnVepzeRRL+tkHsjVmQPAiBgPXYdiCOdoYiil3vatoTfD9MbGTaZwbsJeyjpzG5xsA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.802.0-next.1_1563410568012_0.34021714315595997"},"_hasShrinkwrap":false},"0.802.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.802.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.5.3","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.802.0-rc.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-Dnd00jOadLRiDiSmYYbpRuReRfvFHDXFhaDMpSLvC4TZSyALEHLTDMuURSJ22POekyJ4w212icY3f6BHz+3maQ==","shasum":"1c84ed572451d5be6403536d75e00210be1d31ae","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.802.0-rc.0.tgz","fileCount":34,"unpackedSize":96006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdP0cSCRA9TVsSAnZWagAAI0IQAJjJ7al285Mo74vSfL+a\nzdWWWw1fwPcR2B0Ad4wqBFv35tofcXBC8b5z8F7K3bgDJ7rG+Rf4Adit+Vqh\nWIXNIS0b5g7GZctu6BjdyA7qWEzU6xUvN92xqgvlrREPpWpkA/NxmDGPLKUj\nmkH1KdSmK+emqd1jIeKWUiT+NZGVVHFfRCWb3f66f9CLYSZG6Es4l8cECKnJ\nmRpaIoy9rjxO3Zq/AA2bQo3AqafcwNfhjgWyNFElkN8rxkgpSAHEDTBjSs0+\nX/XwttnA0/jmAqOXwbsl9XRv68DfX4R1gX6vkJlhBBHfZYkmpACfAXsORXm9\niqbe1/gfB+Iq5/DEuUM5OlEbOtUrBk3b1WqfU4B+7Scrh4eHFXPIB5Shqwp1\naGqcRqAnVhlstgfoQhLErEFQjhUjA0Vy5+CiEHeH0JENx17Ey4nGSeXqlYhg\nXVylkleb4eAgT7Sts9PDiN+2fwXl8uB59nudGhS8dOTvkzqADWNKUbZhsXTn\ns7OCN1bzuNIHMU0dOXpjpEIqwNCswaMLgkUAht9BsbfcXNsnPIhBSzYkq0L2\n3Gpk5UpLpBAPoMZ080BHgB6RPXbqYudgltaFt4CNzHxArCt/uYhM3BPkwe/C\ntt0ftJfMF9ME3wjywJzu6VcIdt2cUhgMUs/3y/8iAU5jfeMVyWkBD0JG2Bm4\nKVUl\r\n=FKoh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNQcPP+MjkK5Hh3nUQ6+Rb7Xoadu3lGxDFNMeohmkRyAiEAm5xGEcQUO2/qYcbhszLzxd/g9xBVMeDQCFMgpAhEBvw="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.802.0-rc.0_1564428049102_0.9970351544014311"},"_hasShrinkwrap":false},"0.801.3":{"name":"@angular-devkit/build-optimizer","version":"0.801.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.4.5","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.801.3","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-5wyzek1Ls7T9bh24yGDC/3Ss1YePpnOyBu0D8mJkByjPJjQr0xXR6UPx/7Idq6Y8BMeGO/+MiMOLZoUTPTIa0w==","shasum":"f4620bd8a5a5db269a336e2e572770806ffb2e16","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.801.3.tgz","fileCount":32,"unpackedSize":98276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdP0iNCRA9TVsSAnZWagAAs8EP/iwyxpokOXAJDQ+R7xxm\nnPFIdMn969IMawogLkesolDLKxBLYwQ1jaZ1ApFwGG5SbnT4kKnjbP741GTx\nctFGfDeSYXaFJ4j/+86CUYQkHjcaP++BNnUJCiN6hzgHFqkCge+Js+1Zfp9Z\ncJ4XFIXNi/XvczOWkwluUQExhN2syDVHjeW9GWJy1utvRi8eWjTBnfh6BwKH\n5VqrddWhGcrTXZHjqfbxkWbTbg3VkiwkPCXFyO7otY09BmPAwVhRuo4UrkJQ\ncp/ywI5yNtWHqYUNR70KdXYClA4BwMtV8CXI6kLPl+DNgD9eINOTnXR7jSXg\n2qjSv6A71+z5NVl1RCbjW5FERCXpJs7aHjF2ZpuL4NQ4HxHBRcq51IHndZa3\ngHnJOvYVzDcLcq22GZ39zbD2c+L8sL+fWJiOGSqs+AtEfecOd7wxEe/Tu4tn\nXmCFqVKP3do3TO4B1tyADoDjneIk63spyBSk9U+DGv+/QdVzXjQk1Hh3VpXz\n2HyBAc/31p6r3jcakKGEse1FB1vo7p5rO8PoP7g6OSYuiiBpx5MqQkya3/5q\nlPrp74JDVh/52i5PPnWq8kqQi6T5nib9sxsyWlSU8th2hi8tftsJFD69goiw\ne3qDJqn53qLq+1HrObbkR9rApya2oLz32pYtgaUZKvfle/a3B8bhRRMhqKKf\nqINi\r\n=9ShQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjT8amhJfLQftVOxyfQksbhRCOSHDTlE2AvcUV+0WkwAiEAqo44Orvkx/5kht07wkPHY4ZrG7eIcyM0gGhcZRdnDRU="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.801.3_1564428428889_0.13621977610709646"},"_hasShrinkwrap":false},"0.803.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.803.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.5.3","webpack-sources":"1.4.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.0-next.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-llZGHGgLNMJ4/NuIANHbje+hVZhPTFg5nOcxEQLnP4jnZgLXCPpigfy/47olKSzIDLiAbeJWDrqEa/hfuKXe+A==","shasum":"9be40f62dd8b670f1c4d595261af581d456251d6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.0-next.0.tgz","fileCount":34,"unpackedSize":96005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQg0dCRA9TVsSAnZWagAAHJEP/i5c0GJwDp/+L7YfSgfv\nn8oPksRJ3+8n2yztWigEGmrR+SpD8/hrFcOQcJPUpI084fnNa6/qF2U3bUUP\nJDXuLiWrwmDQu/NW1fid4mfGBhATpz3y7p2wf2RQ4vZuX53zIz5m3Dl4IfA9\njyAvOuNXDvGqv7q7xTZJonS/mHMG42OXH8aBVqet35DYd/qeIjAYhDLjTw3N\n6K7I3e+VGim3qfJ3A0qI2umOLhSF0YFm+x+fJ1+JgjjiXIi/OSYOWraxt1cE\nyBp8Bd5wuw9UXHpjgwpyHXpbc+j4zht7uGfGFRjnVQEy+hDrnZ67n7m0joSs\nEQNE9VsZF0A/IG7uVGMnGKqUWTLL0vYqnF/i8fLN5DN0Rvi950d1ple1DXsa\nOO9ezWhqfUDfm6eOrfz3XZcP3smrlXrX6jOodbWk9U798f2vsRapKq45uCYc\nD2EwzyFAF+VL743tPan6udC0bA3WFk7qG8qJrjBMgSaDZqoS0ZtSHfcxoc4n\nyT21dpwomWbCUIQgK9lqY1UvdW//Nwm8wgUXJmIgBlMUInJ2Dz5OYtUkhgKT\nbOVZY0NKu7+fH6/r8i34c5pHqCMisJ0hf/blzbF2+aYQryn/DlmjcMVIDpJi\nqbq4vEq1crgrrh03BQPtE3iUbyduY/3ua7c3duEKoaJbJ6Zmbigs3v5nCGbb\nfVqx\r\n=XUj/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/3kj0gmruwSlg0Xo4+62BzLUircbjxt5L6JnsQL10pAiAhaqelJ65Jr3xhj9KTHNywwTO8DIHZW+1lDzHumCGrSA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.0-next.0_1564609820514_0.39676488789785647"},"_hasShrinkwrap":false},"0.802.0":{"name":"@angular-devkit/build-optimizer","version":"0.802.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.5.3","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.802.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-eq47XkLvta6wJEwCT/fdQczZZA1hPH8hHbp/W1TBzzUcyeeHHSimdeMKM0Pw5rwHVrd+nQL0tbTZwX3qaVcTfg==","shasum":"35b81224b25508b33775e615a62f3533d0ca2a7e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.802.0.tgz","fileCount":34,"unpackedSize":95998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQg6PCRA9TVsSAnZWagAAfOUP/RFTSxaSj0z1PTPTZgPi\nKnW/+XL5IHKi2AC191g5X7MScaQzqFaYog49y7GOm+OIAW+ZnxSCSQEJPxxA\nKbhAwhtT6zrN050OF8Z8rivqeub16esREkg30jP9i0mqmIESeSreYfAiXM4W\niDgqzZg08KeiV81wjt0gRY1McJVQbpKqEZJ/FpyYKl4h52dGbDvj27d0er3C\nxjSbNcYwZpYhBnRVxZpmDxpgZonlry5pNcx+tVNLJOLapja/ATJ7tjpVLTXP\nNoNVvZPHJ+3Bi2ZJcYR9hIipuZoIAt1yItZg/NRs+wUped2OlptYMaj1kCwr\n9NPHHSxez51gbTlbENZnEtR70lLWEmaMHTRuPX+CuS7JQfORPPxVvMW1HJ6w\nhgpMut8+lvrbCwkjNY+kJ0ZfkNN59Z5DeUDolNMtJV8w1akONYjTyakYb5td\nR453yoMQyNYvbB01Rpcj8n5TTg3kuvwOHWlvkXwukIBl3QtJyD+J5xJlKUxW\nnyOdZBsm3vqMDQIaFrLRD78iOivdAQ59DbOuf/jc1h9O1ymcSzP+AxDXuKAV\n3CQhzX3HSalRv6h8Bdg/7bOHA7AZQAHSn7udhVc+3HElA6Aq1h73QBrqqEsR\nAOzPQUGNJkmW/fdfqCyD+utqbgfH78qKUDIfxL0wLwchJN9t1Ha31H/BPUEG\nU86b\r\n=0Y3f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXBBvFHXsIIZoXxQmBpqrxaDIsgs23h1bBgZDtGvoJbAiA92AhxgOE/zWjYiwH3CSCw1ky9vbGaIZ633Cr51pAfcA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.802.0_1564610190307_0.5972745932196419"},"_hasShrinkwrap":false},"0.802.1":{"name":"@angular-devkit/build-optimizer","version":"0.802.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.5.3","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.802.1","_nodeVersion":"10.16.2","_npmVersion":"6.9.0","dist":{"integrity":"sha512-aJHDZvKNSQV7vSIWKP+9fAvjf5bUYc7yF3KsRvyLek8WvbOpVldJSuymcJ7Rxx8nsiIhFPidehKemQPnzocK5w==","shasum":"4276923f0f5422a8ea367053fea19b2d284c87a7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.802.1.tgz","fileCount":34,"unpackedSize":95998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTEnJCRA9TVsSAnZWagAASBMP/0Lru9720Cl6dNTbUzD0\nGK/uowplxIM1YSMNSuyNZSRJK8Tcu2rKWePygik4BPYVyPkTrtal7cXSECvT\nSyBTC0RsodaEn1U+pIbVVvWIX/9mr7BXYbjfq06H3nLbxHWgYaN5GVDQDkqg\n+0rauULmMNbj5xHD6skBiJfIkjBpr4Ji3xxSe4tKnQcbOJ5ZBg17zlt5/0qo\n3VF9V5YlQlGq6hld8Xa2sycfBIfBRuQfWH0RNZqQlBw0v4+2/mgiXMuQyX4s\n8CuCT7OHcmWMZimguBXTV4sSMNm06Tz70Qt/ZU1tqtMzimsJNAp/vSXkCOVY\niE1Dc/CS1X+MCHNMlHiRUOko0XxZtVnhvArNRQ/gmzz/NYqcF2NAZ2c0atSV\ndNJweFJgl/qWLFkgf8pGyx2YEqGHNuOjCaRZGhNdcmvlYq4k3fNg3mlaII2j\ncsgBx1ESui9ae/WEKPqG+5l4piQOFNJffabwfvReAFzwEX1cblGfNxeFH1o9\nHhv2MewPrCgnJ9rNYfu3YJqI2Tff4NXYT9WMGzz4o2M5qGwsEbZorTEo74w0\nAuxkxFv64IUqFjnyKm2fl1CXYEKG44r9uhYIVaTPpzDht985hyyiYFj77ppB\nidgaJedvzIAcF0nOlhPGlbtevCDbtwGDJhzP2R//XLOmi9hYjrUURZkeiwIl\nD294\r\n=ZijD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlOF0Dl2AKCskGgwVWVyVEJDfOqAyDBhEUcr1AdTAtHwIhAK2tFqecRh7ylaoGzbgWFpGdcSWscGpGQ78Y7CERNacE"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.802.1_1565280712453_0.1724649260772655"},"_hasShrinkwrap":false},"0.803.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.803.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.0-next.1","_nodeVersion":"10.16.2","_npmVersion":"6.9.0","dist":{"integrity":"sha512-c17hXBZbn5QTQFVXZ1p4QeH3j9MnXo881PA/FOR+lUStv0wC9y3Hn8FKyxVdV+nSBqJnYV03w3UyEveMH5+oCg==","shasum":"c2150b35127f3158478f4d6819eb73b1edcf3071","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.0-next.1.tgz","fileCount":34,"unpackedSize":94812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTEtICRA9TVsSAnZWagAA+VIQAJw419+PwGnCcPmxTpkA\nZi1tDx35gKLfpaJR46bqS4pQvorKpgUYn3djVxGZjJcIUDdNSuPCD3C7fgfy\n19ouXaGJA9/ZhD+RjcbOg2Ij3AX9CkTsEtDiAjxgqmuAYR137GBhf7s6P6F8\n6kx6ntDwvk81lG5hqpOYBiRovWR/BYEXZ7i7RBvEUeg4Rgvg4b46Iejl50Di\n0SAfRfH9ToQTx57BKvvkH76vNzXKRo6LFhFq/TOr9x+G9iYgT0zlij0SvDvH\nWOVOssy4imndVKWMYvZl0KD0YHAGNCJlXmi9bxDUqcfJXC2R0f6PHTW4quId\n4QH7sD4336X9RvRUVWCIM7AIRqYceGg6pXSMfERDj97Z1/W9wpVXdn2wrcWX\naeeaCCF6vhnub4iY6Z9H4cwxH5t4sJ5OUreVT3q7rl/OOZvSPPxCll8EMPvd\nZ8RiiPOJF19xOwV3iJ34Ud3TMllxfU8S6aFOmUGzfcc0ltkPEZJWVtM5adLo\n1tb/4hHx9gNEVuoEOSZYKj1DjjZf8DBoX5sZOvdzxKR7c6BRnuM7rupqaBgF\nA25R0XDJl/QoXiq/BiVUjzbRUb1RAhNzG4xhH/f5+Uoo4yagqA0yiXqNW+8i\njTexeDv9zcdi1EgzmxtYH6Ij/ywbzcOPJ6HIPAFKMVJ719sB5d4vxokhctHE\nvT5a\r\n=od7C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnHO42IXOm1Gvle3GhoDqhBE+CHmfXUKuEZyo8/whAAgIhANMTJbrmD7I6z2vVbnXS1jRvlFoNVM/n44F7DikAUfs1"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.0-next.1_1565281095733_0.6678181301730388"},"_hasShrinkwrap":false},"0.803.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.803.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.0-next.2","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-0ozndEoDEC1yXMwP69LMYHB1a/0H0mEV2l0xavur88VesHhZLR4gLomH7VTlSpYlpQ/aHPCDDkCeU9B2cj4RYg==","shasum":"c5a91609af90b36df010b38f6613218d01c59cd0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.0-next.2.tgz","fileCount":34,"unpackedSize":94868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVLY2CRA9TVsSAnZWagAAA68P/1dminj3eYAzseor1ZYH\n6wJYJl7tLV5ojIwaVPD4N4ngoXs6/ud4o4qZyLW17XivATQO7rNgAf7+4ALl\ndGNwh7Rpl0+nD3ublCxFKskM2L3VoEK3leKFY3sYpwvczWp1J0TLt7+euaeE\nGIhpRADlq5MbxMHzZVXz5chU9R6IAPvVn0ctdLzAW0z2NLjzzx/j+S+M62l3\n7/pU5DEOVA6zXXZ+rEcDtNpsyhsDlDoypUX3tkGyKfp0G32JSOYI+2OaPOvP\nCqolAX6WLr33hfnuzHwo1N9TXOlWLEoLnsnOPhEk2zWZ64utUy61GHgK3kFX\nedk/GDPb1z56hySQAs2mguAp0sQqMHiEwqe16fuNuS5fDKqLnCDSBmKROoI4\nSV4SyIxKRQ6MIdsl8rirSMAWjsBlY8r6ewBPDYCZp3DT2STRRB3k8WpmH5zv\niEhw+AfWkDQRggMs9YVRckWW/n18n8bQwfByS0VevS98oTyfZw7bqKrYqwyO\nF3lC8bWJlQzlw32jt3ROu5Rs5wJ9Bcsu1qtIsZSgL3cpluBSMT2i3YMZKf3j\nStcn5rVs2ssq2savOi3Irj8sbC5BMEn46LjGxB7duzZYe7YqRJwGscvPgNmu\n/VQLkmuw4JT2V7bL5x8lSIY93/dxkUpvN02LENLd/R0kgMbYhrWoQcSP8Tky\nM4TP\r\n=fQlt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGW5/C/RCUJCh9BxD19hcXqMzDZnBhZ5vR1E4tuk7HYQIgY9yX/g5zHquaj8LKe1yzoJjGFH00gmWeV8HfaGUdN9M="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.0-next.2_1565832757840_0.9324676687284987"},"_hasShrinkwrap":false},"0.802.2":{"name":"@angular-devkit/build-optimizer","version":"0.802.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.802.2","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-0QkTxMgCr2YiysdRVY64smtogDnWz0eyqhmUJbd9kEq1xxDDfuvs+6OT1Lk6xU7tcucVf33DKB9jK/3n3LZIpw==","shasum":"786ee24b9e7dd3062cd998ca4e9610c4462e483a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.802.2.tgz","fileCount":34,"unpackedSize":96054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVLcbCRA9TVsSAnZWagAAw9kP+gJjvZiGQ2uBYv30NMu0\naxIRQf2v55P717tg6I+SggIBnN1DN2BPQeVr3WfH+0HkiiJb2/ogdHKsHQKL\nBgHIPfB66Ezsglh4dHCSTV1wzp7gM83dna0lv6AeO8FRsdJQcNlLf4Oo+WUo\n6v+XYN61v25dozHg5PXh8/cp9O1KFfNsa30R2s4MAOrJvdzA3BRmIhxf/AIB\npg5Bo8KPfXjsj0WntijFBt3NZwcNPbb/t/NTebjzlTjFDEb4zufDxztxjXpM\nmR/bDL4JjYsAx1XEOnhupLz3iqkeQEufODGP+JKl598irINCFMf3X6qhwXne\nIoMQLr1i42GTs6Z0l9bqy+m8HNMPKOS9ZIzEdiMmf92he4bcB9RxoXQFW6Ac\nS1Yabam8SsoIGJuFnN7JJolnvrbf5cYdB2YwTnS+G/BGU4jHtYOUcV7uUTBs\n78TLdGGqsZlgdhnPA/Bu+nmJBzS6nf1pgEP9OSs+aOEjzDimHCDm5PiCVg3m\nTQAxHXW/tDNxwy0hMpleLFIM1agScZPiR8s3cGI37/3YM7fJHrJuuTUsxBq1\nU6t8NVC4vYBFQ65lAEIacPLAg2KvfCoWR/KUBbu7veVpLQUs4kE69c60RK38\nJNjVQ5iGhMUDIHLC5fxv3MjJRN40hlgJoOjs+uvUJT/UAN83c5Q36Ebb2n/2\nE48b\r\n=GxkE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcwcT0FxPVfewl2JAEZ+jJUyKAOcCQjhJYWpE65PZQHAiBwS2EWtazoNYlmQkLvu9hOOSwgJ1l95nYaU0UakwcdJA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.802.2_1565832986789_0.06920384751821307"},"_hasShrinkwrap":false},"0.803.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.803.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.0-rc.0","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-VCLb3RhGpHoOHZZd1aVLoRPAXVSRtCIg8SNBJgq3AifkJLhFqLMtI8Wu2UKUbVxJejrydxqgg+azR7+5Dl7nIw==","shasum":"8d9176a7f6e8c19a66f71a08e425cabda35758e4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.0-rc.0.tgz","fileCount":34,"unpackedSize":94866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVXlfCRA9TVsSAnZWagAAxOsP/3w/mFDjEQoJ7A/uc0rG\n72As84OTEuHtZ1MwVvhp2e/+0FLA3cynPOniZEi8cB40hSVX33hMCOQvtD8q\nXvYazMQFFKIUSc3t5Kp8K/ucjSE+Kn2m5zLtuGKPS4ZbZcft8x36mqj2NqfQ\nbQlPSu430eCNj1MXLujQfDVbl44O+CzGCHUw4zR/WVVsXq5SwmqMwqI4WPpB\nxYQaLh4rjqcCGGca11fyK7hzow0DdsFVKpjgF+XllvWLTtUELpexDMcEtSWh\nQ7wpLHgf5rL9rCJzIgijQTTDPCy2AWX6I3Z9JOMMf2NL6jXI8e06l/HN4bUL\n0X4XAlGltKqjKOeDz2xe49TGYq3QFyg2foPSf4dHy9xI+m5dTRIRW2Bx9Eq6\n+wKuynCko9zqcl9ws4p5L1X2WYbWEKJaBTiS0PqHPIVc6VetPxnU4XUddFU3\nPUVejepzpUKBn/ZsXYmrMgptX8zcGck2O+cgxaYSh5sGjhiJLFMemyB+dd0j\nHhdINyNKNml4zFhSjEXTy5KnORYi73D+38CXRTX3QeTVQdc0iOWDRWON5czF\nWjmxMNI2wr5ozbfQliX1WqlpXq0/LeX70hpnGUxvm46x2XFrHu6vzZMe3KBV\nXGz4S6kcDznUE/xbVl7Pvizv7rkJNmIVybV4NrkC1HS6EZdLETi/vZUSEbWO\nViMY\r\n=U5V+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWxQY/senUsIDWIz331VmYk4EGJWjW5eOXH8U2awMxAAiBAf+l4beQRHf/Pyba0rE+YtNyaM3q+VNh8yH323VO/nw=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.0-rc.0_1565882718559_0.5218703153109852"},"_hasShrinkwrap":false},"0.803.0":{"name":"@angular-devkit/build-optimizer","version":"0.803.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-y3XKTZTiF7RqzY9+FuK3cezHhaNk+XLtHvx9IcIC+0H3I51TJ3wCedwEGg/V3XP39ldw9ePY3vpyO6kXHHd24g==","shasum":"8cb4855d50a3be525eefc451334449b0082623d0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.0.tgz","fileCount":34,"unpackedSize":94861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXs6YCRA9TVsSAnZWagAA/oIP/jbkEYmamFwc5HG6oOgI\nbz5UP53OUwHX/G+iC0llhGTZP1KwThVoh7T499ZiacSXQwmoVB8DvCoCOsv/\nZLW4w2EG23db9aVdBwxBt4vaRv3cnTRCR8cfrqBUMefaSTnD2oo2yjgpmYm/\n7hZzkG2XQl9tLyRKK9AHnVPfD528hzi0K4/XOxD/x1vCbAflbodKJ2czqDxM\nbqkEcE6bHr2fIuPUeui0gq7bAYd2bjImozSqJi1xWpWkG+cX6wqlro+nrRI3\nUP1E2XETtWtLBEBH5pGfGpgF3skOLOG+GI/l6XsQ8/0tvdxwiQMrEUdNUUro\nrefwcroXBlCyr4xcAHLteQR6xBg0PuzU3BEYui3GGDHPTI3m6sA2sGXSBhFW\njEyITEnqCescaQKRA4Tary1YiKclHmF7HzToXmp6rMyoFcoX+EiR+qwymi3D\nhOLcnAQCTs6eVkApMaKeAZrwq4/wW11cFVYYH+81fOyL6CUwOMb0D+VsXcO1\nSYAxO7K18QSCRVIiQxeHnklwroU3He08AiNNx7PLwQk2AwRW44pYdeDN2jNz\nCJ1ux0y1M+tLRJi4OZFcIFlVtPBflHBnOednP107VwCbPeXwIW+EWmflzKN4\nkZvr8unrHSwsxKnfT1UGzSYGUfm54/IA2EmOMpx0EDg7cYZc/iYg40m1qgRe\nw64R\r\n=opLw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3jWEz4zxYs4uqCJYgS0ck+xwVZyYivKPr/lhF2BvqGwIgfg+a4G2fkvgzf2hH+n6Hy60ugLi52cF7vcOljp5tHH8="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.0_1566494359795_0.5578410349406164"},"_hasShrinkwrap":false},"0.900.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bSXUyaVnuZLsMJEfzXPxOlVwzGMPXNbAFQfb0U84BLEFd5Iw2dJzM3qEVyojBB8MLFDWrEAju1/tERhlyFG36g==","shasum":"6a12d5faf9110bde355fafb6605215d125d4b702","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.0.tgz","fileCount":34,"unpackedSize":94868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXs/GCRA9TVsSAnZWagAAW68P/R6XvDSi+4+Fyeksn0gP\np5wS//gDMX9Kq33xJbT0Rmx1o3GgEFXd1jw5pnljmdpTkKm8CMl0uCrnh7ir\n2PVXBbhYp3j2/rYdEGq7vj00+8G8NyImO5eJaEKYfOQrgPoJh4VMaX1MEfqk\nGmJNxHURm6gzy3nEPDXK5sLYAoCTeOVDhilEtAQHhGzJ744O7MSBZbvaWTWu\nVYPNd5w3BLDP2fH1pyKLswLtZOVPzn56MPgTIhwYFH2bw/nUtWZgRvljjeJd\nMVN6Y5sz34IWj7xY9p7e8K6ES25KICIC99rRK1/agOUQf267K4BKNfIQFJ/O\nnDgbi41wLmUeA55MojUOsUFaidC/bl0VXcTN2hXkeLjfgQ4WrZn7Y1scODMm\noiIZltOzryITulZ19eS4X2bl/qGBjQDz+04VahCPsfN63HwMT9VtcAxd3c6Y\nRq9LCqYKaDFCepgqPjJX6KQB6a0yMWmCRaTmeNPNcPORogjoaC/w6Qo1svwk\nHQch1Z7Dmu9DYFWbGhwqCtUyNNp/IcKY2MTK9oPo+7KqhtircPRDuZkpXGWb\nnkmCNBr3lI4r5FNWtiCmC2MMJW9cjFj+V0BMaY9jFd4ffi2bPr8KqKD6AdbS\naBb/9Z3dsX2dLKSUS10bh7E33y4XUhIUXi4YaxHhus5fNnwdFsdOiFSg6lW8\n1JYO\r\n=j5VU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAw0qUy9dcmIkxxmIgNdtRSf6fF9WmiSJsiQFRy6tcBJAiBSPellNFRNQ4DieZwgzYDjxapjNPDoymgw1yCUvddSiA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.0_1566494662165_0.5149390330862575"},"_hasShrinkwrap":false},"0.900.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.1","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-Qq6aeyTzqrnSjCYJ+NddyDeOdewwd2MFWlPM+Iq+Zf7/4kcuCeWABVWWUZFlbGtngq1OGne47QJXLIwzfPn+cg==","shasum":"be0b7e4ea98c938798bccb44430ee7d1360c4373","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.1.tgz","fileCount":34,"unpackedSize":96050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZkHYCRA9TVsSAnZWagAAWs0QAKSl1xSJqXCS8Yi7sZhO\nzniBwMhweixJr70NqRqba9ftcvEuPcddT9BoVAA40wzfE6k8LGT2SgfOIQX+\ndmuNaNNEp4jumIpuFDBCDdrrrQisl/ugMKeKIHL1badO8S+l6HPiQL9atEZl\nTLk+41Y6jWhv4echLxb2dD+EBmzC5k5i/3IMrpJdTVjHhB6yE5twvua3rq+l\nbVTbbyPBw2/J8jfiKPtukUI2SoX7KNCQaMOzqBFrIvxUzsyrEyIWtQVLgvpb\nB5aAgOqpgdwJSrAp8/T/AqK9dZypRnfRaDQf9Y38uVLkvZESMvl4ZuznwQ6x\nGPkMXCAK6m4dsjc9jWSQHYH896BShVff/PhW4XDRnUaC2VDvufbEwCSCACvZ\nU0nEe11zUY+pqupCpIRc+FxsoVwukQ1uQBtAl1xpUdTKFD5xLN6SQw6AEXhd\n2/ZIxeBmw+SBOENjHO4BUSfvAANwwzA+GFH+A0g54KzDIMuWphc/Bil+fPaD\nyOjnge9/FEvaVsQDq1UQ1lkk974F74eonCFZconrKSimfYHGNk3KMObGS829\nrxW3BvrZDp5gGEVkvLi44E0aUoKCcIcXb7ptQUwu4juP9wf/9UaBjm71U7Ar\nGyyk61Nr8UNShs6GHsfVNi9TObc6Q3Flbw3qQIhJaLGzi0faZwBeGJL2lUyE\nnO30\r\n=/ZVo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqIScW8I+Zuz235ZNVUo6Usw/giqjGSwk0kFk8m9x1XAIhANXgr4DisjlimwIwDIMqovqFlxkOD44VQawCHmgaodET"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.1_1566982616101_0.17296710628131606"},"_hasShrinkwrap":false},"0.803.1":{"name":"@angular-devkit/build-optimizer","version":"0.803.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.1","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-exa4uFkNt0UbFNlqUbH/3yWXzi+OLIbjLv+TRyhlzbjyfW9+Y19k8Qixra9PZoKoy1y3QqrYgPfdMYBz8hRg/g==","shasum":"b552ea85f0f95bfd88918b81dbf4a7dfe395d617","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.1.tgz","fileCount":34,"unpackedSize":96043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZkMNCRA9TVsSAnZWagAACakP/0yDpWkkt2c/s+3s9QCN\nOiaWGrXOct9WawDspSK0C28QGLNbvdtA625a4ILaZJjO/bKU4+iQ9W85kmS2\nd4Rihkd6RZxaqzkFmKnqvsG9LZCTgdsD4O4Fe2112OPGvjS9vDynsy/gQor0\nIymUYLxPHRUKQIDKZINIyGLc74qpTQDcdTlGYjZpL+vYacGPs4mzJDgNboAc\nX1UNfsKtIyHojXh1NK32khTKG2ZvoWTz17HlHUwJWQBMfo3489584zd+Koh/\nyztvLHvPkQnvQP6z8HXSgP14TrP4mehbB09TIGGz80GpTw5PnEQmv1QonHWt\nHhvJcPF5/KI/bcqb+3C9/ETonJq4P59EzhLQYh03fmnzl00WCvVbEQETGLVX\nyBbYcLyNLCBChELZrw4zwmc15lCZU4bL7UgMCDjvAXpMsni2QdIb64XMfwe7\n1J81u0UNGwNi247wqBXl79MI2JSr4V5RwHH+gXyEvOZxPgcF+cnrCoDgb6x+\nYDlxmxIvk4K8I/XzPgqPKzscWm/bZqcdechKRVewhvDMiyKZlYtnuMveuQJm\nqtMDQpbFc8nb0rkXaF4gNpmdtitVDjU1fXz+oBX46TKd/+ClxPfbRAXYvZYV\nXPphs8K/KEaOZnGRreOHLRZ8v2PbY9ktb0T6ZH1CM0NbgnfWc+nCcXF3PVU9\njreC\r\n=K/FZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICn1sQPdwaT0culQebhdeR+I8pcndMoQIrW8AXyeNgw1AiAh9pjgjryZ9BSNKUneo7E2aKlFQ+KGtK4ji68UM/X/TA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.1_1566982925167_0.028105240844708"},"_hasShrinkwrap":false},"0.803.2":{"name":"@angular-devkit/build-optimizer","version":"0.803.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.2","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-z8Y2/HapqYVa1VmTWgoEJ0CpkVBse4TkV1tUBOeG5jYQet4cjKULqi1UT3swjNGAr8rYkqjdn5xGcYyjiHjL/g==","shasum":"1ffafcbb7e9d9de81f9a51181d091ef7ad7ba439","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.2.tgz","fileCount":34,"unpackedSize":96043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaDsZCRA9TVsSAnZWagAA5pEP/0qQ8ZFe+cbBXVyTavQB\nArTGK4hjuMSu7LA2k9n09zJHQ5UgvDDh6V9EhWrMFTZ+YrVKHaUgJit8dSkr\n7NtpALMJGmZNHQXkQ+qTG3fNp8AAcr7tMpkdQsTbfLf56fujf8SH2jD3o4og\nmxMrf1C0DDmVM+oout3w/AugDyKeD24pUn3PHcjWSA451OJzy2VoIcxVVHPl\n9mSVjf0YwjLzoD3Fizby5Kzf/7WCAdWz+xxcV/Ex8ZA93SyP6p0YXVDuYhIh\nW18inHFEBdIrd3S1TMnUKtUdKsS05XbCkXyR4YceDZ87ZZ3Tmuues4FrrZjS\nDuaJ8flZedOKV+hC/oGmfNy4/7wJGG9xXw2HcWEz76yq5gi4LPRtH+nWYJuc\nipnDhfZZck7ZFauqvZF0BmThGbIP67/pp6YCFTup6/PS4CDRb23m9IvLVyJb\nH52Ca+TRhNjEO2mjs2SQsDx96jBpTZKFGVlkOtfojvwjlB0YJDycczZQzpXD\nNA0k3mo3l2Zs/6q7vEuEG1ec3aoN+YQtzOIi7v0u7Om09weXhI3Je66T4Te/\nPLO65yX6wqbnvxk/AJieFhLmYNEe8RETAAURzlzF7BkLbhb2DbEt3CUJ7Qu1\n21vNWg1Y2uZJx0c1FC5U4/9K09tf7r2HRjs4DsqwXXZU8w1HSZRwfh9s9h44\nJnHq\r\n=vWC2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpvXntlX4xpZhBJ/TeRuN4CuEtEB+9a1A2BxovB/RsAQIgGNY/jhBOdhdtp+AH8UBSye3QAY7F2eR8nWllqw1Fhio="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.2_1567111960918_0.5055445254401221"},"_hasShrinkwrap":false},"0.900.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.2","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-03rVc8riMr2/Cx4tipC1AaYB3SbyA/oDCV5esmB5ucN4t32t/9oPmiwURGp8EZSyqfPMDOZyh8cyZV3VHGKBmw==","shasum":"5b6211a22bd25f027ea8cada966e0ac188cf1074","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.2.tgz","fileCount":34,"unpackedSize":96050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaD2cCRA9TVsSAnZWagAAu38P/0h+ZNeLLmYUUxFTUuPm\n6O0tQb41t8E52qIA2VANTUPb2TYnZf8rh4qvS/17iztSRV71W3oe2qA/0iZi\nL6kMfop6GKT9Thjlow50susM+66U0g13BP70Z9ZRGtOqWGPNOpz82ysIJHyx\nJgzuUhUwCu6hSGplMRauJUhFPYG13Sld38KJGkNCwBYF+95jz2P906fCy8VD\nFkCERiOnOqAT9JgXqBg81Rik3816iv9aMBpqoFsEmbUX+vRGfI/oiF3+xefS\npgtNC/YmqpSxLAErhvCWyNZLaFQPojFyy0KS7eO/taYiKz+a8TPhd+KlsDNo\ny4HzrogWzPqIfViLoLyL+Q0EF+l7BfcRQzS+dRyl3t6PL/AJ6rc0ddYcdW2O\nTkyYxg6gMijD/J6y9RkR60/iVfG38KCwIspCrjlRX+bediP3MEiprYF0C+uX\nOAJpnAeKVIHiWRNkMOjQMdiEuyQA2LSo9QWj+0O9ZybDxF/HUknbyXb/w6Kk\nqF1WB+MpXwXqyUcoE2iiOHNun77sNQcMYkC5EnDKRkTXOm+vdPNy3Miuu8og\nrVaRSC8WW9QsgFS4RPZj8lOwnEiafHdd0waJas2rEdzZNA+FTIDQ/KKWCV85\nAgL6XEr60mhdrp4Wgo60n+0v/GRK+66Zy+XhbXaQh31ZtB+FqlJT1y8u5pJ+\ng9KW\r\n=SL7b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDs6q/ou8MJq5lN8kAI0dAv0UcCLA8JkmNypxbP5ky1MAIgCPLZsVJjV6yAnJC65OlulkoOxFsKqCOI0IiuxmXtNpI="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.2_1567112603963_0.8024152643211748"},"_hasShrinkwrap":false},"0.803.3":{"name":"@angular-devkit/build-optimizer","version":"0.803.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.3","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-Qc2F+9vXeNhIiMau2u0B4kGAspFWmslRtSEXC4xLWFje2noX4BSLz61c2H0Ugzm4B96pzwCnSgTaSYdqXpYESw==","shasum":"6bac1e0a3b2c1828cf6dff6033f2f08fb395c880","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.3.tgz","fileCount":34,"unpackedSize":96043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcBvfCRA9TVsSAnZWagAAEUEP/jptP7DM2es0eQ5vROv2\nJ11mg8lCy28UZJ1F8H2QobSMFyw8ilO6i5jhxYxiKWNDuFbXrE/u1vP3nUvp\nykyNq+2dbOR6W5DAiqV3TpFVGo93OCKh5UiMlFzv9OjGvODTZ+ElvAroX9mD\nHZrGfhji99gXKZGzWC90NjK/X5SAhUeRQfOIOWRHNZEsmn0ZH6INRaTZ9EXc\n6ia0oLpqDPW33MFh4FLcIINH6LlB/nFzhDSvanEJIPXFlazaXwWgxj339Bdl\neK4WmTXfmf2AQaEw25duZ5jnKVsXqveZ7Y9MxCG8U5rvuQvFwxB5y/3vDt3B\nmp/sFXnG14DqKhP77Jji6vfsLTNqNslcCNUziJLjY4x0c8h0rjk1/vkDUa4N\nJNqlGzpa3f7F/UPt21Y262mkCMLDAUMq7vc+YZ53+S6IfyrEmisXaPMTpzdl\ngWtVGuDh3Dz4Wwdy9AerUzvqmRhMybH8W422LGawL7GW41WUJv6LubFLt+E1\nCeHLtL+tbxRhWkia9yUUuL+OHzfKqBdujpmWgLzmutkxnz8OossR7Xvk6WQU\n8wV6Ethhj7q3TF135xLU+cPpGVs5wddGfsmR0bFsu/zkBeWLoLU7dpqa7Pv1\n4m42kCEEsl0Z0YYwJdwKvwMBEs0fxTZnTJqWvDL+CRwRlb0NfLVkyCZHZzg/\n7S5E\r\n=oXMK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5Wi/tBJjzxBngplxlWHy/tenP7pHRDXX4IoFT3+eQfAiBPDKDI6oayiyASeef2hF/UgAu215PeoQGqcSFf9jtKfQ=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.3_1567628254865_0.09418773031155458"},"_hasShrinkwrap":false},"0.900.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.3","_nodeVersion":"10.15.3","_npmVersion":"6.9.2","dist":{"integrity":"sha512-DrQdK8goxU/32Saj/i0s6BAbx/quq+KNkWvh24hlElGFQaoiC2X6fRTQ6nfT6qYiJWEKAFs9C0OHGo1aYFtiEQ==","shasum":"4fef5f201f338ec6a520efb9161ee0ad24238846","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.3.tgz","fileCount":34,"unpackedSize":96050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcUscCRA9TVsSAnZWagAAVPcP/0JhVF9wD0cSt26n5gg0\nXMb8V2x1EF1gBzjoxp72rlvDotarH5ScqEmBTuBhKmU/LlsuJ4xs1vV0rwRG\nBexW1VDApllfY25jtga94jpr9BciQ8bSrf6BU0fXaXTcXJOS+HDDAZ8we2rw\nqambNb16QGBdrHq0fRdgUO/tYjd2gjh0Z0NlvFzMqS4M7KMxjEziyxaNS9EA\nDLBN1ANxtD0TIBkjmxfvnzcJDUI6gx8SQKF6QL9fkfVzIQ0T8HhedJHJ9yZg\n7r9g1CDkfX76jTGMuNXa080jAKPrdNCHgM+CEw+GTdOSREfrZEX9XCRK0Oqc\nydo8fUn47cYradTBVz/toRV4krsx3gzEnzzvz/qlMFK84adqWKphrZeZwt4g\n8N5A/qhHtezmLNO902mcdyBWtIsXOKEHGE8aEwJKylgGcfJkGX/nROxjBkxR\nTlQ6AVc2NSB4l02vCdBwwSRDakzTixmwsXzLfTpaJSat+AO/ti0F7yF0vtuv\nSgTtH4oG4qQz6w1mqI3S8GYF0kBoDUFCrZ4/AWWZIAsSOIRgB9dpUABcwTJI\nKH+R8I39kPilEaSvZ2CcA1TUlgXmLk4HkNQRO5UOPODgP0xyCl4U4rbCHPYL\nwgUtnHTzPWiWqq5wVs8xQpAXRs3jKeocBKKYRqgdBw70QpqEDuiBWhUNyUgT\nWmCX\r\n=midD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMWUJZEJE2fxKsbCgIU+LINBSLfgFLn5zikbqfrxhX2AIhAMjubdcnWiK/slZN0uBR7PbpGSwQr/KbDACPlWAzLGNB"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.3_1567705884327_0.5344877322593333"},"_hasShrinkwrap":false},"0.900.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.4","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-z0UzY6iKRoTDaAow25l2xPWYIcS0gvWqTsqijgcrQp6xD+3GCn4xJnrLqsS9UBZ0ZYLnk9UM9D84tbEXORStZQ==","shasum":"ca63155d08f0f8ea7ed2f0dcf648c21a8bc858ed","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.4.tgz","fileCount":34,"unpackedSize":96100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeTP0CRA9TVsSAnZWagAAw54QAIhwcy5Bq7Lx81BXKV5X\nYyzY7zZ3U/pwmpPr5iPegR26ZDXyWnVfyHyXavkefo63X1EpFxxXxkQ9YJIR\ng36e9vGVD6yPrwPlQ6bTEh21W+y6MFmPq0lLxFoPrNmQui+LErXo/ke/V71p\n7+dCPMI+JfFIElHznJd7ibWonVmIs5o0Py6wPIDejQ6Twh4X0NZ9H1tCFJ/5\nG+hVfYnmT+MztMVXzHraGQqP5uAlFqy1nZUI5X2o9aM3M/0LADjdDeooJTXg\nn43sm7QGna0TtIuL4JSiCE7R59Mv4HnwFCi+fqByIHtzuYSypgORtDZBZ5O+\nF77rSdkmICVrwE/WrpZY9rrUwyMRW4JksvGt2oY52QGNoPZ7rsehfEfhMNPj\nYouLZl+BrwRVoMB0O9LK4SKX8LC6mQTISyMwEelFo/a1bzw+YA1cDxaC2W9H\nheBAmrrSGrHvd3MD4eREAYhwGy/IZk3B7t0xPX7ecz+cypD0m975bzNca359\n/dmmxyNO0ATFBp1aGZxFenKLoPKydxY12CoM86QbHk3MXGefY4TEc+ZTF6DK\nd3aJzkvMoooomrHH3HOT+HNOlHLU5gCyvwSPepoX5O1z/Qno19+yW4UEI6JF\ny03qnXb4GppK9qtmz4jOdKdHEQL6NKSFtCLfPNSQrd/pusqH6H27DgNlrP06\nS2cH\r\n=PYE1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPlJdmFS79czE0W3xhSkzTfXqT1KjHNqTEXMaOaKqEhgIgRwif/96xS1TXGj/0X3lD/7EOYeoigOGcvhublJ6nc98="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.4_1568224244136_0.5140634558068724"},"_hasShrinkwrap":false},"0.803.4":{"name":"@angular-devkit/build-optimizer","version":"0.803.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.4","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-VGkHCyU/OC0BoTeoERb0cFG00Ippjhtx2du+7JgwGNU1GF+g2H6Ka1NJRQf/TrwgH5ATmagvlTKQRDOMo51jqg==","shasum":"e9a4fc4be42b9cd9b33d42827b2b06ed9e73d79e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.4.tgz","fileCount":34,"unpackedSize":96043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeTVTCRA9TVsSAnZWagAAVJ0P/j7DwaWhy1SrzBJd/ZZU\nBS8mptZgp5FIXCWaz6cMtQEBkmy+KcecnGDSO/qd5Ewgl8ew7KxXsLcENg9t\n+GidtySjUb7MzNUfBengr0YwgPh5w0AQPoJU50UwLkBXtq5KxbEFMuvT/w9J\nLkBRIRoKLFwih+DrjIgYtMO2Qf/e+l601ZDFr3H5O3rxaK++WVtck3Y4Lm03\neGz1oKduDHbIQdIFIvrOONLpNh8sjJfGjf2pp2TcQqJ6VnIIWBdQHOa1KNUb\n0wvP7oyc4d2U+gR071N+4PHAld/7gHbGLx4znjeELUB+EsqPJom9bjhjXAB+\n2nnFgUVrUKoYty6PfUpp/P7sv0Yhq6lAhx+KLuHNTwQeXwnxlpUCNVAW4bwC\nKlyIS7wtXYCBbsKOVadl9QRdOCB2GGa5anAgSz7enZB71+v6BpWZlJKiKVAz\nGRyBzxdKb6/qjtSHCNnnr8pTLRKBLgXqq2DFDCRoTSIquKSYiIfW5W1Ym/Dx\n6gSZYbht3tLBWjSvzz7lRor4SQ7yKJMqXZFMX8N31CdZ9ganyG4B8BPTPCNF\nOGvCuiusoriJ8+GrrjZbGLxXfFsrvTcSWGpdFg8m0C81omkh90xrHlW8wbj3\nzggGkS682Fes0LoOe2d5Nfm1qpJEwnLLGM0it96/I/Gn1CnqFG8Ib8XlJxXB\ns3BQ\r\n=fc2U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGSw3FxypA3OK31GLnb2AdeZeTNxCLVktCqPmlev4NUmAiEArzKMVS7BkmxM6kShZh2y1Wae7f+WppvYBZRuBH3KMLI="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.4_1568224594605_0.8737551023216914"},"_hasShrinkwrap":false},"0.900.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.5","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-lGYQbuDF/eSRzrfG5k0nWwhc+Cr8ps2wqgycNf0Z/A+h1ibTp1GWZDy611+pCqRlw2791LHUzcujr1g637xZvw==","shasum":"a238a584335f7fd3db819f005db0374ac4399c2a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.5.tgz","fileCount":34,"unpackedSize":96100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgpQBCRA9TVsSAnZWagAA1T4P/A4hGAq1VkHtOFJX7ZL7\n4689sf8I85AcchAHrjrlo34Fv5+fxGwnVi0AAP3BAhoUOmf5z/cSdjBOl2NB\nEzcEZJ/MjLj7GjBCCP8OwrOPOz+IKKHszwlCd3uf3MvwB18ybPAq4RW02Z8a\n+TDfgzUXBKTSHhSWcLh8Zq0f2DsN3FOzISE5oQbmIZtYdIOOO2dwXmClwjmP\nfneDqVraDKyelm25e7Zd9T87gN9bnFVGZHpF2EwDTagtsiWM9MPqpW3Nttl3\nu1FICm4OKd46x7gSlvTyqSk/0gE6ggtWkaEoM+/ohfy4G+vHRe5IBocwB47R\nJ+Y1gAhFkydU+J02yWi830agHLJLYkkNMpHi5wkhFQqiZGDV8RBjgu8JhzWn\ns3WC+aFooxshjyoZzrAKSVJH6W+KYB/8TQLqBrlAc/Y7VbDXae3TUH7GCK3m\nsIImviS/31PV4EDVQ2GVyVmR1E2lTrbCiPI2/SO5FRJRP4IJz+GpKQx6QB0m\nSRzsyxblU44n7IPKHj6MPG4/tPK55I9aDpbUFumaPfvAkYgljlK9hotRs+Jy\nIsjNMrHT//NSBVOrBsOyHcWv4WcygQGwe0xx+wnr4J1SdurZaX/6ZXl/QuTh\nF7R+JKnn0kGvdJ0U38H7NslkcDGupugywyUxCwLG+9TZxKI8ZBkBVJ7pLPlN\n1sry\r\n=M3Jj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID0j4sTT84emm3SVCQhGv9Kl5sDp54TqCKFOpi+ybZpgAiEAvavMYvMnXV5nH1VaY94C1v9tdZrRahzmfvZDr+ebKHk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.5_1568838656646_0.9337386381345532"},"_hasShrinkwrap":false},"0.803.5":{"name":"@angular-devkit/build-optimizer","version":"0.803.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.5","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-IDlUfXPKgGkoDCoSBOz2EThZp6+a5LJug2FSE7DexhseIXRQ59PtoV4UwoLzqqDzxLu8w6K0xZUub+G/jLoPZA==","shasum":"5140544bf90563d4cb7464fb10fa2cdd2136aa9e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.5.tgz","fileCount":34,"unpackedSize":96043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgpVFCRA9TVsSAnZWagAA3OEP/14AlKnIwmv3PCE3L7OY\nzASUIGQy0SwDBw2CY0XuKHwBoYBFXRlj6oct8KXQ2/PuDVoXEOW/8GxvfSbg\n2KRIX/G6JLVyLmJZ5uV2rnmtVlFH44NFwfLnHhWzVnCXLhYPNqUVHMZzavvB\nLuBImT6UkMZ6/tU9zf/SF2i6hBF7b9O2h+PibdRxDpl5E4ecRvYx9p+UCYx2\nMu6AXvbaAEAH/55MeaCOEHaQsCbPquslF+3+27JBIFKVqjaRcrfYziqSCAmg\neq4JZgUbAX1ogTDulBCE7wpAF423veUUqPydiogzwyUkkyVEN7A/rgJ+qcG4\nsPGHT4C4I5P0O0QGj9MuhCfgnRwBMa58mEbWRxMCWq4O03NJVIuYmo1QcF2U\nOc3sJU/2Uih6udhUiqibWBAml+BO5dC/vqe25567eeW4d59PdoIdwV3N1DhI\nJkGzjiKqVu6oxFhEdEuTT4rWSUj91OtZoi4WkI+WiquZtI88YLRa0yVFL84I\nhJGTgEHt9E2bOGwTKmJMAuzU0deU6U6e+dypNxs5GPbkHzxP/jb6N/vepmv4\nsaWeomvZujeqx3JhmSoo3uTk7bGDVHyvx9BkrgDkLvPRdgMle8rJOJH6m3pB\nhYv1CAja2t3n+1gQvNkSr6yS3l0ge++Q7kBAOPWqU4j4DIazBrzDt67Rjs2F\n6lsk\r\n=X+q1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmmczMM+sS5FwQXy6dGapqJT5Ku0WTPun1kwv48oukkAiEA6TPslMR5cbSJgJvUOnmo3v91BArGSN5VEHOkI2fxL2U="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.5_1568838980603_0.3940711507544996"},"_hasShrinkwrap":false},"0.803.6":{"name":"@angular-devkit/build-optimizer","version":"0.803.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.6","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-1l8BCfd1zj3vPN/N/dNux+XVxudZ3Ae0aMUvcY0NNkWR92ShCAtwyQUHAffZGDNmGvTyRy0k7vYt0knkhSSjNg==","shasum":"ecf3d0ebd059e9350c3bfebc472ebf3d85ef57a7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.6.tgz","fileCount":34,"unpackedSize":96043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdi74sCRA9TVsSAnZWagAAcSYP/330mbn4nt+UoTm5H5tY\n51foIE9O+Jd96pyglTIsW0GUWlg5UGzjSvjxKC5X0phHtN+EOv1tNDDI+aKc\nrfylyO+Yji+H0x+4h+NtzZipdRs6F01fz3MJLUgvLlrgyjDSqwj+1UrZ1bYF\nat7izN3QBp8D20rqaEU4C/BJT6OQVWxOH/Uep8tn46Oc45PTLGWN+rIVH73m\nOShuwpHhhR2XrC20oGl526J0sCIWULii300MtkqN7Q8+Im4sAHBTE0xNqcYE\nL5wrlsGNxIaO8w7b7aZWMVJZ5GcQT4/PuFQ5FO3ddSY1eOfjyaKCbNPKKT60\nsu03AYGeHXvGWDsoncQIabKVhk9fMSvSlvYWY2A1YhpmoloBC5ySFdifwPl1\n7efnuXLub1afo2kB9Sn8rA60ai7O7EjdoM5wUk3sTYbWubKwzWkPeTYWA6Gu\nqeu7WPL+BQG0+0DkWEUgO8mDV3DgXP9r2wWHYuBj0UdrdXB2yvz4PzqJoalt\nHqsLV6FmDWIp/rIP70JTNWHCf6f20WGGriObUZMng0Kv9kcz/oTsLq38JZfy\n0F8p5JqJXYPdMRo6/wwjHQEpggyrT+levYzrcmqJH1vI02YEK6OwQC0Mi3yf\nEffPgh+DNa9YA33mAjHJEoPrKV9iMijAoo5p2SvpyCbyC8HCkMPL68Soip4p\njlSg\r\n=wUk9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgkavEenTNZ1iBmYWuySh4E1mvgbIYh+1L8nF7fJwZ8AIhALrZN8tkWe+FceaXamdR+TVESq8uHDxmTbz7Gemgf/6h"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.6_1569439275949_0.5122182366953951"},"_hasShrinkwrap":false},"0.900.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.6","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-RRy30rDPrkoSrTEGwQYRA2CI0d6u4k9NAq6PLPm6uGRsmtXBgVLE4OwKFHwHGlYGxeWiFEuCMGDfOelw9LoxGA==","shasum":"b3090b0f02d7dbd81f3c3f19ab8a97ad13a8f0c2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.6.tgz","fileCount":34,"unpackedSize":96146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdi78kCRA9TVsSAnZWagAADA0P/1c6pacLFPOM8r51x7iG\nLFafT1WRIyfuNhykTM45JvherjMBAN1hImsyRJdQcwx7C8ZpUY5uPiszU53R\ncOE+zLupp3G3HL+bOnxhSvFYJxOo+xzykOAPS+9Q+QCkmR7N6gqMtJid8uKH\nQX3UF0+4lQ0ujg6oo/yV0QbFojYy0zTn++KCY2vAOXSZk8wqzUDwvmUEnBVU\nC26aeDXTdMx+XDNfstB5CGyyuaUT5ujIK6E8H1KT6eYVsAzGUSlMrWbHI/vw\nYXva2nAd9uJgtTvGcEZdSJc1Sv8LJNfUGvN06iyqRjP/RG23bumedfrUVtXI\nlb9n6I+6kBKld78+A5a8NXQox3WsoVQ46lclzThHGL4595yNzUCKk9bUBdG4\n42biHMwaV0NhsrgH3TsoraY5Yu5tE+bUDnrO21Di9E6j0BoR8i2sKlALir+9\nWthEyay9uude/Y2SEtTkjk4aYsGW6RsjdJ5+IhHe+za69tOKUc6L1cX/XHjE\npKDIKA758rWxO8MhMQs2BoJOxSOC+BMEFBkTdEItMqPDDe7tkn8nyWfppcAQ\n7A7QUKvJ1oezn3xZRpyG8EzYERqX8llLkBHYNPGQrdqtX970e5fSXhgto4PP\nvE2RlaD8dyf4AQu0ALt9kHXwWwzdyuOBj2s7Ms3m+GC35LVs00sjbvSfKk1h\nXm8P\r\n=rxWj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUpjFL+yK/5i0tjvQpTdfnEMta/D4tYEDvGGmkWmkotAiEAj4RUzKrKPfwTXv15M225YeSkJMdFwehyEdjO89E1xvU="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.6_1569439523871_0.9407969352201568"},"_hasShrinkwrap":false},"0.803.7":{"name":"@angular-devkit/build-optimizer","version":"0.803.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.7","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-tk6z/QKw2OM++6OTUiUXp/pAwKFyyvfJmzrsXdHqmBZyrqGPU1fcSOfuJCSGjjwjpiQ7tjSVHf/ZvZHakdOoOQ==","shasum":"8770e5e5479270319c090f48063a00c74a94ebc2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.7.tgz","fileCount":34,"unpackedSize":95619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlRDFCRA9TVsSAnZWagAAmL0QAIsG7vaqK8CeOWf8Tmzp\nJ/19qS/Ox/8JGGm6ysDKIjdlED9wlvRxKjCDjZUGfOUlvAPyPEIoUjD8RQK2\nkQFSSV5j9x+d61zg8xYtiPJPgdHDE8Iv2S+YSSlpIcqPVvKCkiwykvrLUuH1\nHcxTvdgM0TNmm6KdjmAF6cN8NG1ztybXwLwg3sDUI1QzC131Dib2v+0siuLL\ne4nMHMPAcctrlnGn6TDuZGGOsqXJg47hiA/JswUKl9XPqerCjw4K7+TY7J+k\nbcwyqAW2ejR3JwmhqCDTLUS/Cok56yWf+oTN5bV7nIoiJy3BctJbBW0YnreH\n3tPmHNhdShvVKD269sLCG0ZD3IbzQZOTDdXjdQCYM4AS9xsa0CPjIurAuq8m\no+YDiAvLMym+5w493c+LsPvE445bcAz4iCRtvl9WRRyEbWNkMF0W8pEnZh9n\nQc76Hyo/d0h85ONP6R6ulaYT0+d5OTaySUgue63RLdXT2YwqJsv5GyCyKkNL\nXPwdf/GaNEkWKQsIOeOSjEggTVfhE06dgvHvQ0yffZ9H+AaKfHjzfACc7HEG\nq5SR4OuA8I/Vi9OYdSxejvY0y9xIAd8Pz6StsCvzWkQFdATa9M2KbRyPwzxm\nKc2e/gshNwCHPWQ4nIqzGTNlVJxEv4I4Vf9wChxWCiRnOklYwCbGh1ZzwUZA\nJ3/Y\r\n=dndP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIANRU/Hb7hdodwoUs0Evynk2GILtqJ6iQtGH7/1Z4vQjAiBQ7QQXoduNsK+HS1Us2P3GKjKyGimHlgpOXaUa2UcfMg=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.7_1570050244947_0.3473390569444246"},"_hasShrinkwrap":false},"0.900.0-next.7":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.7","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-qCHUYPmu+6PMqMGqjAlTruoy3UwDozgeoS/Wou4gYuH2geMyoaKp7trhwTS/GMIBm+GH5Vn04auKvBFOS+enRA==","shasum":"c3d03ccf20893330452698368cda7f1316d4306e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.7.tgz","fileCount":34,"unpackedSize":95702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlRZ7CRA9TVsSAnZWagAAIpMP/jJBNL6gYWyN140INXy5\ntVpdGD7/8Mmx86L1aZ9hrF0/CL1LR/5aNNbbfhC+zqoB5HzmOVve1Iwkstvl\nrfR4ypOdLA7hKZoZtlPDYyWjc15/eB2k6cXFf0qp0kmxvtdCRNRwnRSNiIYE\ntdtikYwukBDFSuixY6vmzSGKUvpIVzW8hAH7k8Hm2AY4o4+sp8vDgl8PM8mA\nFXrofp6KEEvIw6iP/y3hhNzknHaNNzqEviPExYCK1VdjQ8UsEL5qO0z1/rLk\nGrfXBG1/nRIDA6MMX/iT+UeHcAxdKx1HohN4rAmcH/DK3JQbPLlK3zWHLQUP\n5+qi7y3fQim27MFB6M1IZmfIiXX3R3lQiuxSlYtR5wN2jAwAoGq8JGyTTQji\nO8dZU4c5xcPaYkMk7/AJgsj6nVKARGV6b5I6B5ngHVp3ME2LbA4ciHx8vkX9\nYvhIwTHKMzibFaHkSEyFLoEqMEwqHVMBy4CqLRy2Sbpok61siz0qKO9h0nME\nErYJiyYpL2Cjwq0IzdcQ1SHyh8wsmmzkEePmlUwMaHh2JalLCgg8WtBcWHWn\nf0A3BoiYkqDMTcRIoV5H/wRyS71AVum4jXUeQnUjD/+5ScKLAt7ugy4KPhHW\nzqCDvY58k+GPYdysebB7cdEFXdn1/XQSfJuf35Fb2znzTZHx707CJiNnWc05\nNAxT\r\n=Mhob\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDUiwQ+U03+y4abHivjeyGhW/GGd4NmkuW4p3BDaY9D4AiAo5yI6ueiS3ttCIYKL0+Dp8pZuSxHvA9zN0zzX4Wr/FA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.7_1570051706934_0.5869991702705009"},"_hasShrinkwrap":false},"0.803.8":{"name":"@angular-devkit/build-optimizer","version":"0.803.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.8","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-UiMxl1wI3acqIoRkC0WA0qpab+ni6SlCaB4UIwfD1H/FdzU80P04AIUuJS7StxjbwVkVtA05kcfgmqzP8yBMVg==","shasum":"bb6cdc93d9080594837e14b9abf2eb13d10d7dd8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.8.tgz","fileCount":34,"unpackedSize":95619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlm1LCRA9TVsSAnZWagAAk9QP/iOX35vrAhbjNpLzrEnf\nS5tJGWo5EsGHrrkyyXM6fzRRf4sP6bxu8je638sEJLoByBqZo0M9W6sMY7HK\nwmuEOaEDahInwyAtqmiAdSkspsbQC4hDzVL++iW4u3mXnqhy7ZnO3hjxyIJo\nRHjY0Cv/oTVurduEAvUFzzp58wVNvISFdlN17UvdJTUku3We2UpNAGqZTxEY\ndg3/UF1Y07+Fd9yw3ZOpHIG2yn65SwCdTSBjaO8/1HUbxZMjygjMHq/f24W7\nE6DpsVjSYfBbszJuAMrKAJCaRD2//dCtIh2VELnijfWU+LmRfW/2e5iU1xYg\nILdFPVeogJmMtu2PqO02whFN3y/rDWDNRmyPlFrIygpm7QWzK3taUDWPcLJm\naizjitveqrvCUgxCD7IBb/jToS3fAbfJ7QLrOGRA8X1B9LfsNxLlPhizJ4fB\npJGP/WmYy2+Cjy2FrTYTEL22FYOhuMKdCNDkidPLz/QXymX/Pry6ia7xrnow\nLS8neb8OOBeloPUvaiDlYnRyPFxm1T53aXSN7FEJr6g9bkdPtF19xLYL9wl4\n2zKQ8kx7XW6L+hevDDd65lehFOOnVCG/l+aoCKFmJ/zzW6VqkLcLClNsmYzE\n8pFm+lGNTMHp5BQQOz5+r5H5bYII33ORQijBeHGVkVvzylHcOeeCiJVQ2kvU\nanL2\r\n=hECf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmGRkPFVpaCDKu82uJleOLiUMekpUUkf5bz2nGEVqmeAiEA6pGPpdxGRU3CDVkbixcginSK7qyclBgjC/TUxF9ZDoI="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.8_1570139466408_0.6805246319301437"},"_hasShrinkwrap":false},"0.900.0-next.8":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.8","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-Rcbn0uD5wP8oE01rKfWyqKg+ViZvvsxcDJKdyQPCfnKUoyvHTj7bs0pxV2S7IQZancejNGi1Qy5tcyQbwv2WkQ==","shasum":"cfaee2539c415d080324d3d989e65d67a2ab9db9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.8.tgz","fileCount":34,"unpackedSize":94624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlm9XCRA9TVsSAnZWagAAiFsP/2PlaP6qH1iOkCE9UsrE\ntSofyf2mEuUz9fF0eS7BTdV9Y3cYX0sGU8GpObZGwndaouUqhY3v4ofHPZGs\nfJHTL1xWzkcD5YGJDP1n0iFheyh3BTb9S2G/09z+XJZ7RoH8IiNNDcOjKfue\nXIl3clEPoSZa5iERHju4+fDUCK41hGpkZJQ4SX4LQfs17jt6HtSQoJF+KR6O\ng02kWAqQUheKixcoBj5SYcDQ0Je0Z2CRw3t4I0WjNjM1+qvf2WygA/ru4n1p\nu+eXSTC026YuZ6gM4Vg3auVPDXgB/qr0fhW3UuJ5bcxo2zGNVIm2nahMC2da\nYWXqqfgDz+nabv8U1S1D2BeKc79wdLSo5qM8xwwJolKwjuMwU/uT91yt+ibt\niXfhouCWmtLyw9GOpPE0NEiVKl3GkQ8LQ0osu0qFDgRcuTfVQP4/T2HDtFk8\nrJZ+MECgOQFpCY77PL1J3SaZ6el+a0RAELS10UwtKf5hEQbnrGQvbA/uGVr0\nNh5H+HYGnAKFyzT4NWvrzjiSy2+ZOHJnQRJNWjixjaTzHSnWTjtBbHudMTVH\nBLOA4xyJWY9mbB7ReaNYJ9uKNVdRP/zk4NR3Lz/NFxJw78SSYY8WyJoROwF1\nZBQFqsuf4hAcCzCObXhiTEAhxPGcQYYpwr2oE0KTeWbaeHpto1ls5vQI2vpu\nvHmJ\r\n=arF2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+hbpZHsrXIPmSSSYcI19yeoxiSN1u+Ot2cqfxcu+wuAiEA1QeSbE4cILaMmynhjKa2Oqs/Kz/mcevA8JGNFD70Qko="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.8_1570139990486_0.05078006698598059"},"_hasShrinkwrap":false},"0.900.0-next.9":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.9","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-xswapHM1CBm+lS4YFNiYpWie3bowzWUsXHia3VTQXmaXNpLSeKQQOH1GHsN6kd0Yvze2Uf9olzBc4+EtYNTxzw==","shasum":"2a6ca454d958546300e763d4c914d7808d66019b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.9.tgz","fileCount":34,"unpackedSize":94625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn+QtCRA9TVsSAnZWagAApeQP/0lZQ+0I/tEHh5Erln/P\nhhHkm+4bgcfSjsCoAlBDo+4RbQyiHkQtci5x8z6d5zKuq8U5pUWhy/eWY1nF\nYpV1s9YkeOmY6mnX3vBzQr4LCQUE/xkfiu4tpfW/pF71Gy0fGr0xFmNfKKSX\nAQ5bGwUcwhwF5y/bAY/L5Ob+RahsWkkdC30nK7XE9CuDXqSxOLSHSpxbJbjc\nxCcK+4Vl0FajijlSH9+sNWlbIkoPCA3/kOEg82yXNlbDccZggppR6kRkWxLt\nBT02Mz4BW+YdxN3lxEUgo/RnyhjnibIKNdhj60F6Oih+atSPnDfXak7Tr2na\ng7RFUjStTWgVXbIrPGO5W9ejFkzluYWK3rnbDbl6wykCM3PwJF6zxDaETPsp\neSYL2kdH4mnj3KNCzRti2aX2zP/LRD9KqOtWZ3mzOO4ftLhMAb/4ADGc2kQa\nvMlAdzg5auJ+8+/dcEkWWK9imOzhFaKTDOgISd7MblaVo1kw5+w1aZnINqCF\nWiLQIEIbh5IR9RQ9Ab0qSX43Jm2ujIIHs8/miuU3wPmnRc04q3s37YDNNlK0\n4aqHv0a+/bw6aoSS1hwvowlAVDkWII0bfcn1RtWWx94dA5DNtNcRqTufYG66\nw0mxWi/2TwpFyjtosGTWsuLy0wMX8KngXUNdFxS2Eo8+f0HoemVIMQrjetM2\ncshn\r\n=r+WO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHmL9eS2qQ78dA36e0IICO7zHGxkxTM0qgYBzKfUsPfgIgaboNAwMBLNFydC91wioF8mZ/MGxAIxDTZ/FarayOIpM="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.9_1570759725221_0.4574062545800244"},"_hasShrinkwrap":false},"0.803.9":{"name":"@angular-devkit/build-optimizer","version":"0.803.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.9","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-AeuQroeK7eCTTc7JG+DLzglGGp8aymA+9hkFveOoUgqdhnCG9FaqBew8ZetBD6FEokU7eFT4bERJmgq497MTOg==","shasum":"1ce676edf1717bacbb2b5f86da50435c2686aa59","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.9.tgz","fileCount":34,"unpackedSize":95619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn+VMCRA9TVsSAnZWagAAZbwQAJ/E//dJjRQjSO2jlNGB\n/jkjUFSDAbd9eJl+4lS673GJm2b1rwXz6Hff1VjckcXZ7wC3jfvtf6YVisx7\nrm39r112yVf2KtoUjLyvjWV4CfeNZuXktJgWU5Sol19NQ4Y73jggBDHJ27HB\nHz6jkYp9KNjd3JWIbTVlL4WOFZ7xfdg0GBen4MO5OQ05n5KhD/a9gGRKUdjr\nVF3J8WD3TCZZTwxf5YssFOMdRyZCELTn6S6V4nEUUG/KOf4O+uWpiMl9YLHA\ntOCl61RNDrmEbd84qvhavw7kwMQnXZJaCC9z5RiD2hHftslh74Ee2o3TdD+q\nDv/1mS5SF+yfh0gs4bUI3EuZSrSL+vYZJrvZZJ9/kNB7lk4Iy/LCKhHDokxC\nYPN9EUg5wknHvKmJ7dlegDupx3gTLFObVMlU/8JmN8KyFfjEUmhvTZR6uQck\ngVD98IS7CxGsvog4QyL+oqUPvD2u2Wbms0IzitT/MPC1nH/yeMN/4ZaUn9yr\nucMuEYX6YG61dfVaSEIvOxZGP+CHQn0aLZTrFv9eUKZuHN2f7wEkT8ZsgGRn\nOhmCAEpfbAYgwCzMY7fbBasbh4L6H3WAYeCXggi444/+RwNMVBrvR8Sbkryf\nX82ERwWml7F0ilGDEFFEzbq+/Es6BbL1KOq0S0tz6laz15CfeaUwMXFyA92E\nBhZX\r\n=TR9X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSZ9uajTLkDv+zo2DU1cng+wIYUaz0GjYY0ruNqt9ObwIgMTm+nQgDB5f7Jnn4DvtGIzyY+dyJcdItWwo5+eJy6YQ="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.9_1570760012164_0.6084648111807289"},"_hasShrinkwrap":false},"0.900.0-next.10":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.10","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-kBPGTwvaeg0EircMy9bPuXzfxCdw+hKFi4l9ErEPBba9UBm5gVwnExRFg+oXZdD93TqpXhHrzEHc387g3Vqp5w==","shasum":"d83853514ba52db15cbfe894c067145740c7027f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.10.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpysJCRA9TVsSAnZWagAAR2QP/1TBNaIQJmGmweAYhwQG\noYQzroBSUYmW0lBdLkdJu+3qBGrt/jOGB/H8E1whNqogasVwHqbz2njDUPMX\nTxX1ANDT1aiQi2LYaf2qWmxjvjLVOQm/+G+lUp6qD3XJ4Z2fd5WlAPNclqc3\nGiDb/7p8RyuOaRv01FaxrHzn1QiagzjbwbRpJa9hfIGEjoaw5zP/J1xBbHs7\nSNDOwUIE0qxHiXX9tgKRpjNK30Houj3C0SBHTpDLJtuHU0+bJLJ7lR2cEAx3\ngGHYLfqL9pV+iKMImW/ZAEPhCpWGR7jkb9bH5rLwW/Zj0xw4K0mCF3l6o76m\nDo96mAx/z4BamG2KaWgW49Om3/vs7cksK6O8/SvTwjqVGgbyx/Q7zhNvQV7B\n9BAWrkYMwWS6py6rmNwpi0cbLDskVQjU2d1uGiEZj427+3AvsIFLhzryQljd\nRDThpyAn+7mox4s7YAfa2NqV/T3dg3TDdaBi+HSGqcdXoXhSCNVVeuZhjtd0\nEJ7k9HuLfgj7qE3LqYkEngx3+MVjIs+wXaohf4OMiajjLIrbkn5MTmEUUId3\ni9gQzqLrweMl8RSVW8woE86uHrCWhGPwyIxo7gfvMYFTi2BvMkWQmSgQkjR3\n0vFBe8AP13urIifbOgRRx2YMmbXgjTdQ/7W8k+/qJSJhR19oEsSm7MpZDnaL\nonGf\r\n=/LWR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtmIs0QNPNEjGv8WjYIVgjZPTFFDQ4Lau8IF7oYMHFVAiEAgfUiZ8j1rcN/5drM9zGqhp1bCF3Me2WIypNR21wsvAE="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.10_1571236617004_0.5202873950300495"},"_hasShrinkwrap":false},"0.803.10":{"name":"@angular-devkit/build-optimizer","version":"0.803.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.10","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-TEtsExowmvGoMvW4AU4ZaRGYb7rog7vXSLaOw5d/y+xAQJaUmR+zFWwyB4ON4C+M3pPe/TBPMI/ORka08rlmgg==","shasum":"11b6e0219582e36611f48612a1eab6f53ff7b82d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.10.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpy1UCRA9TVsSAnZWagAA15gP/2MOys/Pj1p9Rif6u1dV\nI0L2I/tzSAwftHD+c+anQmbz58snAqDF6CIEJyqY5uBG/1Snuf+Mzi/k/NL7\ng6CQUxL9C13vayqsNY6ca2JCNkz7s7b2F7i+p2nknnlVmq1NgxiU6KavF4Qn\nxI7FQ36y3BTLCChlHqsnWo34GJY1orRhhlXQ21xcUORpKo4ZJ9e0RebB5uqX\n26/V63GixzaztfZIxbgOHu9G8+4T2mDqy/e2lXe0bSd4g/aqMqvVxK54fqNb\ny6T4LyreFmBCxfQjH4N/LXihNp19+B+wHmohhpANMspNFHBQK/PAfT9oMNnq\ngKzxEK/fytONYQ0CovziJR9nFEd4q+Fj+z7wLW/6H1JjLwrxFhiJQpUKSjCp\na4bIq+UIsBBrLoR98zraCVEDIKFEx6U4ZIXrNsRLApluf/UnEIp3h49sBxfR\nXBK2Vj5HrxUzD0RVSL4j9XSmnDr+Knt0s5URt8r+dfpXXwpbZqNZgYcw62aG\n6LDjQPoSIFq+1laYiDnL/aHsR4uZvjxhOh2J7bteUoBLhxI2u5Bw2W3gGftb\nYyCynS/8BlAx/mvQS/erCC6nPyRuS9XHZNkoceHMCR5c3mSxPODiVQ+pBdZ4\nKSzSkdBzxArxrULoucnIJBbDMqVgk9VBhY2n7jeMgD2Wru2adT6j85Z2KBph\nkrzY\r\n=lGuZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCym+UAS7IOUaFLBFFV24yHke+PuzYmeOXOmkKkD6Ie/QIhANbuIaUE+m4q6P1qk9M78L4SJr8l1KlUJmQpwD80sJ3J"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.10_1571237203628_0.5580474646336386"},"_hasShrinkwrap":false},"0.900.0-next.11":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.11","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.11","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-YpPqtOymhnq7I3hMnqgnaUpWvc9oxKPLm1TnRcULmL4SSlHjhCNvEaoWBX+/EBa+4Zba+kG2cNN2jHV1IA/Pjw==","shasum":"dc29609ae65d2c463ebc927cc43bc21d06f47475","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.11.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp0+oCRA9TVsSAnZWagAAnwMP/jJ7exD4OrziQVRdJ5+a\nFohFOjBLZQKP3cqPh4FITpK5SkoS4YMvHOFTxd+mLNOBZMsu42UUKZOxFPYX\nhKqrVDfXPSoenVuUvDtJKdUs8YKlhF5SU+O2CI31nDtaLiJMKW/jVjA55Myh\n/ZKSIW71fre9BQfCLQSoG6j2M42R1Su9FVs70SdU3f8h224JOVvkyrwEJheF\nJkoQmM0JvrpnGpDyMKsIfB4tGO44u9GAeb25JS1ov0jhZWT9D/BPXmOkUjEh\nOPuM4mFm0KHS10FLjfb4U3bt2rmfLGM2zZClw7aeisKuwmgK5ZC1xmgHj73e\nIJxWtH9INMf0q/d1ZrAHIBgN8dTzET8I0OdIw5j6ACsuQ7hCl25ujs4fp8y5\nfD9DT25aA/CedZch2TUk5Mf0LgMmqRpUJ0EY93uG/KzIh0gajeidz1uCrm7r\nqKPqOYDTv7C4+LVvasD8Y5wIOgJLwmP/EA1OGXOOjjhX4aRtCiWxfwZjTLsw\nH5egO+q6+HbWhYVYim92b+usOih5SrjnfS4YFw63jJBZNHFGCma1lRYn+j+v\n1Q9K1XzLnVFEk6Izcw03O4xdB8bJ73xjh5pqje+StKjtsdpjMqeFDoaAjY4f\nhir8/v+4cECc4+TZ5fkYakngAv2WzK5aUZAF4CaTJVpD1YTJLL6cwN/MFpJh\ndFAT\r\n=0FFl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEeGXehq9VHfA76mM0+hVlFsQm4D31K40VLAYFb3Co/gIhALGtbjU9mV9O+lJIkxoUEokCLssjXSZh7qBTbzyE60JO"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.11_1571245992117_0.9659707118136025"},"_hasShrinkwrap":false},"0.900.0-next.12":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.12","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-IlxBsRd1lgpRh4g+aldJZueCvQmfDwWIpYsizt+bAjz5SkA/Amr6gcinjIMhfAPJpsx0c6ujJt/PDPyu2eArjw==","shasum":"69d78fc4f042fd5f916be07e6d8b79a26c7f3521","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.12.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqNz+CRA9TVsSAnZWagAA6pAP/2euppQeNkqXOWCatYg/\nPV4RFTwbuuN7qcqdrUVTblUYq3GLjWkLSu1XpZiJVUXU7snCcw7J9W4nmz0a\nvOWLegixv2OB9zNXZzbtT0N4iv97FCEzeh0zFUfHfqSOq7Ph6/LS010W05Qq\ntkwgitRGKX3O6VzQanwqQjLVBGUvk9jP8yGxeaCPDDpcyIo/yZonfVg0Shzt\nfelJyKiiiCkHlHG8LYdxIxj+NPmb6z2F6VWEpSNZyXSwj0f+kzAj0ZJLVnWC\n/+IlOYClk6e7oY/lcF6QWZg0WLH/R9XzhlayV04RhlBHHeo726ipRoa7dx3g\n1HWUTo2dq6n3uil1GXPmIiEkO0l80cQlwg7MiNHfMR8lIFKroKLUIptOZwqt\n7ZHEq9FE2eGIpoO1+7mSevmyd0s15d6z/n792VnwVbaykVzIaRaqGgDHvUyW\nAlX9e8LR33eIYGpsACMx1idY/9mu0zptxkqW8cm6MtybSHQaVYb/C83dU9rj\nlHZtRc5GrIEZdpeT93woCTAAZGZQ00s69TVXXI5xo9mMpIVO3UayoXoVuamm\nx52+hbbos9aKxx0jOy4CaafudUi1jvFWFxIQA0oau+A7/dyXGOHn+YnEmXdt\nb5i+Uer8C09ZcOwO5HI7jW/iMMtDm9XxdaXxJOX6ub4vyS+cO+gIfkLUaQ9S\nBf7U\r\n=nzdt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBFAuzOtFsZLS2a5WcY2gQfa50nBLvnia5e9J3dzgfDGAiEA5vwnrrES7qdKshEcHsEjjVsR3/lUhee43fYbYw+kfqc="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.12_1571347709525_0.7689630229399336"},"_hasShrinkwrap":false},"0.803.12":{"name":"@angular-devkit/build-optimizer","version":"0.803.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.12","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-mFbGECdK+oCKbSaVRZBMLrfvXAN5GyPLcbl9RnSwm0ypLJPon7Jm56BGlv5nmOeh254AlwRIP2kV7vJWT3/vkg==","shasum":"60375891bb460d63a41fc7684dd68a8ad19c7a81","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.12.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqN+FCRA9TVsSAnZWagAAZ7kQAJeg52iBRfZ/OsEJJ2Hq\n+2WMMjmbb0Lxu8eYps5E02Efb9c4cqzifZT7xA4KhQzO86eKXe+taP6s1qki\nyNfHXj9PuownLXlB2R9CBP6YAWmJ1enx6Tk7A3W8H4HPz14foePmazQkEz6j\nSbBozCWCfe4ZdHJkJM5HS9AB3sLVXc9RI8F43V1yvHPOQmPfrZjPaQ/RZgQz\nPEFRerIu1tECuOx8uyUqP4Nh29n9n4aw5KQIINhS/jR9R9o/VjN35sAOl05Y\nJ7xGMflx/cwwWv0cgjqz0dderYR+vBCse8UTixq3HmgCCHZjSBAcm2mbp5Ne\nBtIZpy+yzJhyXm8JaATPHn/bctJsuxTZOkJj6i5EDuE9WXhXLfbqDpq2tQdR\np10d2Iffd2eIRwHVPL/JoUHGb9nEMJxcp9HH0g250FDwL6MF2u/h4uIqPXOG\nscZ0/harG2nNuKYha7zDrXOwCnKG3qihk1UoxWbmxeONU1yZTiiKBBo8L9Qn\nf3jdkWvFB4HY7Wqqk28f7+sxKcErIaSM5sGFjmSW2rAF12wPaoFZeZ9WhyR0\nh+/fcKMcAXTRFBpnXbqFtnORAgbsH08hwEVFF8w7A/uXxy3W9R+0jEYqWM14\npkFnWV5MlhZw7l6yk1HCmLVaHUfFFFfOpujDi0+34oxBTVzuL7X9LKblVMtW\n62VW\r\n=1cuF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKVlHIjZI3J+6tizPYjZXTbllv2tl8lQNebrSlDcL3NgIgfmeiTUn44OMZjQ3YWu8mxeJk51YqaLkW5xw2WUK85Zo="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.12_1571348356763_0.6083559885063183"},"_hasShrinkwrap":false},"0.900.0-next.13":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.13","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-RDOoBt4jEyjxDE8iFSNLhUUeNvLz46u7leI/xpczT7txiRJ0WfZU0Q5pzg0eg9OoB3FLggZcMbk1fhoDSm8w+A==","shasum":"efd608fcb7a70ef98520ee96c8db7df0e1d85a8c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.13.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrhXgCRA9TVsSAnZWagAAriwQAJJ98JpLv6IPMnkx5Eg9\nTnJf3Pfj4na9mI+UUdERSRuNFbKoEaW6WIWuJBPpDmhKeJg71fIha+RrjQEl\nLmTJORi96Mt8OFGT0XZN+P1vTbQTd4eUM9FYIFcWExBnTG7bB42HX4ya8n5d\nmmfTdftfJ1xUoryq55fZvGde43rT/+eNAozmi4OU0/vyJPkGfxK5BU3HuaVR\nghHjeB2OZTDmwsp+2gKOZ3OwzAGf+qVvpZglkVq3XI1LbHraf2Pa1xXSGN9w\nLOLM5yIHjll9Bnz85Q1DnJ+Rrfi3m/4WCPQcZNriLyP8ZOyP4uOxKSCHYY15\nGj5AhDsi4fOAOeUu+Q6MU/6LuLFhZ5Mj6fOjVxfWqNgJNzPvnbnyacNANMxR\nhvrWudIQ8Ph5zeAqXWOHmsoY2+FT0QUZHZmsDEjpyR7ec5R42X+9lp5UWmuu\nxkrwvBzUwu1n136355SmWWrIWEe8l5s1nf14yj8fD4xN6LCdeqhpBCLrrJQU\n4E8nJXLAg8ksP+EaYtEiVXahUqCPm2VKCUydajG0Ij6hx0ysHEOqQViEjKqg\n8DVuzExg44rEhiAT4CSz6gBbsJJGq/64UjAZgS6TG4Unoe2zNncaz/Kh7Kts\njOJdIVfTxMiUHEVxEFxI9oSaGlzGYxdwyybi+D8vV98sQT9+O0SGVeXZ/pD3\nr0B+\r\n=zdsv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANPH1N+5+dzqFxvNF+XP40tg2cbbZxlNAhQR3r9uFV0AiEAsGnRbyYEjF/WBZSZUvzKC2b+qMu8PuYjdS3D1BTw/lg="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.13_1571689951978_0.0835582889420241"},"_hasShrinkwrap":false},"0.803.13":{"name":"@angular-devkit/build-optimizer","version":"0.803.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.13","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-pyjj9Eq1Vtt4DAK2GmyQg/dhTaubjTOSR8bj9gtGXNF2JRkE4fDtHGBC3CL4yxVd0IAmKwcFoA1H2GGXOJl6Cg==","shasum":"0144e03fd8259b256117f996ae9d6c7231f20285","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.13.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdr3BwCRA9TVsSAnZWagAAmwUQAKRbPMEBeQPjPCaEUMLP\nFg8VQjFB91JlNZkO3DkuOmWXu4F5a2lIJku9vL6N+J5ilIjfBfcY6B7bD+cQ\nhWa+TC1ecZqGp0rHNn+sbHBg9CvHeCKeBSUyNU0C7wRdGLDEegGqHGMIALwk\npUluFHJIedUIgLzgmhdMpBM1wkLzWXvNXJpR4ytqRocE7S0fJ8avtC2XT9B4\n/1kxnp1UVuTDIetHVEzukRFGaU7KAYHtOFOZzc+3NapO7BvfPxQhy12/XPTA\nNtZXQD11fwKjlAA9ouhRtBMBkBt/+cbmTfW3yT6FyX+yDifFl7yaX3Pbq7/x\nZ+B4nbCQ+temD2mR5vCs5/2Yyr6gtGxWnJuR9PiFWQvRIEEkmdGpJ2GGi2jc\nR5/DyzTOqKJINN+xwlRawSZa/Mg/c23uMU9gn6S/gPHSUK/u8FKQkTBJTQMC\nicJgizogfx8XPWS2s7UwZSU0BTPJ+8Jo7VF46IN/Vs8ZAvJ4XZp+2oerFQbq\njbKXoOGAR7GXIlAZLZlxJJqTBmYNTUTY5CTUAdNVP3y5TvPRNn799XvbUdZ7\nvj5tYH5FFNA6rMnglOWWevUXZLSOUxnuh9kwRAkQQKo5EbwEbb9lTzB1PIib\nD00G8YHtoEmKWE+4TEdUdVAZ7nZ03sQTOOs4emtV+yk2OesxbwfzxIFw2Rme\nlWF6\r\n=8xkK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOyTb97pEo/2TDRWhwdjDWmbqTTzIoOK/Gm4OVAzYxDQIhAPlNdZ7mEir0r3fL59/c2aNyjisAx6AZIQjw4xkREWVP"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.13_1571778671659_0.6293391540731357"},"_hasShrinkwrap":false},"0.900.0-next.14":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.14","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-XWUjgEDcskCYbmNJTTlVn8SQAiVwSHl3tJqwA4MCvUXChd2QNjmjl7MhLG/3AYbgzF3UDPUvSuiheUSzFlo7rQ==","shasum":"e00b9eeb84dc773a0ef040871fa0bbbe78a381d8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.14.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdr3OCCRA9TVsSAnZWagAAYeEP/06qjoi+b6PB6JYofw6B\nF2ymx9FiXSu8+FfOrvSzY4ePu2rpPqCsTKLfzr7M17jI1G0Ng1Opspe0qVj0\nwksuUQNnPazLeTvjorNvDVfNoxF2rsHrSTSKx/IBps45n78k5t7NV0GRAVuC\nx96IztTFh401VldHrroeaAnjg/+jetXxkCxoAXHDiPhKrxl+k03cbZZaL6GN\nTF4hJ4H/vydgDHyyXHzzTb38LibUEp5d1DVSYI6CfWg8PNg3b/mrV7hKcJEb\n71mr2C0C/qvxDXmXpkQkB8HbIRZen5frEXtqdYlFOxIG0F8jM3CZ3O6Tc4dA\nsTfgIPsUmztf3j4AIAnQOf7ZCEDr5KyraFm2TPiJ0dFxYXjVGt9boHpb1Pah\nOP+aMtIEyf8yBQ6W5Xi7V8B61HW8Yt2VhQ3v2Ru7dV5s0bFx0w6YAFzvKzcl\nl3AASvqayv1yA1s2svShKd+bRvRKvzpxoXr+/S7mvCMLE+lttzBRwHLo3YKO\n99a5evnfDeodEBkp96PNINeU6CC6J8BTp58sC/VgP91BI22ZbhOfe7wAa6g1\n0J0nzyuVqnfakbkyTFXn7wCZrtPOKTEjBDmr+GxOrhHQS0v+iFR/KqPA/iGA\nJHmlwuX4Mbkp827UoNjvRJ15ziLVKkLE2Gbx7vHKetzB4GALTkq8wefl1W8K\nk9Sz\r\n=bDXf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZEmS2kl2iB/PyOW10m3mb8amUAwOfCYXyXbVCg+tadAiEA7tsDHrSwwJwWLNC45P4t7vUJy3kQ0hWrmHg9k+DGOY0="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.14_1571779458059_0.3086265205383847"},"_hasShrinkwrap":false},"0.803.14":{"name":"@angular-devkit/build-optimizer","version":"0.803.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.14","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-f1RYhO0swLfoLvCj/fUrDWm4vzVSnffcCc4C4PHnqoOGBRQpmIzG7G54Pm8YK677slioToYZQ68s3/zVtsQNWg==","shasum":"ca76c25e730c9181649fdde16a49062a4b2d1605","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.14.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsM5YCRA9TVsSAnZWagAAQH4P/03+24gshxt0SrfmNYVd\nVCbrFr5tHNNyqhiivesIWYgJhlnczE3wgKbXYkIifj5vfd2I40+4YILqL2+k\nQ+aBA8XIj0D0P6BeBSj3ARmA83O9FqA+GT0TY7+Gt4qxy6b9YE42R31xLFCO\ntZojqkoPoNABQ8jhFcleN5zhSH7h5cuf0CVQ/GREa5EdtLF0Wo8ANtMyBN/Z\nVXZrLsuUnxLJCHXJvhuqp5GbyC49F3Pt6U/8hW9yjQT4Breouet4WENSzhkp\nyRifAT+/ojt5+V3TN0v6J6csqfMKNbErZ0aQBBzf23VjS0luDj6m13I3tyfz\nrgaJcTeNIuqFCJkqvkcR55WDf4gbqczCAw1b1o43BTAqGimvXx6sUpPcg7SE\nhKGZ3Kj2fe7N+9H8LPOL460ElSbEW04nOSHGQIIdfxUpAf1ddPokPGD5XQ5w\nnHqLCrfMP3Gk4j9L70mJw/6BQyPct41MhxpwuTF2dNjAmlxhkx0BrAVQ4H/e\nNb1icNXbI+D4NLeRhXXVW8jkU91ihGmYOEeva4FEHR2q32OkFczCNc8tPIIi\nG6be/xOaXjBQbxtNhyWnLHT20jqu0mmKnpjY/2JR3pGaNIBpFeJsVQf09D/q\ny9EmhQ+drcpAmed2+SpXAIv2DoYFWgv9ga2lUlQoHn4Oa63x9H6PyN+tzW9X\nnw3c\r\n=ayRn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3nqlmYj6lAY7P1kdRKsNc0xtic/UNkZnDNldxTZUB2AiBLfsr2OE5V+bmJTyrlO0KDHXUd1v+TA5NEKJel2QY8DA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.14_1571868248212_0.7575756765331685"},"_hasShrinkwrap":false},"0.900.0-next.15":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.15","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.15","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-15MU0mGo6T31wd81aBMNNEli8IgNOyFm7vRW2LwTmijcs7GidoFHc48tRXTBrppiNq2v49P9MLvCv5Tcf4SNbQ==","shasum":"06b23e17d689bde8cd259aaa3fc0e8ad9569d1d2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.15.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsNB9CRA9TVsSAnZWagAALvEP/jMzbWVH6btX4JtqGEdA\nmjCMhtIFNkjaTmFvbslxTjI9zhyG9VpLliqxC4wKSO38BkY84C1Zs3mgBsHM\nyaUdHEV7sxjw+qVhrM513pjEuAK/+WwzgdxPZ2VNPdDuCcI4+5Ugzrz5DAYh\n2SI0FPQuRWAXlhLD6vTeUtxBk8gjTX+rUrUyhtyouzpq/xaYqprljy3/Jzik\n/D51hSBu+TqFefBgVTL+qgFUniKY6YFi+npT2lA5d7xtNB7+PM59muieoJTt\nJlprEEHWmTtFWfxn037G3WMujjjmt9uDSiq2iChekE9DRdWT+rWU8nhRE03N\n+61CoAtMBSQtA4FW4J/RTnfvFndBxs4BkCh5ekylq7HZyCx8/PYPyUKrfR8X\nk8auH6s2fbzysUe3IDLhnyjxyG9dimz7+CNZlm4JF2dZ17nAB0FWivvqXN24\nc5yFI9Wotb3ouuH1pFw1GTEk9wMOtQ86qJX6ZT1RVo326Nwa59VRNkVKLENy\nZHwlnXOaA76cSlgz3P34rNp9hoDTpCqyLXP3y3uRqydoR6PqFOGSiiHL1Qj8\nyDNjAhm6gApWkGKiOMTD2EJtvjXYRzbdnPRWvISO0pqKMYe/YH+z6bCsBm/P\nnlfh3xShysfX/cpItwu5xKNJB8ObEFyaPJrNzDRrbTwSqcKTbqAGZ36B5Vx6\nW1zL\r\n=4aRv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbXPk6f0oQF6S/WMQlA6wL1pYj3I8Tml3NgjpPTwXDhgIgW+hKR88ln3BNDHZNQtRUN/Crq/RjGWDFd81QLSV0DZ0="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.15_1571868797259_0.9027502977350863"},"_hasShrinkwrap":false},"0.900.0-next.16":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.16","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.16","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-Qgqt5B2FrdAwhQ9W62YlJm3uNFbndyYYejMa5qGmPMJ1H6su+3lOoTwsZx2+rB0FJZnjatnUf1Fj5LAMjUNe+w==","shasum":"8c05a5eccdfb0ec280a6ca6c67b587491dedb720","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.16.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJds3dQCRA9TVsSAnZWagAAeJMP/28YwvS8LQoPEUA3OdLh\na/yQvVg8bGRjAkjeirufRA5r4Z5q+mGGxwirwboNxZqYNfvYAYTp/863PHGZ\n78SI/ZP2zYj1bma27s+6/8XXai2RrQltBV+sd8CzZOU8KY/MV6+k9YFQZBrG\nV5r72uGhyagx2p3hC9VvpS2dinpRKSm1zdt1apqf2CEX4TYB5D5P7xQ+vSvs\njSxOKRJOLBX30DxQA90EB6UfnVN2VseMDPuawJCKNQ+QAoxnuabnaikFKodQ\nSN+rbjrCFyYW0MFzY5sSVTso6ZuD30Y46xwl2+Cijnj5yyHF8GQ5TqnJ20HG\nH/d2n/M3XrFgBl5Og2F9yzPNJ+YvcFT3UWicVlrzOTPcmPaXXcv5PPtHlKg/\nlPDWQPYm7mqFH4uTgSR3i9VYgpKaHSVgxnnBs1AQIr4JPOZiAKwBzzI330V8\nMRIcoKA9BySUi6UsrGAPo2KbrZiUZyYiqWpFKTl4jx7zqd55noT8JB53oqQs\n/4ddUtu5Huab2nXcdlxjCGY5K5lGTOv8GIFcU5aD0gREnQ6HWn7e2qg3uLnq\nBFgHfg0sGVnGkD7bumoUap07tl7YLhDZxtS4zht07dEtQ0l+fL/uh97Yg1iH\n4GRvxSkhqOAQXOTICfP+UnIrcWUC/TTtSMMDtqNnHFqaQmkQV8sIx51z/Geu\nzszJ\r\n=ugXs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpTCzcaBXNV1K5OZDuTRgFp2n0uOqC6ooBkF8VO1MooAiAh5uLTRWaxb+Jt3fmOoP4WlOSUADRlUt2+UT3V9lFn7w=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.16_1572042575848_0.5678243376094383"},"_hasShrinkwrap":false},"0.803.15":{"name":"@angular-devkit/build-optimizer","version":"0.803.15","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.15","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-uu7RSCc5VsRTcBY0BEjzKiNFmA4PnbjOiPkEXIRjasnEa+PKzhTeiHC0W9gqWW900ea6+sL0W5+rvEeLOjxmuw==","shasum":"736835554025ee7f9551fdcdcf642686df277389","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.15.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtzqxCRA9TVsSAnZWagAAii0P/jYcVDaIiXaBTTrSShYo\nJxqxhsS2P9XP7IIbj9MkVRV8IssZWavu1OGHuJRhxe9y7HY1YDh0wGFJIHoH\nk3GeLnpcMAuF17OmAr3xYtMdT6c8yX3IEHri8AUCQ1hEOBWvbil2v73pI7Qx\ns1ipO2ZCzRrTt4OvNDdhlox2Ze7gdccjzVy0VEPTsICemCjQhn2Y552dgImP\n6Y4ydmQuRjAzLffzj+Ld9990pzMRA9St49sqZLgqJTBkpDwqCR5P8gMNwgQ3\nZWJSWNgCsa18rDuBy3TOeAaYWBxULz9QaD1cbUkjgGwa10r3M7NqEXUIJyIZ\n4nScAvRDuqZoxcErM1XuDXTQBPWp8y47wg3EfP07cmh9DNDqfYQJuYcX/0iI\nLQSQEPwdO30e30kGn2WdNoCsPCyFXSL1+YU8BUfPb1+85D5sxzHKQ/oz/Rph\n2IlaTpLTkIy4VAZGn4HdwSbHJDxhnzsMF9weNJiMUHK2hVIN4sv+U1YI2SEQ\nlPlKjO1fy2QHmawdCAWIKXKNsglrmvShpfb3R5O/YFOM3dXiuP6ikbc+Vbts\nTxWqRlpIQekUuB7VqBdkRi9P8lZzXe9AjrNt1lMzRem0WsBSsR2qsHTmsjEt\nwprxYcYx8swNQvNyc9CmKOwOUZVsxrc4V7w2orig/aO76Pss6jm3yz5zVmUj\ngicQ\r\n=bopv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdhgklJLIharzwupBwkh/KP4Bdi6mY7NJRug0f+I+drAiEAtr/4mQYUAQV6g1Z5SS0p6vfnkcOUnWgw0Ly+NsS1X5Y="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.15_1572289201244_0.5199433600705283"},"_hasShrinkwrap":false},"0.900.0-next.17":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.17","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.17","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-V/1Kp7w5SNligyDutNMOiT1lxyPsK2xp49cf22zTJavO6G/HUI1hgLcmfRUWhhX6R5s9u25/xpTCJwFguT6qIA==","shasum":"0d559f6daa2f2a0c30bc6978fe49b8259f0f9e5b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.17.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtzv5CRA9TVsSAnZWagAAbgoQAKJF8FGawMSM7ChjdSr6\nAYVCH6C2cqcIE9ZLFqDWcT679bLJj4rIcY0zVFt0crrKoqor0Hy/Ncs9p7bp\nspl9OH07cI38S8bY9wax7AB6yqaa9UoOSMOu7yGzV9AuJnroQDQXMsUCL7na\nT8xNYQlad9PRWHiNlBcMSuCT/5b6V8RlVVwYxcECtXLi6ihnNC8zrwEFX5cX\nIrPEohGSkAZ4fNZnEtVWWjxooRGiMKwBEBdZfXkIZRn2gzY5Hvy5u4IZYTTj\nwrwfpYKCsmdnDCaQ2ESZZjSTDc6u5bXIh+gm7PlbLi5UYHzQgSrxwRqZ9eSG\nkKaZgqu4W1hheVhE9vpt8qwCLvTxeoOW7vV5xVzEeE2pqx+44/TicQzZTTmI\n4xMZij8nrPpR/UnZAMPb5x4LmkiLGhVfuR6aY9BFFJTmVad95JFRYSYou29M\nnNUqZnxqt1NC9WhD2UxLPD85/8Tw0GDOuz/lF2J/LKr7YENEiZm3r2g1BF9z\n8qS7V35uktTfz4nwLeCKMP/FQXTaAIR7IAde4V0ipsbzrfd5tC6DIeXzocO8\nmS+LRtDA3IDKk0omBA3h1NlEEbmpyq4gq+zUq9zVh/3tlzyOar7Z0ly6paGE\ne0FQgDOfryA/1eZZxs3VPWbPi1tcAY6nvggCOtSkhriQmAZ7v3neKATKeuLU\nZ5Kb\r\n=hOEx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRnZo79gVBJbBB///hmxRkea034axa+WgfOehmQKrgnAiEAmiriOBjVLjhELqfK+lMqP8+uoCN8YPnJYCwzWnXKErs="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.17_1572289529218_0.9513906508591758"},"_hasShrinkwrap":false},"0.900.0-next.18":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.18","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.18","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-aBBxkQa+ufpUPNS44rNWEQUEFj0iuedDrFYuPc4J5P3JhevnjU5SoDlIlRHi7GJ2DSATwHvUFat7XL0pE07kYA==","shasum":"313f2efbfb3b84c9e7b46b00bedea17492516ccb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.18.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdt427CRA9TVsSAnZWagAAjZIP/0ouAvYA1HrVNDIjmu7z\nwaRX6wDp3dE3oGcU3lPLMNo+Jc+xeQXwH6bDX5C/UQaAvooHMhxPV+SZS4ic\ng7XKDqSzxnZWIZcJPVxfOCD0qc4snllXhmrbcuCgWYundeTQXnKQjYo3AwJW\nwumnUH6+CyJF7q6PfFB2Ms3oYK88YUSS/njmlJJCWNXFnsNsC4pc3AWmGgN1\n84OtEaaFqxCrUqrE+9WKCNsmktMf+eotiS7Clhu1F+XhpDdG92BxzXW8ZVau\nFhYqujxDyedqMQS2Z+3rf6gu+GVpJCYxKSzZMhtW4+DhkdBaDaH/rUmodftT\nDExQXcseVKSXEJvbwyK2KLut64Ziva56qYrxWdBMkGKtP+AEB+GmNomQgy3J\ncUyZ3C3aT//Zed66UwP1YJQhJB1poI4bqrVbFT4BE41D4Npc8oI5mQ0wPCAb\nPpV4OoViG/brJkuMNK8SoKR+BlgODLesxD0GpfyU6PLpq/N943SDGtGOUgm8\n6PZp+33zCjhRrQq0gXfKOaJIxJHzFBIORrcimg8YcNaJn2EYTtpth3QQp4np\np7InZ2FlsQxcRXmHLTgFJ3OIKsrjQF2x+oTM6wphkYvUvR9RZDJ+AWASqX0b\nobmK2pzeOm1rjlUhUhlp6UaEnV4nJJYS03i4BM/9IXRdy2HQ+lSFfrOq/MLO\niPA6\r\n=ypur\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgp0yveC7u5LDgl+C5AfLvcuNrQ6R6eCJfmM2VduhFNAiAA7LM78HHGLlpRAn7RKOF4j6OuEZ4h/UdQP0YamcjlOA=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.18_1572310459473_0.2339618002458861"},"_hasShrinkwrap":false},"0.803.16":{"name":"@angular-devkit/build-optimizer","version":"0.803.16","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.16","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-sbC1QgJYcUWSQSCIzr0qzxot/MGCWSWw90OStVZtEiGO0/pDBXnfPEmAQ8qmbjo/46jhcsFGNNizxORTAU+y7w==","shasum":"7ce03a29aff39081e617048d807fbe1d14700022","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.16.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduhHnCRA9TVsSAnZWagAAFvEP/ihoX08WfW5Z++FxtLIv\nqirNDV3VMAMR5F4kv4Qnfuo5C63SKzwIhm8fg5AkGmyitLJUszC0kdamKAhY\n1E5MzOj0OheXTzr1uU2bEUlrm68luhE7GuLQR2O4DG1pDyPGm+OlGh96uYfo\n8sRe/ReCudNPNJe/V9lL0C54UaThVNvagBG9lKDCsKlmL1rOQ8v5L39HYblM\n09zoN1WV8wzCwC08pZdYlDmyG6fLmixSuMm2DeI3VX0Lpf9/CXneD+rEoEbR\nKZ1EFsHfF0Xsg8wmNpeiVjFJf/hdg1EhjnbBLV/bVpxorF3i/q8SDVDbmdmn\nDHyvBCFljtvR7Jgr6jHE7hpV8M4hglL68SS4fMLJlH0UKVO+NykO4uZ81qBC\nqZ7VGR0IlfZYqVQDCflSIT5qoDUSEZzLueAYWdKgCZuUbHdHeBAyehi838ZV\nDfsy8/SO/SWhXxQjaAlCotkf/Ykcwm+yIhu0M22bHELhN4xvbuIpvIjvOL2d\nLKL8KHFgKbKtN0qgNX/eeLD6x9yr8K7p1Z2Ok/NQN41xbm/DfaRwzNBS/CaF\nis8QYIUrdxPUB6R3d25uoJmS+B2joyXRpyI/pyC0P4kP5G99oNJY8g0lB/bP\nqvTtIrDsA9IP2lsWF3JwfcbP8nmUEoh/vXkzNP9gyKkSfo2AA8sO7a62P7co\neb8L\r\n=AupF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWmHRSmcWZgrRqWS/43nJcpnybTzvod/93rJYqWE1DnAiA/h+Q9+7UBdhjrS9bJw5oH8yqhMoD0jS5j1EPFSnSZ8w=="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.16_1572475367549_0.2322849365410533"},"_hasShrinkwrap":false},"0.900.0-next.19":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-next.19","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-next.19","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-mZHtQzh9YQwNzFKewAcImi/Z8xuO8D4+esDU6iouyBP7kywnf5k4wLFZuTf+UsduQ5lasIqmEK03z81brPf7Qg==","shasum":"fb4600baba1b7b422a6053b064eed6794f01fe0b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-next.19.tgz","fileCount":34,"unpackedSize":94626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdujvtCRA9TVsSAnZWagAAv/sQAKL9BYWTIEeltqh3O4tt\npyn2WbeJAGEPj5v/f/MrvZsxnBCAYdZ5HnzxxHXmhvVKnp4W9+EHRP0P4Bjt\nCKR/IGaiUKQs91aT+L4S/VhmB7QI3u/XiH8s3hCIgln+NpCny+QUjr3Vlr4d\nnArhxNjw6PwiuCwXNBJe5Kzc1wDt99yfuaQVG66HjMM8Cdb1eSAwGWQ9RQA2\nKmEKda2psbVCtf6KPg6Q4I3aVEQ4OCwTF+Hwf/dAcIMoydir4hMPTkCcQjU4\n4m5/sCENYDNSiw8LXIiuNN37DjIzUMl+f7CRppyOp26PD6K3NL6T0nVLaFzA\nHXmUDvKF4TO/pYy9B/mtYRQVY9QrfIhM3TL+230yPVUtUlgyCFjS/zI58PDd\nmFxNkA+rwnX6ypLn0BbcTVnle7qlaFomDD0tbDv+ls9ybGffIsHfIwgvPmb3\nBkayhOZQlxZlq0w9F4qcfHVaHLSNztaBphnxnctIBW4E1GEI8ValK3RcSwI5\nxcA0zXadtUh9fw2fNJgHfgW+C1qBxVWnTUVVXIyk6J/wdsZsE9k70i9eB/vW\n1/Wp+Vx+n/q3DhEiTP/3DK9cApCbYtn8OZR4mdbVFCyLCIv8OEa76YviROy2\n6MkcGqM/ll5c7a3GKwPgLw2zhOrmJp6oAyXLk3uplkGyKXmXb9tpAypUwC+o\nfeq5\r\n=hvBq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOGmNXtXNSGKImV6hF6wInO5SvPvFXw522eVk1zalzfgIhAJRDHUAkfxfqRsPNTgO8rpceUhMPcARBDBQaKnHSbgc3"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-next.19_1572486124678_0.09300006460366572"},"_hasShrinkwrap":false},"0.803.17":{"name":"@angular-devkit/build-optimizer","version":"0.803.17","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.17","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-nKZMbKKC5i7VH8DO0p+WxwNB58simCma5rE2W8jD1+bUSiBK57D/I3Dn7Otp7C9REtLw3rXXEkhM0vMTmTHWGQ==","shasum":"d07ae8ecb56ea0505b333efb78536aaafc3ab13d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.17.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdu0iCCRA9TVsSAnZWagAAgcwQAI3MtjvY+T9o3y74GYDf\nNxCrOkmdZG0ovsssemoue28rT3M4b1HhLVqRgf4g4w3Lfe3p4oqTC3sFYJRy\nArc1jQa54KFrjmpV6KLBUCPRx+t8+BjiOKyj+ikYd5J/USu6J4lfFESHl9ki\nzQEmhjupEwpqVyehg6wr0ROAcRmHcDqVBzNl/PD/z1blQ5jwoRCqzuFHSuwB\nTqpUcoGRk7qIeH7mkZGcWoGz1rdQp1APnjMARdtPYSuM0AAE4v3lCXLUydm3\nUA1E1kN/nSmF+QcT57CkF9wXN9qo2HUr1DpCREtlUlu0l12NJjGz/wAtU3X4\nPZgt4joiL28xzSPgUvGtpyndwQFcsejDuWV19t8Bqo9+LXSLL4ffI3KOD/8/\nrpmOfE13yu3l5mnFBrlMjnuX0JgfMYK0ojG6AbAKoJMgR+0iFal0qapQjZFm\nXs/+z+215EH4H//1dQ6RPnpKhDRski+gtCTFDBAE1eHTkM1tcv18b//xvlaF\nnGdbjD59e2vEL5jODRVoQZ51k9VIEd0l+WXKHBuIzjDihbFdz8FwAVDWRBEY\nttzBcxj4oju/aj6cGlC11oTW73GO2MhgIHY9Xu7xQW0aBFsgX9qnf2TQmZrs\nxSv3078fHGQIiJVVE9G2tbycgvTDqvw0/ya+gwB8tTOYY7Nmcu6OMmlQXk5s\nVdnl\r\n=qx4Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRyKH9hUQQFS7o3a/PLJmJBjJWhR1ADcKJ9z5fJmmVjAIgUiiaFq58wCXT20GdvsmVczz+xCBjuxXwiFLZ4c4nZgk="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.17_1572554882283_0.6860860415213927"},"_hasShrinkwrap":false},"0.900.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.0","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-xp/5WA1BhRep+tJmVOltaKT/P/01AOU4d/YMIPdfEeuvtmIj/yqs6Y1wqkpJVUzZNSJDoYl0sbXEJLk22oyc1A==","shasum":"bee14497b69995241f0ff9e50f9e2b4e2dc7dfef","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.0.tgz","fileCount":34,"unpackedSize":94623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdu0pbCRA9TVsSAnZWagAAV7MP/iVXr357+UzWxHfHL2QD\nLvyprlWk+4gwiMMUoMaff24Nctqr2SScz4EXhSWdTaO1bj6YE90xLesrTlkt\nZIeKNImfZKzcENC7sLj4nycKJHsCRYH7qPCkSTMhyjJkbD5oTU9WnDDXjdJ4\njxhyiagp3mDAAbQ8dKpMUFX4du6YBqqIHga/TJSu9Yx1V9aiXne84ieXFw4F\ni8LcFywHaB0eXs3L5XUOtRwA3IBHmF7ueX3cWP2sFu1m7ldbaRcdtj3RoT1K\njR7kZXeWKiQ/yk3cS/9zuUUPJMF6Lq08z2zIuMmwn1Y26z1qpsYg8RtEd2h3\ncl475Jbf4HA1CakI82ZPysCOlo114688nJ9D8HDcGSCYY6ys2B1CVf9n8PAY\niVYTvXGsWlkP8TO2aSZJ/cG+SlYC1Q+MABczD0PP+ic5XWIPFQ4rERslFhVj\nYmINbme3tY3+95wAENg9LXsJ9qcaHTKtbqrU/o5iA9OUROKEotapB2zXC+D0\ntCRHR3t24pTV1PUNmIv0QWcTZI2c+mdaM2ZT7cG2fJnkZRWbTMMiZbeEKPrF\neRoszXIkP3Cl/ak9dD2SvfhpuaXIN9E02YA2tZyg6GYC2rqjWHh6WUwHMsdm\nsYeY+j7xjqZHV4HGYHKk7xVSFiC0Xdd+sXmC1fvwXFue85k7bs1GfT9Re4T1\nFl+3\r\n=3eeH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCywZcz62fgipLpjGvMNOniKAOaC6gJnX4vmg7mFaIM2AIhAKh50iTg2LAwueBRAq65O1nBvLVNCqiYBoVe6Qrg4JM0"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.0_1572555354536_0.33276232163423014"},"_hasShrinkwrap":false},"0.900.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.1","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-0wPnDW1LBUTqfAP/p9pjIRK/R3jyZMYmOPY4xNEVkobGWYmF/3lbaxybRXOCbWnzYkCWa/GtezVzToxf2CilEA==","shasum":"6d51684779e9649587748b5fdeb3b0243c436dc9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.1.tgz","fileCount":34,"unpackedSize":94623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxHuoCRA9TVsSAnZWagAA5FoP/0RCo/qR68bGfZi0gNly\nbjj+kY8NfAf5yZSuVsCz8P9st4rCHfF41HEH/uwfYINoDwNcco/48946afuj\nR322RNMpdPBa8tY9E1vHnBotce6AyJDxWIF/D4fXOhAruPTVS0G3HY04VbXy\nrqhWJbpoHDtFV/4og20siT3eD9u+hB4ZZIenNWsDnXnQux7G64JaZqqByGhq\n3ZlgYdKktcYgT54ZcLYb1OJkJ/xjQjoGcOlFLkPUW0L/148wi6he+4VgPWaD\nkXen9ADLup/FV4ro+AP7CBun6Pmfc9CW6cGY/6fL3vpHkQylnPlDOjuPquUV\nEqPqGu1YWOMEvboMq+aC13PwRYX++hT7/1TOu2lx0kCX2O5ULGA8K708zg3A\n+130GYHYZiOeX2GLeM/gJc3X2JxSPH/m3bPE2dswbhfJ5B+bxJjR3DZB/Nlx\nkJByOyVm38VC4fv/N7zBBnQq151cQgkVJ+PUX4P550BLo0/lX4JjcgcM3Xz8\nFk4/SWWEIvbq18Gv4q6isin/dr8FLCvaTvdO2tbzlau5TtzYbiXAfwJ1Ay1K\nNeVFC8mXqmJGAIUa4CSUTmpmOZMc5fCrSg/eqrhW8KW8WIRqMKK6fCNLeZWH\n7L7r+v14OwoQ9J0+OL98zzXMe+g5Xlm8VQRkpdiXrWb4Hete82ZC4wN20uHV\nZRnt\r\n=SokD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFsKMU4ywOUHFl/sKjQf3tpnSJ+bR6pKTtt3ScHInZiAAiEA7nUR7AYXT9+sXIxVkFXR7Xxfi4eeIxJrsxHQyUCGCzs="}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.1_1573157799720_0.9779634381362652"},"_hasShrinkwrap":false},"0.803.18":{"name":"@angular-devkit/build-optimizer","version":"0.803.18","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.18","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-RmXQK+90GQyvIoaQ+qkIb7guXmx+zNlykliq7p+QFNXzDOohPsjuvGs/oY+NvAngqnVKM9tXZp2oSWXH881PPg==","shasum":"ee98cf230683c061cc20766b25715ab3975cd5d1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.18.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxH1QCRA9TVsSAnZWagAAG+MP/11DYLmnOdXfKANTRitg\nk/V392Fw4AkiUzwsY6hp2f6UlHrDRuIMmYuS6lItMiyh7QrbJb9z7yiiNhoO\n2xo0P1eWZt9+0w9viW9oHfZ75dmcTq/M62zELNvBx5r+GZdtodR4/BXGjIdN\nZ21ug2Y3LXYA1yj1HwkyZLpOsnwLs2jihLLp4Qe/Rg6k6+pSKH1sNhT1dryT\nF0v/aTAGOg7HssbJ1w1yf3VpjppWVmtq8P/0ZsE+0Z8nD4F5cmal6o/RFYz7\nO53xYxfWU3w1RCz9DOiB5IZag96nxa/9PA1B/yYSLEDJSidaVJX6tT6zruuW\nJ8mMQskYOVtf/cRWKx6ErVk+KX51Es/Cy9RfNJcSwEq15vKOPWq17YqaVlqX\nFfnjsAEahZbgUvAeOd9ooSn8C5vByF4vIQ2SjviR8vKK+1lwijF/QR6AjK7T\nvkxNo7OUKfCKmwqt+Cjr82EhXHRdSu5CXhQMlgrGC9Il2ENFShRUlCf4MQGh\nWHmv9VehPjJBkpGODjG88R2lhvL0CZyHFRswBHxbzUtIFPCwE8qt535MSMHD\nJH7aaBgwx2ALAL9dMy1gwfWGsQ/3D3azPAapxxaib5dK+MVBVoOvFgVBS1EA\nevQ6MUA40I/4/QwJr5iNgWXYed+5ZPPQn5v/LYPSlnWwphMZ8Ruk/bvFZjIW\nHL93\r\n=+dG+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVXsciPrTzH/mQfiLtbJ8KCTqQC+VUGMuRtNNHL/oz1QIhAIxyNUbpiufYszjwJYepeOetyIR686+68nBf/N4YasRj"}]},"maintainers":[{"email":"angular-core+npm@google.com","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.18_1573158224270_0.049566970302349134"},"_hasShrinkwrap":false},"0.803.19":{"name":"@angular-devkit/build-optimizer","version":"0.803.19","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.19","_nodeVersion":"12.0.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-7chgsnEYZWMLpdYvsw64o5b+F0XRZr7zJd5LtbTF7mFYafcD+bUyaMOjWLup1G/VWv8xGXEsdm8Z1sWhis8LZw==","shasum":"49396144416c1bce8e6cb1f0546135f3ff7b41c9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.19.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzGq/CRA9TVsSAnZWagAArIUP/AhXsWrngSl0Pah3mjHG\nFwg7pa2I1MuLKNJp1Q4bHSP65kny8eEU2NJAbTSRc+gMK3KYj7wSkcwX2r0+\nUxMrxawNcuWOwzX2V0hGm6owpEUMyevb1yKcKd00KRKYi7w/rPqP+cyV9yB+\nLE5TDV/G+eBelFpSrYvQsLSE+d1bV0dn/qjFqi21pX6YHOFk+KHpL3mmJO0p\nOOMhKN1IFRe2csE/nhAiTX2M/geB0eS2BcxcxmfZTglB/N9Pde+ZIl+scANN\nAbaUabMs+FVOtYCM/nMOe2Dtc7aKNDXEAFh6Q81OmrqJC5PCWDhcHYQw5tIM\nFrCCwhKDC2m/ScD9c61PhSgDgR2nel1nKMZVHVzWLShw2o3uL3KyG67o3Ym4\n9QAzKvKJ4wc+GhcOOz0AWV6DerPvvM76CBjeB0iZIghKhI6V8Y10XckK7KPN\ngf/1s+VOUQFF5SvOQBEnof1iU26ssTSLO/pbr6HSTKLna5S7/iHqFe6i/ZdZ\n5CNDB8mo/0XA/E5JZS7lKKC7lRgtrB3IbKat4j4QYChB0S/YFMNx6qXKtR3e\nkquqF1IjEXGWN/xa1CBigRo65o1OQF4IX0QvUmGFzLOeJib3hlrQVQ2t1wL7\nzMU9fVqpQ661m7E/O63aHI6PApC+5nTXgkaqVqhvSG252zQ2GB7fvPtfie+z\nPy8K\r\n=R55Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaue6fIB/05xCG+EP/VHwLBh8KOrLf9pU/lfVnO5Aw/QIgf2XEzuW1jOkxewSzSK8H8zIur6aHZADUnLTeWMM/sck="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.19_1573677758870_0.38960155088120074"},"_hasShrinkwrap":false},"0.900.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.2","_nodeVersion":"12.0.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-aa/UM0HFAgVzRXJVUOZxT/lvm68Mg7xJGsXyQ+5F+oSuTk1EKzLRPeTWh8Im+tjwVBQjHIdChJjW9r2yl+X5BQ==","shasum":"5824096ff0c0097a14a8e632a107f81f1f7b1297","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.2.tgz","fileCount":34,"unpackedSize":94623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzHD/CRA9TVsSAnZWagAAFbQP/RiuMdKhG+ID9N4tvMj+\nOHCAQ/D5FFq+KdrwdkDMGDrN9OKvpYd6LOiqu2B5RKIwP5Jmg6QqfMjiOM4w\nGxYbGOb3si2Mj//aIa3VR1JZz9qv7Q/tauTW88lLS8fTYOo820xsVmCxwH3z\nwv+myJMNYv3b0HwABXHCPbqgaH8sODMJJmXqksRyfRzDLNLOC/SgTQSzbPkq\nUQkvT5bsX6tlXiTXSv/kOJzvfu/CNTHkjp3dCqQmoeCvh2M4XxRoiF3OLRUi\ndUCi+NWGWE6yFs/YnQNhDKQNsW3Xidp6sUlAThcJM/Dktr3mQKtpHhXQw0El\nwH3bTBMipBXE/3QOElMMI5vMu8T/Sv6ghkCL2JrrTuTZ1+nr4nltqdYvsVYW\nYG8/HPf49CiO8cuJDCk2Q1aJpe7tfS9sNzNo7TL7jKiiJaKpC9vQUKpZ5M6A\no69wIa8ITousM9E7VpdIVIC+JPGshxqGHqU+lB33ZT1kDInY1vpx2OWn+U5a\nSfJOppX+EF+h6aSiXfGPMiiXtWqpNPFzWYWuKO52n4jeLaLKWKUZAQr91J79\nNPLtZukoYUiUctDIyHPWwWhFU/S+VnNyxAxfUi7qN6wcP+RIB60Xp85xyF4e\nresp12nt2Vf1Uc917VdCTcjvvpaCSPd3SMGN+oL3INqtI7jL64SvmoFH4xgR\nIBF1\r\n=ruoc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDygGTow61k6AVhiJf2Phust5+yGC3cjcVpV6S1iBnXAQIgT8tDxpHm/dbOkPW4+YKm24oVa2C7gsj5jGTy6YPKH8A="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.2_1573679359316_0.8292948831692855"},"_hasShrinkwrap":false},"0.900.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.3","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-Ldfqg1ZrX6ToARc5Sne+lL3oo8KH163ixfDsFYjN5xkYjpLB4b6uY7nSSibeVquj+6hnZwfpDEXuil8zXVYD9g==","shasum":"9a658cb6d7ade410058d31f26f5dfbf7e16ba6d3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.3.tgz","fileCount":34,"unpackedSize":95410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1e4fCRA9TVsSAnZWagAAXeMP/0kpEj8JK19ArPp0GET/\nPYjplz8LvDgmIprnhSwE7509GmhSHwH4KHH2R2tsL78Wp388Q26k6NZhUQ2w\nBW7a4SScWe7Z8UPMwdz7XD9cfUEwr5/qXPmZ4TVpMoyAmBHsH9K2V7z0ttlG\ntRI+TogD+yRf2/Pr32LAHnfkGffHzUyGywRSD1v6zI4BTWJiPzr56BZdjv8n\nTQnLxBYRLv4SAR1C/PekMaPTzyckEPNhcAPJnpJI43yTS4qhThitZYbQ6XKv\nGHNI6HRBZ8ZpHmJvFrM/zH+BQ6x8dM3qtIRRJzJHyDO5t+THyCxFwSJvl2v1\nLAsNMqde08TcUlIwbvmAQQlJLAmF3P+0dr6OImjnKeZdfCEvOnEf4X1i1KBn\nJvMtbny7vNjLQPuEmPff8M5EU7xXNRe+2BcODHXzc/pPYingONhSb2+epfWF\nMjhsWF7tBM5ni+ubUVUP6IIEPcHewzrRN0HDrsbNpvYcyoQArlRSxVIxmne9\n/qoBI5TucPq2uCVWEZoogub/udtb4Jy3cO/KXU/cMOs1hLubYq1EKtkOT0eo\nkJreb/xghltvXtwLl6GCRmR2g8lGSm3UQHS06/lLXGHFqzsra8/L03GO5mth\nam2nh3APdY+X94y/u02EyWlfiygYQftHsAPgtFUI3mAtRBReu2zQReczhFbb\nx93H\r\n=c7tf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNbdq++LtvA3wRYH3JBW+jgDs0sO95iKl2JlcKzUuDMwIhAPzEq1bj1UYh/8wNCeu4XHFgMfdzuJBJ7cCNoL1zE/1c"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.3_1574301215497_0.10470679689635065"},"_hasShrinkwrap":false},"0.900.0-rc.4":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.4","_nodeVersion":"10.15.3","_npmVersion":"6.13.1","dist":{"integrity":"sha512-58/QawBg296coOaRt0atymZdspM5JFwp/kxNGn4LRwYHTEqlnwnyPsaNLOd/mL+rz475xTF58wc6RmWmWOXakw==","shasum":"b23b3d1f0d98b586c6037a073f4b8c7b71ae1602","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.4.tgz","fileCount":34,"unpackedSize":95410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3wrgCRA9TVsSAnZWagAA4sMP/0B4eHnJYQrSfA2dac/t\nBMw6EA2nWQxOiG0ygWBjRi/5mklF5BBxXVTApYFP4gAZ52TyzEBR7Bl5FilH\nuaP413fbGJpJ5KCdoiSNh+BQbirVWkwOsz5piHdusU2IsMvbzlMQADfUgOUg\nt6KgVEic7x+gy1WNoB9zqnvouirdMo1twBYHkHLyqlzd+TShZhRhfy4Drl2K\nwv9n5cA1MzB7V5ZnBw5iawWSBABFwx6PSX8e3gyX2h4eLt5DZpOl2Q7xl5VW\nvV6p24xZ1WklOuSwjgcpXkilEDjLYxf2Rgutux3Pixzz840LCTnY8YYZov3Q\nwCLtT+m87T+fqpJnSjNNJW8ggTO0ITTaWdc22PP4fB3xjVoWyDE2xUG8zh0o\nO87gTtZ8JfRLz7EGNxB6zNaD/5+4eEKR5H2h7F1agAxH8l048aeLujFUZIxI\n8CxwEGthOtOPc1/KBpvtb5/bDKPSSPFXf2yC79H5+hZLKPuwGU4zUiC5nPae\nz/i8tqaAGov3rVohrklpbfAskHHykIPzXgxvj72XzGahBzAozBVBrCoVw/Fm\naFMIZBX83il+apvUNmkZyMAM+wEQMbEYok3yilpPAIhnmgvDO+rC6gQnRpl4\nU0shNXRH/K6qRGIzbRF2VFRyhFKK0BF3BanqyPxsSxGWg5mWy9BzhlwigXAX\n69d4\r\n=N9Vm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYkqqfqKL345aYHS0wZWbfJ7u1Bw2Iy630/VC9bdG7pQIhAKBcE395wGIOj+7IwlecMG+RTezJaIpS1wiCiHsNREbV"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.4_1574898400192_0.8158183046645138"},"_hasShrinkwrap":false},"0.803.20":{"name":"@angular-devkit/build-optimizer","version":"0.803.20","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.20","_nodeVersion":"10.15.3","_npmVersion":"6.13.1","dist":{"integrity":"sha512-Vzxf1g1EuzaPBoScDYUhyxemi5chlgnpWmObNo5dzVAVzjxo5gJeDIGpiyDqHvr6LBkprqb6XHcZhMWqIcdIHg==","shasum":"36f92c350c1cb3d3d7f1e0f0086feed726478902","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.20.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3w53CRA9TVsSAnZWagAAHsEQAIhMMZU8ZMTaWl4Mhy4p\ny89qFb7PAHrAf54vo0X9gfsl/qEqBIGRgv9P2Habc0oCsotXPFzTyhXFJNXo\nK9CAfCW4XAYmhufCKZcKVK0ECR3iCjidlbI/y+mNTapEx5y5vl3nRqb62X2O\n7KgzNVhSGtiSdP4lPfu7uO1Ayu9+47Z5yCZdCDZp1hYdPdN0z+CQ0KF4o8ea\nAtkHNAMKI3Vjl8x2eFxJ4T1pW/HZzXDJUfmjIiI0gj0S1mJxg5hp5lE/hGca\n/1BHXjDXgfSVn9k0eVVH6euk+vhS88G8KoWx08dzZ++B8OEONDR56lynwE8N\nnnB1aBl/xjxDHHB/dz+A6+WXckBI3vzPoSj+mwEUK2J6+twpK5WLxhEz/yRK\nfN8HxgfjqbLDdpFvokn2y96XQYoL7xJQrCB1wu9xrjLVaJJH0V3zPcdIZb6H\noCEmrd2TVvlonGkhyVazHiYjDeCKRK89AoZZpZ9qcs0m8yRRC2OHG795ls21\nXaUEGx5tHzWogRMbuBcBMMPNcnGRbex2LVGIpatI6EkqWLuBEqQ6w16kn/6T\nUsL3CRUALaq4kmiyTdMf9RaoSm1Gh8nAyep6Ey4qcsvmZGX3viup98TU136A\nGiZkcZOWBema9Upld/ZmNgEcHZhb27S0wyGKYI/qiiG9oIOTalOR/fzb3JCL\n+3F4\r\n=FLhq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICaJ5wxZxLRVYy+d0DZNwQYvLj0+bJDVNFwDmGv85ujyAiB8Ub3UpEos7j2/DR5/JGBQzmBHXKvcVj/WGsbNzQiE/Q=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.20_1574899319210_0.8702358883223713"},"_hasShrinkwrap":false},"0.900.0-rc.5":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.5","_nodeVersion":"12.0.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-4xY27x4xexRHPCFz57T0qQoC4r9jQM9+nGdIpTLwhT02KFr2GVVrTbCAYiekv/XQfv3gFH7NNPO0CYmjGqieCQ==","shasum":"a44b4022f25223ad570cc6c737ba7213646bd05d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.5.tgz","fileCount":34,"unpackedSize":95410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6FhfCRA9TVsSAnZWagAApmAP/ijyq3dsoxaGYsupVhKW\nBKFw6J1EF/EUVLS6IIaUbIuw5eNdHZpBU86Z0pIrqcrqhgCIv+PqCOyzQ2L3\nSDQON3WdRBz6/It8bR+dltDbC0pv0j6uP60ipZ+EtSFsinLAcx1CU+IjSJz0\nsqgGK6QWSSzjrDv9FGhhFkFi+QTufYuRr4GtjR0fT07v4D45S+ihiw2LGoj7\ng/uCM3qAR6D2e4rfduiQOrA70UFtDeDiYLXsO8/tlb1z0sTNlKhO3p4lDj2Q\ntXW8tmtnXQprUfT9SAkwExYL2bzxtzEkiVj2YsCdbS49Ky7coiQkXhWCGNxz\nLPQnv3RlBdPQ5DnJXH7cXGsoSOWpYEUbqn1aUtbF+J9q9BpW3qqRIpv9LCB/\nH0/MibJh7rm1+gCBw7RS9J3PoK52aAXP6v3oeCBgc4uK1yROlR6yvCqFs8Rn\nLXIJ6S/xf0M7/uXJdYfu01hd7rdfMjed1QdkItvp3bUECXFh0u7P0yN1py4J\nnHKNASSlpufUoTLp+mxAoLo9pdM51+Z4dQwaZIZM31ArrTTDr7liqajKhjt7\nfVm3/ET2TUSgEYgLxiWFFUmbx5rSfCBiNJXxJMnj8pnxIcR8mcO8w+oyZJK0\nUfylrkv8IQ6BRqJKdxxZ0IdAz1He6JE84I/+uaLLepeVH4jvCKLIFsX+z+/t\niGFB\r\n=RZ2A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGkQpzMtcoV26DPQ8Sx96njMoUXJlhlHy1w4o3Xl3lCRAiEA82Lmt0TdNIp/yLg91xFJ+i05zH3Rkw45YVxrrYDZ2d8="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.5_1575508063202_0.54191022997722"},"_hasShrinkwrap":false},"0.900.0-rc.6":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.6","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-QgH59ad+cxKtfMF+bNCwdgkpVY73RNmN74lchE0dfdapndSjxYrElAocHPnG+YpKYhY0TG8UUd/vaz19Xp95+w==","shasum":"f5c931257c08c00260b0821397362cc8699c637a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.6.tgz","fileCount":34,"unpackedSize":95410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8oZ/CRA9TVsSAnZWagAAIm4P/2NLXo8vsALPHilUaA+m\n0Twma6xvQ/2Q6I4/EOKMjcngl3QrFICXv39hDxPUFyVBsg+KzRgos2ZCyIlW\nDjhsYtwnchg1u/qsOqKtymTrlULpFPZwtJDoy2ai8uMDND7dluByp1cMFsYu\n1cq+Qw/Qx/X/7AZDfShNeyrBaevww9Nta4VOSqn4DM761wjCCK8UrjIGaZlI\nfYlbt1Zx+1c6BfG5xPihKliO8NjURyEPlAX6o5ECUB66bYc7MReEcrl9p6e9\nPkk+hUXHB/z4blEqPBvRN2CVddjIEmSEgGScz7yRd55UH55vbxxZPeB4YJfo\nc2eYjtTVo/KL0jcGxCwgq3QU8vo174zMMcgGSfoPpTwQMR4sVhh4rlXfJtXF\nhwdjJVrQNEGb5z7SK7TMMpR6zD/41uoBBrpnqPj/HciUY3Jlq2PraNXyfG3/\n7S3hEKJczW1Kat+MnSu51mFaRCR7FuseISrswVCOG4M+DRpINTp30SIYWLxV\n7Ky6ALoOkAVwpdl0YRIh9LE0Jkk92oCVL3Zukm+Zn3+AlKBfpzGNRmrnvHp8\nC+v2pS97ofxfzCTGBzVrauujVwdIPnShJijwz05P/yilrr+W2l84/j0uV7u2\ne6W8bhMqOvpVMjS03u4eDpQQvHpk3PAmnC6SX1+LtDvgNA5Px0QqBj5EmFX0\nMBpN\r\n=bM8Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbjgtLcRc7DHSTSDea3Zad9oDX6xmiXgkfLXGo7NMNZgIgAQa4QNagjUYb0HnovPcUh+CVz0Gwy2Q9FS74CdIky+k="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.6_1576175230523_0.6585448591174641"},"_hasShrinkwrap":false},"0.803.21":{"name":"@angular-devkit/build-optimizer","version":"0.803.21","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.21","_nodeVersion":"10.15.3","_npmVersion":"6.13.2","dist":{"integrity":"sha512-gNN6kPaF4phZco3TmsrNr9tIEKXYsoSeoaUiDUfgmCYwa7fAqM8Ojh7HX6IQuB2PpVmEwKGlCcSh6xDtB33NjA==","shasum":"ecb3b6bba4b13ffbfbdbefb5997f690aa3635203","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.21.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+8epCRA9TVsSAnZWagAAqKQP/j67rTMAQymRqtjKfC9I\nE3ncK24QPgy+0RZrbukDzSyC4UbNQfMj9oc90D18IEIM5WBuqV3koJHTRvH3\n3LMP2xBdaz8WAG3jxSO02AGunBNDuQVaUULDzEDchYw4T97dmr6NrU2gQRY+\nPoxAaj61p1Dakzjx1RIRY+NSrgKvK9P14jbK8FPDWvWnbtlXJ2BkWp22Xso7\nMeDDHHcfZkaqfXSYL4P1dkx8etIHpoOzhlwK4a/Pa6r4ZrWtBUEWCNXS2nC6\nuYJAAu1ie2BD+bV2wjMto5cLCXxU6UMOwKrK2NWl3ls7z4nMajnyaQTzqP9o\nGSBAUudVMwLHtPgUHG70YoUiefUmZaoTmuRsmG02FP0oia/4OT02woOy/uPs\naIDP3nspUj0O5qf/0+crl9CaKoblOQ1nm9i7l0JnM1jj6mcZ+w2SbRhMPCIc\nV3fqgVi6TrUlFl7rh8MAnzCDNt8B3Ji4sQqjlhV5qrVUG4rCoOmlStP64uML\n/4sJL8dYdK4dOjC6q80gfCOSWWBoomotxm+Ptsf+SVKzIhEt+6MY76Lw79H9\n8UGBLTWbehLmuSEm7VqTdCdn/s9/KsjysLUYc74lQEII8+Mn/AVCgPXAMR7a\n2rsIfdaOyg93+ysUk3muFeHGyGPZmWPSErJ3oMYAFX6KELZNpRM7xzkK+Czi\nO/Eu\r\n=L2DL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCojLtuI8MbtKvRn6+hk09URGyjq4pcsNzMq/2zd0lkeQIhAJFz99NT6zUew0MuKWL5C29CxUd2yrZ8nizPCECQDEvD"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.21_1576781736871_0.07146614049021727"},"_hasShrinkwrap":false},"0.900.0-rc.7":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.7","_nodeVersion":"10.15.3","_npmVersion":"6.13.2","dist":{"integrity":"sha512-xxLMnXWuqqqKS2N9otMdkNWDz3Y/dgLh5VQfq2CjepD9WfHMLgRqvdPvp73X5lDMj9oUuNUj4Sl5XbDJQ9zydw==","shasum":"23f42f4e1e7a83d9f2b00117ff4870b6f40a0fe6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.7.tgz","fileCount":34,"unpackedSize":95410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+8+BCRA9TVsSAnZWagAAeGkP/0QBBOGrtXKkK2sNP5HN\niaQvQMMmqBggobQiY0zwhT+k2wewXNPeFZz9Af07+SvcnKPpl3J7/TSpU4pe\nWLrkUVGnXeE2KWOrwTpA3b0vp1qQElUveQfLlM1eDBiioVFN0/3jv8HHimw4\nwKYbNEOm0lY2XxyzO5GXbkaDUaTj5jNqYCupbJsavPO5fLpiKkgwxV+lUOcp\n5z3RM8AgENrKWKS0lziKxBZRpdUJI/ZrAzVysqj1nKvk3P5ER1st5mgWzic9\ngnINFLWJN+wys8SKIwlYCR+Fpf8tCDFoEEpP8M6dPXDc97eBK6XqKYHDhS4y\n+sZfFpJWiUSylBpE7qNvg8xDuh0vTebQYu0F6wmGFBmfY48XBNixAHe12FiN\nodxwhtG3b9yLLR0So+IRz+e3SUoLtPPoKOq2uYuA/bw4a1F8Uc2Znvrtk4m3\nwP6n6pq2sxZmZFXdkR+ipXgBU9t+6HnZRuzowquStRBei/bBtcwN2ih5Bfs6\nzlh3oB+h6OYWQ/XaZi6VCKWT7PCPLhmHrGB9OChJ3QFIs0p8gfNDB11qm+Qo\nVC4cvojGoY62PkEO+6jQpvCzC19BrA4EPNTbOG80hU0mlkzh+TwkxBnxVngd\nOveBaaZjpVoPTUyFoH6FZTh+nwWbXGj7cQIgQngacTcADvKqPnuPAsJpGl4V\n7axW\r\n=Feee\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyU1ygl+TQaWDv01reScjnR5UrQL6ceNapWVFyJSm1rAiEAwXI38sPzind3jgHhLbN7Amhsog7BropuuTV5xLbSN2k="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.7_1576783744964_0.9805842797572657"},"_hasShrinkwrap":false},"0.900.0-rc.8":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","pnpm":">= 3.2.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.8","_nodeVersion":"12.0.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-u6Pa1jqLqfGBtSLHeIQejrPWR1StCExSPo8balO7GYFipOw2JaMtuRyaYitCvcT3ullgSdxZjgLL0u+dDD4vPg==","shasum":"0951c648c7b6d26d6cdd3dd31bb909dee759cc3a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.8.tgz","fileCount":34,"unpackedSize":95711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFliYCRA9TVsSAnZWagAAiosP/0ZdBsKSFpOCGuwXTbAw\nhw8gnJ+9CP+d0zU4Y3o6bB+xJn0knvvu4IXI/VLs7Bv3I6sQDiJr7Np7tayJ\nMxPr4Fw914AFQzuhd8yrtNGaq0UrLy7xm4ypsty8EGdbQkbL9pRGPXZBkSkH\ntXa3L68o7CRARgaB1EZkAA7+xBzZKzXgbLqbUwtBeXS7OpYpnSuSxXuDXHnW\nkhCBasz4nqXq4ALojGy5Wotx/ACBTUzhOHpur+S8SZsO0Co7QWM2Vd5tOafC\n35LNf3Ly7Recz8x06ZtzIrZ9UGG7OGpWfZw9ajqOc7APoXnX1VstEIX5tmCD\n+/uoDIq1Pl0yyy1g9HjRygOPW8Nyqofv67/eHeW4YXjjptyI470GOABf3LoY\nAOkNV2cT1/8N+tcZHVx3oqxFOs5qoP+yvULlZAAEk6Hh3lMn1EYZzY48UwAL\nlQ2NbyGG+aF3mi5eIx/AinDJ3+SivRCJX0DP3AOUKlOXlsPdrsmeSfeGJzeR\npPZVtFMYedc2CAqaAHnhSaFrbxHjBpI9w1naWx8YXp8ICR63rcbV8KFytYWg\n03Q28vZ+V6N8/hEvGg6AvppBQWBxFSiFMt+eIdni1PHhAqldfDSVkH3WHgO3\nXc6vinWlKqfEOkYoPypzUF1HB8xp1gr1PtqnAU8dtqr4eyxqmXX+ZAF9wP9O\nSIth\r\n=Gn2p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDczP0FpbN0kZqOAQ5BIhXPIt1sGCKHn1Ind/W0cgq1GwIgaJm8rCtMUxK1TTbBOJyLHRJL+gvF9iNv+F4RgZysALg="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.8_1578522775771_0.10295227532549056"},"_hasShrinkwrap":false},"0.803.22":{"name":"@angular-devkit/build-optimizer","version":"0.803.22","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.22","_nodeVersion":"12.0.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-VIDeQcBn88PjHBTen3BRVA7DJiKEJdDwukx61mUvUDOcY7S5Ot5WqG0nrZifRjha17Z+fl3XuwS9TZNYmlF7WQ==","shasum":"6d09cbb5fd28ab7bd22ddc54e938f305dfff8b20","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.22.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFlnHCRA9TVsSAnZWagAAlx8P/jCTC4YsufSL/ve/r15r\niN4CF4RNZz+AcTW97E5OeWM4v2nC0ssqKI3lwldSj1Cg5qgq2sJyB38hV0dY\n0H7xyipyVqzv5KBGe+TbwfT1x471aSHr/xeRMhPSS6Tux7I8LceyIx1iYpS9\n8Lr/OzxjLrb2f31ogTTFaurqJ3GhMiEvXgDe2AtAXPC5fBITU+7hGvHi1Kxe\ngQQrZHx2N5TxVmQag5f0KUMev9IlQmP2AGWXI46TP5lA/otUZ+sFzYd0O3Yx\nGyaT1ivCt6PWoQEwD0UEjzvkE37weIrXtcqR55qJjFGQVpS2ur3cr6MidH+t\ns8LCnP44NKsKXK85ntku2DhJLtG+U252eoxUn/bILMUr+fTloNnf10qzAO5O\nraVOZloBWr47nWTbwp8a9zZ4ePuYujhzHDIG6fZinFoE0R7MolKdZI2xFpYS\nEbKghp3v7M4s+0ukLC2nY5vY7OIG+0UQMEP5/+8wcdSYkVRaxnEq8OeMW9Oe\n6V3F6LkGiD44TnEbqQ0zNrD8sFv58ROD+LlSXMmTM4DXhrb8Jj3n8somo6bh\nNk4cnFrS2qNsAOqMoJBqJTmCbCnRV0u1gt7KoZ3xW1EAsENTRZ2Fa9alQ2iM\nGsdPz3qOWRNoOpSXxMjCsW5RJfjm7bUVoJK1dQ1iwfkNl/wHbS5rwlV8kPoR\nbmRn\r\n=cFku\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfkKRsmZEGLw3PqTzDbnRTr40k1I+KJ74Jaz9pvwAm1AiAlSJM/oMKaaf7Khtz0Tv1gPvEMH5z4wztkuPKqX6Etpw=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.22_1578523079095_0.6496263629806132"},"_hasShrinkwrap":false},"0.900.0-rc.9":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.9","_nodeVersion":"12.0.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-1b68UheGtQEqiUks4G2cgCnt71yWc9MkLjElrvlxamKeJu/7dN8V4yvk0slHZtF1xkAhHFZZzDcwCi2TlZApTw==","shasum":"d508896f2bc75c9719c9ebc0c8b5781ca355d069","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.9.tgz","fileCount":34,"unpackedSize":94449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH4c7CRA9TVsSAnZWagAA/a8QAKIj6zuw0uBEzMiFPkky\nyRzKSvcA+ONP82G8EA/OYxk4Rxq+T0IQzfc4nW4ISX3os1DUb6zWZ5id3ufs\n1Vw2z/lNpfo9B5hoFvp9DSr7BJuthn/GgKEMxITpjjYZRkHcKTsGitedB+t2\nIF752nU/Od9veOYGN56vMFtvSF35YUgL+fed9SLI37ktGylftsLq7XF3TGWI\nENHb+ZrOdFY4iYNt0OJXiSg64S+/4VwzM+vKhn8XVBKOk9pEaAuQclPmSN6U\n/PwmTSd3gWIm9UWBIOZdYRCpUTCuCZFaMt2EF0cxE2t2RV/50tkyKhK7g6Ro\njKKPfsGWebMAcJDvbn1bBJagm5rp5xvzdTOTb3GDscMp8YQldfTsIsHd/Hsu\n/9K8XMWZUrs9HdVs97V2bNrPPAE0Pu7VDFBg4i05zHFOt75b+40hf+0TtK4t\nMxCIxmIZ+yaO40dT1K2QT0U5e53w9JsY7qpEKBMGng4h8VS8WNjK/q3M/UQp\nl6HbFiRDWK3RFUeaqvKZeFXXqNqmOb1dcKh+XauuyyJQQXkXX813ZsO7h8at\nvfU28NqnAdjLYuoOPsgvzQJSS8rWaS7ONhrWs1V+nHJuGdWvveeTPazq/hBR\nN5nFdM0Ke+Ss65XTPu2r5GBqzYxyd5LztCMmJ0i+vKKW8CCklNOjjWfItmu7\nHG2c\r\n=yE8u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnTw8EHzo69YLRk13wqmiorG9tRxpIEozj3zk8W9pWLQIhAKB2NVJlHVbNOVM7FrEwpQzf7Zz2WNAzFOHencVWXpCx"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.9_1579124539207_0.16546460718186973"},"_hasShrinkwrap":false},"0.803.23":{"name":"@angular-devkit/build-optimizer","version":"0.803.23","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.23","_nodeVersion":"12.0.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-0MJAnGjpmE1hNrwDBi/7b9G1qyt2qN/wcZOj6QseZeWuoxIVXIWgdM6gBpJdgB7HI7vv4l4LpyFX9Doq+2r7Xg==","shasum":"573138cb7202ae1cb60ca832ea5df98a46674fbd","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.23.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH4i9CRA9TVsSAnZWagAAuuYP/jzB5VXS+e0zoqOtg+EM\nvizIbuoO2yc4C1EZyqdscWpD66ZU/KHHYJ/M3btZWGx8A1kwJkJvg2pcy03O\nMSyrbTIaZp0KIb4Qio8yvDm2UoNkViyt4x7ClnJk5B2sby1D5P7DM9NTclDQ\nJNZALMp9k2MX2yrI+1aQ6JrOfA3AiPNFt8loXYElyWeyxEat/8BVAlYM6G/D\nNHiGYP/xmG+gLLGoIW/IL7tQe9w8AfcFGmXPu6IgcZ9MliLWl3VdzobD0KZy\n0PpJgplL/hwCSrcF33VZ54OoJKnPG50gA2c2iPPn7bxWF6T938sZ3+iBpQp3\nJdNRqjYA1jJwYCnXUVKj8NEfiMdLc5wq5GPj8TEv3+UAjZV49vwEGpRHC/1E\nRPcf3CksqHfQ+SaNDNkB+zwbvaRYvj8Q8HR0RfQOpiB8xJcY5bBh607ALQTk\nEfHNOtNkB0I9aau2YaP+wkDDvFJZuq7ALAYsUAqHqZdr70l1/F0Pmm/sHPLS\ngRvH59/8xA7vrf6YshN/EOKWPlRuyzkR0FVzlh6G1LiOEXWIHxVMdsDYPh2x\nhnqXhSrm6KJukBUBYNAmSxq5Yeekh+1ROQlMGr7vyGDUc3pAFl20lii3D1HN\nMnZlRGP4WfF1rIA7rUOK77eZbMYtmdfOKcaq9H1+hCm4Sh+YUX2iuxeCm31q\nh6Dn\r\n=FeZu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGSqro+V42oUU8XXgYthrg6D+nkdiInkczlRd8iqXbSAiEA+kgH/Sl8wmeU+18xrHY01y9Neq66E+1/Dn0HCN7NWCI="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.23_1579124925246_0.036806696158028895"},"_hasShrinkwrap":false},"0.900.0-rc.10":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.10","_nodeVersion":"10.15.3","_npmVersion":"6.13.6","dist":{"integrity":"sha512-cQkOLwzIdhZgAzkpea2Pi1oS8C8BDo+aB06JchMpdRudi1+ArbTbsaH/2FYhHMD4jkK2XCfKT8yFx20J8t2lVg==","shasum":"e2351297689185ed71b07d0537fc1d3c73e9b2b7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.10.tgz","fileCount":34,"unpackedSize":94149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ5kQCRA9TVsSAnZWagAAr2YQAJqD+cIc0/orF9/cBD8J\n5ONqGjAYVagkGhlcJyUfjl7ncNkJdGLakh/bLifeprFKqpkY/4QmrtQ/EiPP\nSjEhbAeH8cYL2oR93sBViFLpxQek0J48l9SJ6JB769DaBN/PuglEes19eEXK\ncsTqUGdGWLLFuuqhSwArvJutbLh+RpRLgxKowsKTR6NYbl00yjLYKRteRCi/\n3dIoV72irEk4WNVCPib2JmlZRSelFN/JyWL5W4gRVMoUg/Nx2kf8K2wxyV6x\n6Ec+83igUSUc8r3R+jXchJjVRvuGdyg6nvDKu+zlOlQx7mfCLajGKpvyxxB2\niJNBU9GLIqyERnDDR7F/fIja5Qas46a4fSmnFtA7F1/Yl1WpCyRGQVdRELSC\nAnEVU9FX5CNzSRDsD69MjDnD5DGjRAUj6emM2z9qdNv4q/MvWFr+mvE5FBB1\nele7Mu2bT6NfQ4/SLQu9fH10gsABy6CHQJF3mrqjk98uNSqAMZKVPHU66M6H\nKvvNaxNitdKJNTv2ddIOjlXeMir0ky1A5Bd4C/8761cCXnBpKNvZ+eC2dWxg\nEHqVGwzK4iO5ODRLvfziCao0ij9LdNfHGd/TbSuPNaG5zkT4OBKsp6gwtYTz\nXCVOp4t2p4q/gC2YkSkLTchjTy0E2O50/Ichk9MYaG8lPPJgHeesnHmM57vf\n8XKv\r\n=VhxA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDynfkfMKyAmuHVSEXZwdmPbBz0kQ2IATCMlZi/a2fwAwIgf2at97QqgYDQtkgMe11YWhegGTaVtTGijeyFPz3fdDs="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.10_1579653391691_0.2629218698041613"},"_hasShrinkwrap":false},"0.900.0-rc.11":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.11","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.11","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-GJC+7H7ER6bxDC2UdAGwW357EYHpv8ISKKmS19wdJV5gZPMPANcpbg9FIpl27SDhUyZX9C2DOrcATvYYFoYgDQ==","shasum":"96c2446fa9cd2e90700ab8a68312b28b3907f6d9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.11.tgz","fileCount":34,"unpackedSize":94149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMda8CRA9TVsSAnZWagAAJxgP/1gjuTMKBKEi5rXk2pD3\n5GD+9OfUkCII6Wo4QT+3w2j/mDJjkdAbGBIRrAAynUEn1oiqNF+WTAlcKzcb\n/+Mlea4rjyxiAOYwBauDm5RERpdo+eQmmsqfOYw4XVqQgsAR0KUsi0hdQtFc\ngifpKBWeMLB3qXb7kqxhMiyUPvNwMgHoprMGQx3QbyE4zXtRd3JREPJg7jl3\ntXuEyqBB9/UozKHaeGpBnW7UEcxbOBBR1imXX75JILq/Ev780YN2fF2e1RKp\nNwmxPx4wuu5Dcad1sMyDkFo14P9lcfj8cYffdP6skfH1V0AAHKOetStvX/7X\nm5EmvXPeAbfxavG3Qyu0NtDBDtBvf2g1trnjL0XKYtmM3GL4/hDFSnCBh3nG\nQrZ8/TkfwbeRJjgWBI/LBLk9mN90FvLD/8+BXNnWkSfev5BtnqK+1nibyHwf\nueerMQh05GAWp5RG9Ziw7NFumBirDoH2YoTTl60H1ZL9rso4TUduUWXfe1xd\n+eGumpeijpSTlzNnW2tGjUWkJRjiQwXcOV5jRXfEGlHl+l5OxIuosrnB93ol\nrpV8G7ex4xhtTfdyYreL3Pv8Qx+btVSRQqt+98aSGXMBQKEXZ1zEhQzt26bh\neyobeTFnku9FiQ3Wmq3gNlvQlrHrlWy93zcKyOxVRV6K8Kld6ySpxc41qnco\n9/8j\r\n=olMP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFFY4QlyGfbvfs7IxN2F2XQUziuopj9cAZCpQ/R/gd+5AiAJeI8C5rja1ersHn6WEXss2h0Cv7Ld3tshd6+UF4FqbQ=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.11_1580324540190_0.5672249932603128"},"_hasShrinkwrap":false},"0.900.0-rc.12":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.12","_nodeVersion":"12.0.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-8qIMlxsN5MhjsEJcGEaQ4IRgaxdbQIz0mr0yez8B7sJbhTeoy11iZayunEdPHqtGc9mpyVHGJIoDA0+SJUtbNQ==","shasum":"0bbc1e796346d1c1319600d7603b17290336baf2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.12.tgz","fileCount":34,"unpackedSize":94149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeM4EuCRA9TVsSAnZWagAA+e4P/j3/Q/i4rNnvXNTaxb1c\n+z3y1SjsdBtt7ZzKpoQqg3+zIHAtt01h4lJay3q9TdPeW4Y5+FqI1nDnf7ob\nHNUR5xOx8jkHR+EsLma1I+E7kEYmOkp4O9rcZHasJsn3UOwlqme5sN95Y6s0\n26xrGs61v7I8/l38vUtm9fFuXS/mgtsVj3Wbx2HO9M/utTsD0lpkBvaz19Y+\n09UOY3czeLEEKgs1jPf/6Zvp+Wh0mYONpakxAosJbraIsOR6ou83qlO03rWA\nYdxtKLe0SbKT+QLh8ZsJffyx17POy9cgoBwA04+7gOeg4gCN3DasRcXH8w/B\n2AYD1k4pJedW6HWQA9dy9FkcyIlV9717F7j9lx8nte2+EMV79420inPXzYK0\n1uWswcf+4TisvaSBTWsQl4qBH6pK4OH8L7kh+3RE19qeSgtILDOTopRkMHnC\nbIyKMjI5QnA8o0+KDKeiK+EDnT08AuB2fNaTc5WbYtoH1MLUgUZJbPUgCYrp\n3mrtsfbxEeNJBYlfRHD9rLAo+gahHwbglZ9ic8m02pU0hxNqo1gSinLxSYL1\ngC7ybTyvIDcXGbSGg58V4rmVE/b8gxQEHWVCeUBsxpMVEGzsC9OtZpwlZZB7\nUBA5Kutaesj0KRUYllt0m/JvoolvvpdTvnFtIJ/G+mULAm3JETSACdYbauvN\nncQM\r\n=1bj2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQMxGZsRvdYQgEfe/xSXijwMT99fyhrO2Zyy4VqZQGvQIgdONdMfNtokn3YnUnSMCzcIOiRHa2VI39rKcXNetZnpg="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.12_1580433709992_0.3434206832446858"},"_hasShrinkwrap":false},"0.803.24":{"name":"@angular-devkit/build-optimizer","version":"0.803.24","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.24","_nodeVersion":"12.0.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-Z+d7M+WpBq7AWWRwbxzb1l9O9qkylxnDRKxXvq3Tzjn43g+2WyspE91dMyrg1ISc+p8jgX6xKSblRLvtWqpA8w==","shasum":"d4211f8fb899b39e9b7bf40a6271397a929621d0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.24.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeM4J/CRA9TVsSAnZWagAAEGwP/3xv/Q+wdkY7voOTg+Zv\nj0Zqh9oea0hLE5VxB6w73CpMb+YdVbxIEYpw9h6YvTl2yruOa4r1I8gBKuD/\n9WBOZWURvGds61Fmo8he+BBQ6+BrMcBJqdDAwvQ8C1YSAX1pAuvRVAWJ0RKg\n3YR/ICgfSkHJR4oZw9mYRG7JUJiowNUs+SuMt5lVadRIYygnBVR6cvUTgrMA\nQjvghGP8MvwnlnBiBNxRjIbhU2SbsKsVibMmACHSpM92khYy5LyCr4rXy+R7\ns8yMjG8WX6DDgyPIHrP3P6Cpk2fb5dVP/51kz7fhTQAgRL9eeh/5qU76vI2I\nSIQ6OJtl61vbO0dYmeiCNSLlOyPrPrmwMhnRyH8L/KsLU4It09K6cXLHudIq\nPzpW1SC6n53NfMpqSQkzd1LLzE1RJRKdYgDOuBwswbBvTOHV8+PCe43T6CDx\nXlqmma1oRDLPRsghR5tBKiNN1WFntBMRHXZSjNwrD+pMICMciy6WuhFG/bJv\nBdUi1wON0T3hEGfZZNzK1MXzBV7RJxtjPiwp6Wuwf+FBmhXnengHiVUJSWpP\n9Kxlt7ZHBBZhCRRcHm3UJ87ClCW/abGk/n4V5Cplt3tbaccVQFY7ecU5yknW\n7jX2t0CO5AOWu8LHW3FqwGOMaO4A/Ixy5b21JkPvI1wS44v2dSQKLZnGzaQO\nwWfk\r\n=V5pj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8YnbC+w08RvHgFj5hP4Y04xVAIsPM3C/h6DAeMkPjyQIhAOezODCS9Sw5yfgizje+QX2BJKLYSP5v1Buf0oprjjbn"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.24_1580434047130_0.2720428565546802"},"_hasShrinkwrap":false},"0.900.0-rc.13":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.13","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-W99GAZFrpDFrnqKjocIpkqs3XzyEL7FNQO6V4f8X8qQ+XsBYWkl0OKaIefwKVfP3Z3U/h/NZSCsso3+8VDaU2g==","shasum":"a9ab4c9e5080a1c45084f4cbb1a65b97be4884aa","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.13.tgz","fileCount":34,"unpackedSize":94149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOfdECRA9TVsSAnZWagAAQjkP/jNaNjjSsKmCQclNsXnF\nFMsFtz4SeNoG1TYWDpBr4MaMz+zGr9Cb3RxHjlkWvyI7+V5gOBzKvXHs1C4S\nIPpnawWq1IyGqDMTpSxGRlBG1eUtp/LkyW/Idn2BsjYocW/sz4GHtspHvDTu\nlfMNnRLAssfBCXptmd312Sxxa6Aevv9GuC2o5/xYPPOUOWG69sStOMXRciuM\nSSKbsM7qz2NlSh6/rA8XjjsJUiMN9rFVlgxK8ZAfhaW2MIji4nTJuqGHroih\nKWkaajolrWs6gUQzWBN9OgpwUKQJbTu9iq2S8YJeV1g2joTOzFZ3d6acp36/\nH+8IuqKlLxoXE6zRr0Uj/imHRe1J8PsOy4jh6Jcrf1qdItaaYBdKF8YweDV+\nUvA7qrEsKLOECLuM9aexSz1t6QTIQSyj8oVP6+6UXeVwV5b20AZANIJOf/4K\nKxXa55g8NjPTVqAlRpsa8fcGHBQQxuEjvYkK70AB6vuFkE5e/XaNOzT17DcO\n5tIl6T+gRNEOdbU+H3X9ZV+QAbZJTqaoXR0Cm8wridSVc6koRl+aOxoqarUa\ns68elAxVisY5f6nPqN11wdc2ncKyHia+oFu0e4cd/XoUERXd2zLQihHRAeIc\nXcWM7FiI3L513HPUelvXHtHmAxshVOsP/pLjV/QrACGlzSv/wyY1NwBTUH0M\nuQdF\r\n=7IuI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFD1AENZt9afOlseBjRL7ZO223vCIoeYdT7IfYOgWwhnAiEAypziOgp3ubJi6r72ezqymzAR1FrDF/ItvQOp9Nd/6Tk="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.13_1580857155584_0.4036960222996888"},"_hasShrinkwrap":false},"0.900.0-rc.14":{"name":"@angular-devkit/build-optimizer","version":"0.900.0-rc.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0-rc.14","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-MA2g8N9/cvzMvudEEjeaNV6STwSr8NI/znpv+nU6sQa4PdegIotBbqxGUmHMKtLH5cOwDy9hI47ANN+XADbIbQ==","shasum":"e90e955e1daf5689ad198a5253134187c99b7b5a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0-rc.14.tgz","fileCount":34,"unpackedSize":94149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOhZwCRA9TVsSAnZWagAAsLkP/3rqDvEM+P5oROr69iJD\ngRpzfkYENI0+0XY6bCPyb0UiOHnRT78WtBbbocqitUK/5LTXwZpTaHjCOkbH\nDhHE85gb4FdwAd+5vBu3lWCLb6r1ek+Kj6hO+6RAkufCYBsqRe2OkqelbyCf\nDbKHVm8X2HQEkgDRJiuiiln3IcQjy1fn05EaEcKVHUd/nPd0LgrjCWy92GqJ\nFT/SbX99HNz4KlQOnOxIl4As3Rhu3wYpl8hfms2mJ6VCRlrlHgjURSaBP8In\ndIykExT6FSkxgu81ALn08lKoMdX1vehvI4qFpTxBmkXTTB3l3MwQ0nGXScsd\nj38pEJYMHYBCg52XEcgHg40jXHm2qtsttflHgvbJDNRuxS3roCrSW2EdJQ2P\nDPuLvxk6DGcZeGT8AsT2JFX9IUB6MT4QIqAH5gdXtASLFzKu/blPMRkzlthE\n79aNjpWfGel6swC+/dUqFZ7zmZ+mc6mGHcI3n9reK+7gOSkLF+/ZGTy45j3h\nlrG40DA2076ok8L6CY9bVMaTm8JXKoygY5yRaVnDVzZy5WQxytuZzjB8FgJf\nwxWD7MyPC+NNH9UR8ndpjE/Xkh6eRt08esp3dbnGcMe1f2tSc3ATUhY67NPC\najgSWtc0PcnoFaxaIZWAa2/ZRZb5c0hnL1VjWccRsnlMGpZNUoXyhWU5cR9b\nQjLf\r\n=afla\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9xx+SvjFgQXo+1oLxu5F7QonDIs7VGXbqgmp5ifU7KgIge/k8Cq8xxHTpwPqgpRCkVl2dkN38bQY71PrD+STmQcY="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0-rc.14_1580865135712_0.7708535220227655"},"_hasShrinkwrap":false},"0.803.25":{"name":"@angular-devkit/build-optimizer","version":"0.803.25","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.803.25","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-MiQimuEs8QeM3xo7bR3Yk1OWHHlp2pGCc2GLUMIcWhKqM+QjoRky0HoGoBazbznx292l+xjFjANvPEKbqJ2v7Q==","shasum":"83aedee3cbe15f4ec7f777dc028f2669e0ff4439","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.25.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeO2uGCRA9TVsSAnZWagAAbaYQAI4qRLDwNpcgkaF4Eq+H\n1l6q4TrPj80rCm3VK2yGedyWoTq4T8a279+Ys0y5eBmryqgrxLlSDFaigUKK\n24Lxjg0Z2CH2U3Pz2M5PUruvjKibWgO55MqpF9L0uQR5vTlu+lRX6jPDVhoq\nvFPc/b/yNuePg0V8dAKRY2yts93LDX2WDo1J2cCkbktnURBECuRpXz3tKkN6\n8Cx7c30pkBi9a/XE8K6nneg0Ev3pQILEq1SSG2DV8L5MeC2QbLaGJvlLIupy\nnsljdLJ2o+sGezeH697FH4fxLC42/bWgaQFSvCkwWXNnTChXYui4/oqVHm72\nbKx8f1czdG14e9gtY7XOifQWEgHRI3TLMdEok9D912SUxJ+IuQAPkWPalMwB\n4j+W1ySrKRRUqCojEjqZ+sxTyPMMdNg7Ov8uA4tM4IDmjGCzuGffLm3Mtba4\npiTAqR4mo0pvd+rBAWDI1Uu3qBC0Ah2FiGaY+wX7CS10vpOxfrS0wnWyL/Jj\nzkpBdiwm7FvaPjGRO+3qWYEN84sIK6oq/revRLMVLCGnLJu5NcZd8zJY9HIu\nEPwa9rP5suMwez10KVOAHpmZCp8qPA9VdlEd60CZ6SINVMyUTF6FqIl7Y6yQ\nvo5BhUw7Y1oYkOla1LSyhpb1gyUmkpxJ8lXXNu8x+NazRdyFRv0/wGtxkycQ\nq+Hm\r\n=sFwC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcsbj9OOKCAiuNhD3GYgJnmd6j61POo+upHUT58zWvnQIgFkOZD5xsp4tRI/9MORZJRVzvIOm67n0K+iyEOq24HQk="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.25_1580952454129_0.2613707689632221"},"_hasShrinkwrap":false},"0.900.0":{"name":"@angular-devkit/build-optimizer","version":"0.900.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.900.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-7GvhkCgCKrK+AHwUdbZncmTt67hjo/crcCzZzAm38HjnW0IOHQkJPEiz+l9982WSF75zuYq8yYeQm2CfCGKpCw==","shasum":"dc9538d82472118acd95d6863a2c2dccee706dee","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.0.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePFLeCRA9TVsSAnZWagAAej8P/RUSOOEy16UJf/LBTumC\nVdlDERM9H97U0yapkmoQwJVRAcZQY7zA9v2b6pyA0T+bi+SdLfNTNJMrQiy4\nxaXA7uPh0NjeHTjpTa1NEf7jebAcKowEppQIEYCVFdzL5WM8Z1+lzf69tKiK\nEjeWObd1gwxaArP/heBzn6rTjavhlowEZ6B4P6wA/N7UOut2+AUU37Bc6CUP\nbXOfDsuwHH6ub4yVUguXANJDxAgKS2EDMZTeApV+TmftQ2TeDqPlZuKqu6E6\nzjDgGNemzanDfJ5m0NFNpF4nhlhislZ3ZrDrRKBGbg9z82qinQPWc9y4yaQ6\nLFbf8LLvwYjaT2v04UmG8fcxufxnJeJOxB5w99LRYbdq4xl03zmGPhlDn2zK\nBa6NPB+rH5SIe55QFFiL6CnoHmmFFGopKB9CkFHEknB5/ukwpX3kI/G6MZCj\nWmwRM/8X4Z+UecKFv6WwhkysciLdW5QQjiFI3fDfbX8SrvpzxHuQo2UHc/LD\nRD1/PeqooVmukTjAyqTkmLF0PqcvYG4cZgk43nYAV40hXMWnQHGjw0qh6lNt\nkUlDLsqat77V3EKckVmCqcEVwQq7z2oUhrf0M4vRB5Fu8YaTCyooAPskj9O4\nVNKuxlYq23KWYNlpni4YAkCuini7RuWS5ikwKn05vbGXgPICT1+6XBatytpN\nohI8\r\n=vr+e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHsu/mTpu07C3olYqmvGoZ9OVhb74kQDL2vdwnU3px1dAiBs94TNWLKwHbxxtJ3zarFGj6pSwYAOVslgmLD5WiRX9A=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.0_1581011677686_0.4123477300145386"},"_hasShrinkwrap":false},"0.900.1":{"name":"@angular-devkit/build-optimizer","version":"0.900.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.1","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-EnIU+ogiJrUPf8+fuPE5xQ+j/qUZDZ/SmLs8XAOmvoOBpZ0vPNedrHBHCxmV+ACbCxHGmIKQ/ZL29XUYVasteg==","shasum":"b9621a8e6234d3233b61ba9ba86e5d64b8e412b5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.1.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePLYvCRA9TVsSAnZWagAAYtMQAIeS51c3YJQtlOK5xL9r\nGmrDJCGTIuV4KqyZP/XOjXEqz/Nx9oTXzq/10MCHPrKnsLqRIrmYts/Nxz/X\n7dwcB5WJl8il7Dnv0CKHPA3UR8X/peDvoUK3tcLuH15hx9duauEswk1BCuch\nxPTbqOJJXa4LcD3CeAUr48Mx+T/iVMyKabaVKVRwZSqL1L5dhQP8dxRo5Otc\nIifrUnKFQzKLhKEr3rcUj4D/9y/kVENpXlK+CQgky0rJjnrKugB6bppb3diw\ncqIA7t8DUL4+5eM3zMwX/2c0F3/rD8Q+uifRB1DNIdDjOI4YAoOw0+VNlrDl\nqmqSYvmiKWV7vDnn7ruTNYrBQ62PmFHN+ZC5ccLy/ap/jTBpyk5nTJVirKJD\nWjobRKuUdXCUdrww4mDW30e0F3xDafJDfDdqiKs10HBfdRRk1ZZ9Udkrp9QG\nyKy0+VWApB6gW6+XZukll8rDjFFrgJvnZ3CLBGP+XzHtu43uFUSHvkbzqEwO\nv4kwt70V7Pn/9cjGRuJY08R1/X2V8aB5oJNmuthjqCtcraH5g74Spi9ErT/C\nXeeCz3vz89j0S4VCpY3Z5HSFlFqz7uGCPBdQrc1kFvq//iT8oIVO4kBekyfi\npBTwMPGGRbFmT93cyuP5sm7lkmICnbya5/k+mimweNIyUD+00+nc6fSZoug6\nPEwN\r\n=ArtM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7Y+9oV4FlqzMN7VEn3nbki6TKAFUzkkPlJgQ9ncy/mgIgOYCeGiniZ6AoRH3ETkxP494FfDnWVc46Ls1YInyIjZM="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.1_1581037102531_0.9914719417989304"},"_hasShrinkwrap":false},"0.900.2":{"name":"@angular-devkit/build-optimizer","version":"0.900.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.2","_nodeVersion":"10.15.3","_npmVersion":"6.13.6","dist":{"integrity":"sha512-4jcjYKjGvUj1Q4vqQSUU0JT1LXOh7qC7vWCK+bbAsW77wAavtbKFt2mDjB2DMIRFzt9lSULi0Z+JVOD9KUzk2g==","shasum":"661aaca89f9ae6dbfc2256ab4822f08370bf5a15","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.2.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRHl/CRA9TVsSAnZWagAAfwcP/j+HUX5f3iQK269PCVOb\nzHPzRSjYoNQ2SETlgfygihy3kejVaTC7X+htzoMI55h9nXHf5qtAwFpPslJ1\ntjll8BF+2PmHejQUkDPNfGY+Qcw2/Xiltd5a8cqT0JxqIHJC7WWLVADlFM9n\nvtIXnjUJSRa7OQhmGgg4Cch3eX6ZX6V8xjbSTFDHd8uFL+UKM3Y+csOuBG4Z\n2smhfZ7c+SdeIcCBhxh0bzdstjOkVGXvN9Bg5/VniOvV0a1+dczs2ABp3eYm\nPxvgwPrOWGjcp+fdp8+pCluuUNx4JzYGtchuYIPkWM4KsLzET6YTEWJEnRAg\nXCEXVWacgixPXOk9yBUe03j/MEm1b4k7ujdJFksqF9EMdbcbQ+DvP5EC9B70\nSJxPqwJ41JOEluXcBltOJgY+pwTxSpS49JXWackj6wSOewiBfDSBNsgiTV3s\nrxsw9IvMrlqZAx/HfhMxhFcqKMs4jhcvZ+f+fDDLp9lYmX1nmhXKzhUsA4C0\nWcm4pwnXuOwjBsseV4YP+7TYjN8hSH865g+mqefr5oDjUuaOkTRIBMmIZlbB\nxXYFjbN7NmpJ1+wXAdnGa3f24Zo00QQTv5L7d28FJCLOGuwDLOgf2ZPQZTSo\nXnW6gwmrS39Cbyo1F/PK+M99i8C5b6NzYKF+admV9Nnp8ddctgZ0NhA0lwLm\ngvSJ\r\n=WFtY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIDPNAxAd4T8z3ezxnIM1lxHaCUAbqb7RVDXQsW/0wuwIgSHD8//HUqBWMGPlBsC5MB9xNuv1ODoGq6nZBNKkQHJg="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.2_1581545855079_0.7480688488936467"},"_hasShrinkwrap":false},"0.900.3":{"name":"@angular-devkit/build-optimizer","version":"0.900.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.3","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-VLAWtAXpOzOoYUJrN6sT90UdIdvrVIipkzGz7nfI1kscDvxUFwVZnsNNHtFinaY2SfZAunHhYQOA/B9FJ8WPdQ==","shasum":"91f90c56affb0be9f7910dfc1d414f16c21c2c3f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.3.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTbSOCRA9TVsSAnZWagAATnoQAIVGNu/QO1nL5qaOVu1O\nnK8IMhVxVqEwbdh2M1Ll2r0imSC08YUELH88A9Xmv1JLWl+iMsPD7OfRxOQ8\noMC3zppXeGPntpeMm+E8W69Gr4gdLlQuVBkvaxvbCM0OiAivRryU+K2bbQor\n7tbm8Lmq7rMcUflcE0/sjhH5AAfcUBCUvj/V+kxu1W+MBkSyw7WsO4Dtom+0\nvWJPiwtML3sw4GIFWOnIOsANpYgThLkJ+A2dI/oySLN3dGz0rSdeHD0E5MhB\nJ65t/wCIgcmOoSNf1L8NZ9HEV7BPzhF/D/SnKQyLuTYc153BfhNp8SdK93OP\n4zPJILMgeV596piejAsbwqEKN2acG6dxb23bAdQPVE5mwgNmgpH143OXfHYg\neeR+8PuYUW90bszI01dqjx1/MSaNYKm6nc2LBzUG90D9IkLMVK/twAjI/mfU\ncs77uk7gzbS3I+T9gTy85a6CpX9nI+O2rKvn2sk1FzxyBMPi8Al5mNd3Odku\nDpxT3+ug8JQrRNpF9I0wsiSK3tGMBbEY+n9vd860hRBhvg3jg1FnZGfCFzs8\n3jTxJCiMc87RB5sBFHXOOZdmcqjS3KrdM/edJ1FG8HFmoAC7HvkQFZKmY6vD\n8+7c1u3j6GGTotqVA7F6rR88d/xQyVQ0ric7FebWFqGjkhXpsJydqH0u2jqQ\nWg9E\r\n=rLcN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVgaF1UW2+rYiwblrOfZgRQ6cOedIiiLgm5lICEK14fgIgNYN+atKJHQ08y03uken7m1yg3RlmrF0zhScrNSZJA4Y="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.3_1582150798495_0.1505979610171282"},"_hasShrinkwrap":false},"0.901.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.901.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.0-next.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-zc9Mwv+kd7BzcsNFH7zPf9P8OhK74Mg7/5jRi8Oel67Kts/bGqIUl9gjsjP813iDZP4dsMNXHZPj/AcpFKr++g==","shasum":"8022dc851dcec1a0d5ccbfef461cf8a5e6c16e39","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0-next.0.tgz","fileCount":34,"unpackedSize":94150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTboxCRA9TVsSAnZWagAAQvUP/Ax7xGYQTQwk+Z4uKlrH\nFHE1BhiW6J6Hf0F8aVMMgOEyubSvcrTzRSqHjCZ0dl8W+irsMo4ZXeO9t44b\nZBQ2l4RutZklixVGUN/xkJCFt4mZDXONl8yKjxWNzw6ugMIMjIWy8kVN2qw1\nruagd/NRYMvmFUgM35Z/mnvsPahEfHQaI8ULcdrgH6Pds/go2/HKp1NiAemN\ntjpPZ4r+eGPDxEeAuX8PlT2V0nV1WSHGCHnkRXQzsWvKN4SZTV+8yp8IQxQl\nnel6lx7jDK9zVmhm3Q6hH0KnBPxccBm45JoECaJv2Ax3jlkk3h0HcUnw2FuN\nHlmDs1jfi9I1XsNZtUiKctePn/RTKu8vqYjQ1bqOq3sSdGZz8STqRUqRJtuG\nyo2+OuW/EhEgI1yzUM+A8w4qzXqnpFiNvVn9d6KjRiFJC2zoxF8N8vHKf8b3\na3UFFZZSy43EMQU6K3VOkftAFupwnjGfRkagVj7HsclsASvCCa8lK4zLsSaz\ncNVAXFrTZubLDt5Q7nH3i1KnPsxlnB7DMfhNQp2wr6nSUikLXJGA2JERXhW6\nTdod3fpCTCGeLuAON1j+1RTdryKMhIhOAaTU3qUKRhHpmlgX7lFDbld/CSTj\nzzCWcrvr6RyBgZl4jHPWKDnXgc0pOWPosfwr4uAJpyAQGPUMHd9G7HS63IO8\naE8e\r\n=ymh5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAh4J4WE4lNUbZZ+x2R5OPMPuYA29ZkmxZNKh2E8B1WYAiBxqfNLwEmLMTZd2ulKnoWUIill/s3JMp6jW1e0IyWoCg=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0-next.0_1582152241108_0.2553658442560174"},"_hasShrinkwrap":false},"0.901.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.901.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.4.0","source-map":"0.7.3","tslib":"1.11.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.0-next.1","_nodeVersion":"10.15.3","_npmVersion":"6.13.7","dist":{"integrity":"sha512-l2g2ZXAKwG53kltuZfXjpAYeJ7ktv/fhVQx5GeQ2cL0l7y20/CjcHgOEC+SRmrPUnznm4nkUEhgqjRhF0egSPw==","shasum":"f5df90ace318f68c5475488c4f34fbdf710471e6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0-next.1.tgz","fileCount":34,"unpackedSize":94150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWFRxCRA9TVsSAnZWagAA4kAQAKT/24vH7apjCgmGN27l\nocoihxvHoV67AYofdsAp8iaDMlW7xrgmir0nfULi5HdBQORcUI+lRrZXm7Po\nmui0c0razqxS4ak4tadk60z++oxVj3CrQJ/5OUj2aoYM79lUOM1B95sSEbhb\neO6nPdYgmVcycmypmiR43sm7o9yYWzL8PONAGzMKahkGqYQ9dEcMHOWV0rZC\n33VSGAgCk8gUVhK2R8G/5OFB03hwpicKBHMID01TuFuFDmsWsPM7hQELcLA1\nVZ5YsxU8b0bsoCAQtSFVVnxRfybr+64/qCwEBPRjx3E1P+2oO9d4z0vJYFuu\nTn2sZkHg20AbaO1PBjJDBnuvkeyRPyRotr3VKDyQlI6Ep9O7nK+B5ptzrwi+\n4flGTYVvbJl3QhGxwD3EBSKEVA1mVEFzgNC/5QUlLjpjqjo/L8+Tb3KCpaJg\nEKLwmxTq9kZ/IgVFuaP5OYqJe4bhvnjEmg1Ju4bfWIRlc6IHVFw7XfGDQm0m\nugkt1jvgggzM91UPhOvp78l1g/Br2cbuK2SNQaJ9XLNZ65U7Jo7gTx+TWw+m\nWAUzXREv6A0RFCoRUyp7ZR0pP5MXkeGGttQMRGoUx3U2enzOXgrjLXPSFfJI\nzdPZ3L7QBKuUBp7exZx8eeov5EVbZXYquvP2V/uZ2H5fGCA6iMvduUwiBc+H\nkSa9\r\n=K7gb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5Qe9UeHWh0g8YMCXzPByhMYdbFAylI1xZGyBe5tt1wwIgN/d/uQEVms43v5I5o4icipmgwyEpAeXlAbLeYyOsoqQ="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0-next.1_1582847088771_0.8497547969736909"},"_hasShrinkwrap":false},"0.900.4":{"name":"@angular-devkit/build-optimizer","version":"0.900.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.4","_nodeVersion":"10.15.3","_npmVersion":"6.13.7","dist":{"integrity":"sha512-GimgBezfUpEmpAqmhTC6bFTmyYtGycK7meJPrrfiAU8cvtUJOaHFt7AwcbFBS8ORdOeSHbOCrIVy9CAQwA3nXw==","shasum":"c3cad084f54cccfc9ef90dc8e24716de939b2eda","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.4.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWFmTCRA9TVsSAnZWagAAY5gP/R4czK1fWjuzlQ7oMbuY\n9eOyUrdTeNWfdTS7jg3cqe9z9PSxLmDkf9lhvioyVEOOXj72v274BcNimIaG\nTQlvpaEFDgeLy8/t1FFK8PFMqUZulUGSLTVUP+L9KAE9O29ydE2KuX6S30eP\nPmc/1f7iloP0UBxTr/ccZS4+P7PEsaJJOudP/xXBkEWqt2y/QbijZq74IAMk\nKYz2ijPGGck6JkzgJmI07grWjVYHxxC/GN9jBiO05vTT4JX5Amd7THVkPddP\ng7HqSRLfSR4NRIgZSF2Xvt9iIJkahg2AxB1Tj9/UZj9IfCA7/TIMSKFz8E2I\ncUk3aE90vct/Q/3Gl4nlnkZndhNG/QYt59/RBidqq+x5G6w5+ayKwISFee3Y\nxERSR0u5rQUWCb2IsoFjJdKcaF32+VL+7pbGniYrO/ddNZ9tOOdOhMthLubP\nqDUAoWKk9CLGEohkEzvWoprz/7S0dKKa+p65jh4HjH6dhypRpgbcsIVXJBGA\nWryr+SDzJFgJRiIZgV5LQZddDrvar+d0FEThw36+RRyyPYIJQ67R5MSg4c0f\naj42VysfH7Tb6d+fzlQf4YD2VcXfagnuDKRNrKvjp60ktF8BdPa2psqlNc7d\n7/eTe/x/z4YudqYqN4JXni/1mtnNlCApMKjyXlXn2Hlbq41id15/dGLazr7x\n6Euk\r\n=StNA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBztRGdAuernnYDwRoNmNpe94bXPE+4rSoHntH0//R0gAiAhTgQPCNI/eA/3fQLQUo5ca3BVT9NONpPt+ut5jmyk1Q=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.4_1582848403113_0.9716014633059913"},"_hasShrinkwrap":false},"0.900.5":{"name":"@angular-devkit/build-optimizer","version":"0.900.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.5","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-BdmvD58DnAAf6/o/fRzU2l+2g4IwuIJf8x/rd9AGWd7fHrcwgJDhB9rYetB7JqYR8uOWk+AFElDpvNOj8YUy0w==","shasum":"7b105b7389d2f2cba7829b4816ea8a3cfda9c0e8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.5.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYDS3CRA9TVsSAnZWagAAdUkP/0iOYPimvuF3SPjNc++7\nicMuWLgV0aG/NBVM4JUAe27xt7upLz97Lbp4Fo5NCQ2p/5YwKLdpR7OUlqzo\na7vkHybdD1XQRqf6MOMmmuFc1BBZUCLS9FGvGMzYp3Jix5AnxxBLD1mTB74S\n0gT+KJjHhxmMokFgMqnO7ofh0UB5KU8nP8vRZSAkdCv8ty+D0XQQBKVoy4TL\nbtluvh8RJAuHktezbfi0O2v3C2lrbInsM8abDUGsQWNJ2+kt9SrWjrPUkT1r\ne0yjWdoH6LaZbJmDu7GJ+KkQmuQ7vJDMlUtJlVSOQjzjP3u2t29o59i8MiKJ\nrl2UW2Z+3zCsHHIpeHhpCL1Lb5gLvF3j3vHj7OFbivTKRcq+ElIWP0QvbEkD\n0wmjEmF/G34xXxhVYaiG7l3xotV1jmgDq+tG1VyOfXpcqwpnvOZIT62nNrsz\nIlbuC+MbvDwIYNYO+pJs5SehOEZ9myWEuZjWqmQepNehpAN+VUJ8uK5OH7SO\nYkw8C2gP0lPskKTpDzcSOxydbIjmG7S6oTS9z6nqoMULmf9b8M4sBzKJm/hk\nMSp1Fv2xPklTKfedYBq0X3PoImaki6CKZ+mecZZuMLZOUGzBsdNAl6Nr4a88\nrj462gaIoH1w4qdLPXka4kWfx1HZkIhw0Ho1NNnOPqFw7BgilKkXLtQT7vFq\nTWwf\r\n=rY9t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxNvONOH2c3xYdhWVKVFcInZjj4PYKs9MPtDwO74DYjAiB51ffLvC/UMjuNq55NPoXE3Evurg91xqWV0C9wNxr2QA=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.5_1583363255275_0.5974636352753293"},"_hasShrinkwrap":false},"0.901.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.901.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.4.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.8.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.0-next.2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-L9iqklO33emz0xG/pvKnkgrMY5mRG8RwCVZqcEUbf710mI8EbFLB0ZmNXTrPueOc8vksxTkqjAp1+1kO47YoCw==","shasum":"87406addbf86cfef1dd915df285b104f820fe4df","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0-next.2.tgz","fileCount":34,"unpackedSize":94150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYDWECRA9TVsSAnZWagAAS+QP/2PKlRO9Xgs190ytYLNQ\nxm0zxgxdIHn+GF90kciY0AtcgnwKWD38SiT6lcwox06xwRMgn4aWNOQ5Xl9C\nCbQeRazrNlJWDdsj5zY/cIp4eNr3WrhWFNUOa0/f+MZDlmtcVkoyW4tICUWv\nJx//CAETL6Wr/HUAxQ7dDDxNE2rtzOgny5ifmQzVjV64HPvxCqz8TezD8RLC\nOPEfnAS8Xb+SMjZlbtEKeHq6PGatlxKzFrdhyXSgoTcprPlArv8J7nOqy3H+\nPhAHX5qFadqDbZgMhpla5cqV3cqKtO+D6RfOTeorYaVGEZ4VZBuxdTtXn5xM\nj7B3b98AdHcK59tr8n8YdFoWEjHLR9w6460JFwKLkzE26ybiJK9bTILccqr+\nUu76/aEHi+kK8HQTadjVu5XxeKQFN53ApHzANxdGS9DLWHqPL9gU33RjNZPI\nGtwlxCxMwFGmpb0boJFq96ffwNKSoF8xhCSzQmzEGSieHT1E2I+aBr4/UI6T\nnpn18k0Vi1cJCeGVZXdfxv1W5VAK5DsJt9gfxhxfMM5DcNKDSZ8evBDzuaWe\n9G69iAKDXqWlULvE2ueX6ky4uIBWIYmqT6X6Ky2YaiY1+tivsdxo9IrYepCC\ndO0NCUSyInKL0I5cE8KL5OzsVNQO8GYIyShN+Yxe6kAswJpyv1bL+VZ15qcw\nr6x8\r\n=Xjan\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHX+bPWsnwjlrSkmrHZRtCNvGc77ZH/cVFS6om47q9fDAiBNPeXxYqt+esUY0nty7FSHvV+pOJsnJtLmapdXPuW5yg=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0-next.2_1583363460242_0.7607213779292852"},"_hasShrinkwrap":false},"0.901.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.901.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.4.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.8.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.0-next.3","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-oWB4xSRhtrCoPWdYq/FmnlOw1im13cyblJqazu43n1cp/4kFo468qrb4ukuNwkdqd/mkjRCtmobVuHbOs3Vayw==","shasum":"6c15b6870dabee0c3d1731aa95bf9d553d6a7d63","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0-next.3.tgz","fileCount":34,"unpackedSize":94150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaTE5CRA9TVsSAnZWagAAn9gP/RYO9ONEgut4VEO6XfrI\nw5nvRDpCUrTOr4ZDEboaZxJoKwNj2kiz+XHF3/75EMf+9RetqfNHf+cVgNjh\nfAiDf/9IWjCqnEgO+DmPu+THwfT61xAJJvR0weQ9OcPP50kGG00Txhe3LVAo\n0ojyzBAHXd5PUr7xVa5jidPxuxIjLKoTmQnRvHKrFXIX1BnEyrUgxrBVjSPU\nJATbYlkjJUjsj3h/U6McFd7+j93eZygpNqLfIlRp5TBxm7W9n1LYdchrusvE\nhFySEmkTAshOFelq+LBOf6qJujX24wKLPJAVZORP6tAk8BgCvpDPsMkyQfxC\nT+5V6rPNg/7MLvJtRKI6Otk/oHGH3po4pT6DOUNqFBMf+H/mkInhwxBcKzPr\n9QnEXC2UgB73NW/pfbpAMuQ0/zuJFgg1Wj2qKl+Wc6/VPSW+qVXWtG85OQrG\nW9Xplmd4Te91bHI2kzTEXieFjrLvoyjQpHP/H9EExv+PX6UyHmZgiGXQ1smr\nP7Y3Fm5NSLi5OpFE7ufjhMivYAvOahh0LRHILrsPqXylwv+MEv8GvYh/UfYi\n6o41CPd4fbLuVAX5bmNyrHKOm61mNWpWyzhCSAtnS8X/0wdjzSJo1T1OOynU\nFMRvVpunTMZtgmA93oobGHpTEsoDj5JLVpDoW5K9W7doIYsmplEbuQlJoBQX\nNkGy\r\n=NzkU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZ6jw3npMqCDzezhLfROdlYNmaQogvp+aYKd6ympK4GgIhAO4SbeLJL1AMDl7SpttmKDbXft+/guMcynJaspf/TWiZ"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0-next.3_1583952185567_0.8791439240032437"},"_hasShrinkwrap":false},"0.900.6":{"name":"@angular-devkit/build-optimizer","version":"0.900.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.6","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==","shasum":"492c8005574fc5507c2b408301749b183121c2a5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaTI8CRA9TVsSAnZWagAALGsQAI05MBJlZSE6TcFMCfHt\nHlJJRwzzr9YsTEWCDpTKb0KCn3me7lHCKKBKiiZQWGpSG4J4586gRSoI/Lnt\nVOJ7vZc42LCnzMem0Soz93yEhJAxp8n773vmb90OiC+2h9EYppNuVm6Brs+E\niNJZ7+Ijc291UHIqktvUSfNtl/pIviAZ14D7+6OPNhp2SeOaK0yktU8nc5l5\nwpyd1zgBB0MQZZcQUkjx/ZifD3q2WDrLxaPTL+hJaIT6CKgS25S9OO47a0Hu\nyjBnfJZMLY/SgJRq7d9Ldc5c81SrAoIGGPHKgwAywAUWZwbvw9qaEZzk74pj\nYcKnsJcXzJpCyzrtW3qd5OxJOOGyH/P0FNhoZzAQMsetlJbCgGIH7SKJ3S1u\nh/0qqgjFOpUjPj6MTpdtpTv4kxk4PCH2KxsT3J1xiQ8nH5Mlx8hrWFDakBQ3\nbIWE3aASPmDMilwpHSDm5+zQcM58cIZ9TB8bN0gQSob6ZaUFSRRHNgXGrr7u\n6tKMemGj1HAwvPhEGa0QIqZO+c41YUU9QAxpZqlZDSUkx6u2GuLZWfEZN6TA\nGL0Qcfmswr+Pyw6YsSnvZXZH7aeTxmRxGgASJSbJck1F6Uzm4wENdXm10NfL\nBGt11XDZ5lnFQiCuVCivo+AlpLABUp6gmtTeWfJTC4+eEa6U0U2Dd5J7NWit\nEZK/\r\n=O4hI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHfYW7A63K7aL+IvTQuTWbS8ZelTOBzxfe9WOBCg/d61AiEAqNsdNG+mz8X7dNsRJw178MVhXpgbMmFKAOC0e7A6XI0="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.6_1583952444300_0.48256821591033194"},"_hasShrinkwrap":false},"0.900.7":{"name":"@angular-devkit/build-optimizer","version":"0.900.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.6.4","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.900.7","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-gxin2oPNMN+PYo82At2JP1Q+uxnvwyDFWA1Wl+Ufuc5zHGhjKqxdQjkdMF7OT0ihtmkllN+t/NTB7rcx/Sx9Wg==","shasum":"cda2cd1034ee03ef02a09426f50dec920e56cf59","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.7.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecuM0CRA9TVsSAnZWagAADQMP/RRyaqN7nHUeKzbtJVwV\nDwm3CfelacTC21TrtoRSAM1f6z3mfXmOdeDGkUU2D0GLhFm7ZxydykEcUHHq\nVD38uOq1630WIbWxvYAijXBS+mcQQU+GNR8VQvZ9TAE4FU6UhwTRdZW7dQHz\nlMEx32qsy42xe1v4HJ6m/3+370bXwPUb2VgrIjbHiEqnXoWlaLj7923Jr1Et\nzCHesP2ELHIYKBH1B4EB989ZLntxe0xRQ6Eli1iyR0fLoxL86a7rsuglPEym\n0MEPd1BksAsG4RoiPO/ObfUWYUPmzOGNObCcZ/sN38aQlicJjr7rVfkQYU0S\nPaUl8LFT/lxsyDkeNHITAeqjt4lKMPYK5k7EimERAAAD3KP4cHOpvvPqQDWD\nLMvc3Z89QVTSR69rXozGmJ9ySByvHetyBZQ8yWVaAoLsW6zo69ORl5zYoHdY\nKMcRVDCvaSJhMdmkrB7dyZHvy2cgMAzh8T2SFUXxex/IoUdPvVDZlYN49E0O\nwnDk+Nsd7YxIrR6al/POyhcpWHc4fREKFHpOg+ujgdnmCQ6lees5SgmulUHZ\ne4qRYWdwCSXzROE0nWTlGPYOS0Jn69pl9QYQVwzePquwV/z6tAs7sWd/obF5\nkTekxGZmg+kYJELLKKaMzAGISCQBqkfQt8lzT18rQKetjO6/kqgmNaoxcPtO\n+N8c\r\n=yxyI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCioSu93xOro7up1+iJyItu9CHFhgoSP4FNkVqIJQSAwAIgFy+81QKPM82GuLB8VE20jpIGUOyF9JCYPv1DSVaxydc="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.900.7_1584587572392_0.05814043621576759"},"_hasShrinkwrap":false},"0.901.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.901.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.4.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.8.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.0-next.4","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-OPKewupMF1IwgUTZSkbrYsgRK6Yrr5mxTvQJURkQsGZC+gI9JhSMsekah9yc1+VtibZGXZStvexmCWpHt5Tz4g==","shasum":"bb1e5fe6c5a29565619294db1ad39333163720e6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0-next.4.tgz","fileCount":34,"unpackedSize":94150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecuWhCRA9TVsSAnZWagAA5QsP/jLrwXEAdmwaDO/biXfo\nHBqc4miWRaN4eMIv/T7MaD6OcgPWiLU99RtR7XZG8qd9QWzpBPCSXuZKUJ4y\nXrJUKi7Ne5Ru2v6DnqjoS1wik6qA25vnjrL/j02zkWJL3u74ZgJKtE/DTUU6\nPprz/+lk7Et1vzkSiLYfFeUjITmDrkZVzcQsTjEI0z0SBN1SpBlSqbNZzO9X\nlaXJTZ1w+Ck8TR/havE9502Izkou5xtN4F3iVNBcz5r8PoPEVuR9YqP/iwyC\nsp/PTyNgTBHDieD0ttWxwovTAvGrXXTFonri/hMu5BOhz9znmmNLHWRFTs7l\nyDu/gDeVkokeB14qaUwbFtTO0Bhg4ogkRNEsUmTiKfI5unyj7qs/iBNRdGeL\njR6Zg+riF6mC/N8zNvI24zwBKwIR9y/MXMT69/GN213Hc6ARJ2/BOJovnmiG\n38dSHA41TYoN5dbyh9ZTNYyiGgpEb05QaaeHLz8P14LaBL/OuezBzV1Qq8YO\nUlkORRLq8AJmYk1YB+QNvsLcalUJSwuuyvfSnLRuYScPbsNxaLDWHq++zv4c\ngefixBm2OFXtOjMVuzIdIwwdWQ4r8sSDS2jsoXcHYLsMImR/cEao05Ixr/ec\n1Km4H9MsJF8YSiu5ANblcdESp+d08CxQ6wyhb1bUyOEVH2Thws+FYTlfOAxS\nVaAe\r\n=XVWc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5KTlVzWlMJh879BGLJIjUHB/Q7Kg1HpHjrN9uxBuOLwIhAKeKBz033+xxQxAN8VtLOoEKad6GBw3k/rgVKWUWU8SW"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0-next.4_1584588193062_0.686978092308056"},"_hasShrinkwrap":false},"0.901.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.901.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.8.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.0-rc.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.3","dist":{"integrity":"sha512-BRmcfIwNSfj6UpsUVuiuASNpskZUK4Sr/kaTEBJaYICt3sWi9sakyt4qRJ/oz4AMoj3z/t7u7i4brefeJPSbhg==","shasum":"2bf1bb1c620afe05837f9f35f1b86b41978ca0dc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0-rc.0.tgz","fileCount":34,"unpackedSize":94148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeVCGCRA9TVsSAnZWagAAix0P/3Wg0wqQY13rC96Ey+bV\nSq3PlcwlJu1jQy+hp7vW+STFeRQdnyTCSTv9/sdPaAZP/2hoPcm/nf5Q/lNf\nm13CKnNWXK4WNa90EHDVFSy2ujFPUn95cHzYLenckFhYw/LaE6IKcB9wZ9X4\nCC78EGf85Qls/sPrAHSY8NcI7MlgUdIzzPifGEUHTxNrQrWzN5DLTr8jQSrp\nf1h13XLfQqG6sW8918yww+1LGdQbaE9SXqQIuER363FPapq48sNGFmNBnijK\nGXYnsbeZIvubdMRcm4hgfDh+Qme3I0FushiM4IySepvxRw+Fw9KmLuM74YeX\nZ+xwsh6xO7K3/BcOqo7daqx8/qtMVBI58PB1XaL6jM+wM0tK45jdZIrwCCHt\nvEtew2ClLuIjFtIwJYBbeZITD8wKaILEZqq4r70xybAmWCBqAANp6jgXoEI8\nYn64BdtXH8OLovuavoYdl3R4gBzr1ELJZ+PWaulAWTIcalLO2OVLnt4S3Tlt\n3EHi/aQwpUS6ishhogPcrHO94FNEdfGv+XD9VRqcRKbqAkhAfKDYVS2n4DUz\nD9+paCTpcEz5JpQhQnYvlUTs2EwBLUPv7qrErko29+2a7JmgxS1Tl28idswQ\nayMSmz3YTlw4j6WxY39e9mHdhspDNPPkqJtH9FEXol/aQKFRQ9VJqx6pBH1O\n8V6d\r\n=kRyh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFC2w2N1PyuLcUTIDdnT1lHXLyjJD610ZHhIcB5EkwoSAiAY6dK9rb6/2w3uZ1OKSkkKAw2Mrp8xMoxpVuDAq+gT6Q=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0-rc.0_1585008773736_0.09371995255368204"},"_hasShrinkwrap":false},"0.901.0":{"name":"@angular-devkit/build-optimizer","version":"0.901.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.8.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.3","dist":{"integrity":"sha512-Y9sz8uf2zjilhPUVYb0K9Mio6c1d5c+csuDc15CCKzELXJwyyDxilIFgn6Eu+edM0HNQGzbIwkjy4DkR9mtuTQ==","shasum":"6e6262294a74de9ab2e87fd05951dc080ec12f4a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.0.tgz","fileCount":34,"unpackedSize":94143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee7ywCRA9TVsSAnZWagAAs5sP/iCpmLEUirocJDk3EK01\njQSmZg3yhG6xN2TcdN/h5jXBxcggV6sgi+TnR/8btAkOc9stmJhvc+q7t+jw\n1ZcUlsro80LP7uMWKJLCYGey2Q1nDWb5dO6gObrz2KMPWF7b8ojT0tR6A6Q3\nMAlPbdbwEYQnPVzRl85PZW+mXdZ6wedAmTFUc5sZaMsIqfd8g352ctlaME8o\nkOi9OwjmvhmWz545ua/pBebgbKwm1VNaSh23fSWL27K2nc2oP+zrU+flAaZM\nDdwH0qGqisuhdKY5gmV/mfajPRsrTbpPcvjOg6ja4EMIehOSsOp0Qa3yhntc\nvRRRgzVqguiD215gc61KN27b1Isl7eHx+l19XCAjzGm9xSMfvBc+qsZBUvqJ\n7E9kKT9XWHO3rxQyuB4vFf9q+ByZViEdUGTm5TIQ4kG1AQ/FBEtXasnk7E5M\neJPppBlj9M3KpA4tKIb6UsZKzPSvvBl96oASqsbmGozpFUdh0/7sT9OD5l7X\nhevEAjkC8H8F1GyqF/+KLWfkpbxdmaUghQq9LAWPr2YFYf+rNLIj02ydkeOu\nzFwvfnqwYYmyblGd9AgXnRR4xe6sLy8NTIYrLRbm9jVgHZ42Uo/+5dHdw8a5\nOH3KdFdZXhr0En2Pd68KJedzNii3CJcUhgzDWaoG9BUCySLAMvkPhpg/O+ny\n5HHw\r\n=GS75\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAkQg/CYdcPip9VesXDHZtJJm4pwmaRLS8byySV39wTAiEAxyu3+arcg2AqTSCEUlzQPWWhSLwdB07LIC0KZpL16SM="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.0_1585167535955_0.5961546141958547"},"_hasShrinkwrap":false},"0.803.26":{"name":"@angular-devkit/build-optimizer","version":"0.803.26","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.26","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-rVcMV/HaWK1g1XVbB1Hj0F6icNbguQETxilhbEn2Ut48hT4iywam6a2tz5w33YlH0uspPHwtFrz7EaLbiWUrPw==","shasum":"1e11e00fb296c1c0f6f78f1014392785b42b4444","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.26.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegm66CRA9TVsSAnZWagAA8EsP/AtbMU6CjnemEsgL0OU7\nv4rlo0/J1sL7QwtTnnZWlpl9m16hx4eHTkeO2HOSO4cznqsdIKZ32Nz+XGBI\nfza4Yl4vIX70Vhg6QvvRTJoTzd6KV/5yzMU1xNVF6qD+fSfqUlvpXmPaunqU\nd4X7SPQGb6i12Me+fORQXYjLWUxFmR46RCnB94r+lHSgfxqOprkfdYhqDUsz\nTT/jnssXYFUK15jtvTAnRaA2P79BYCQGyFBtsk8YoklCNkv3wlBQIsQ3fUvZ\nYlultigtYMZbz/7DoaTOg4ECotaj+RYTFpimTVmPalGEf5GhKNm14ub5gqtX\ndZge8p42p9i2arqwbG79strCUP4OGN8yhjFeX5Sdp+Ftz7oZMF7G5UvKnYYK\npkJ5C7Ax6EAzM35a978SZeta6nNV2reg90e2P+lp7+Sw6taF+etHt8ZFS9CC\nem9fXP4qYDuQPPTl+Gp18KdaBRFnw3otHsJt1Ws2EYu+B/Y865KgPPPSurX7\nzE1xnkMiY8cIvrwx9nsgGYOuVaME18Ry9VwM1v08GiZ1sLdHjy3HQltk1N42\nhK5Nlw/GCeSDWS1DtlVy7Ou6daBPr9HmxFRMuW+LwpBgCjISJ/WRla44QCVv\nWWQ2031pewYa2jlIKdXKjYNbwF1HGcCI9s6/Z9lay1QdmvadKbjdLD2cmSOC\nW3YX\r\n=hnP3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVskCg71iLn8FiqQw+izL/ZYv0J/TRqKqZWYSWv8ruMwIgPCYjeaPodi32t2pkShizU8XszqjbHZJ2EtU1qEvlSBg="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.26_1585606329892_0.47522254376130646"},"_hasShrinkwrap":false},"0.13.10":{"name":"@angular-devkit/build-optimizer","version":"0.13.10","description":"Angular Build Optimizer","main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.5.6","typescript":"3.2.4","webpack-sources":"1.3.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.13.10","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-BbavzPeuq6Sy9uC7FwOQ4DhxXvd8xsFkW8t8bXemQwHFP3BqrulxvelVfStJMN6dvXlC3BKXzFQjSX7wAocSdA==","shasum":"c4c23ec8283a2cd9587246337dad3ce7a2114cf2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.10.tgz","fileCount":32,"unpackedSize":284373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegnoDCRA9TVsSAnZWagAAsP0P/1DSQ39LEKU9VNI+g9uw\ntBWpPVprDW/BgRRfsc854WOWLbzkldUd4Jvi1WfgfxYy0pskkxRj2sf7pQDK\npXkTwi1mq0+Z4hzDXM6ynASWqkYNWKsZ8DoIeiiDrGhp+njChpqLK1LnAGFg\nSoqk68smfUmejXuHAkDGFppprSQItb6az+JQ+zhzPFd/OvwvtzzHKSGcPtEO\n7m3NktA6YK4at7K4HsRh+HuP/2DSN8oPH/MMF29D8412Yywg5c3geiMnsELJ\nsIEke+k1CLaxNwG8n0J9qBflpVlBeihg/HmgC763jqXg0YI3BZXcVbJnpbwL\nsljlpgItB0dZPUGDqvY3/fj0tSI+cJkPlSC9N7+7OMD/ClrVRSUsmhIUPwND\nTjxBn3NUP7EV1HvYUqBBGgeu0Y3qWUx3N0bPM0xD2UiusTiOZIlBfonfcW+b\ne6HAVK8AN9ah9tH2EM9SaZe5L3t9ID18ee/lKCeG9Z8D028gBGhR601JNHCU\n9V1y/kjRFS1BAUWOvYLIGZU1vTDEcmfRhYm/rJVT7/Qs4OcwpuqhJN5Zx+vc\nyUlaIIlKkgMj2magAbtRdin5l118VM3wDV1Lv1dT+uPbXdpdwVzyIpVwAAcK\nG658512kk3bFqrCmLo9GIllbHqbtHV0yDim1M/7zHfWDcBZ74xVxKI5QWsfP\nGAZJ\r\n=x0ye\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyHUjeV/xuNc6/ndMVljzIHdQ9h/o8tTPwlzAxMMXH0AiAJikZ5Imm7bB4/p10DbtC5XIuVuYVXzsgvYlQAwjXH2w=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.13.10_1585609218973_0.8810632958266"},"_hasShrinkwrap":false},"0.901.1":{"name":"@angular-devkit/build-optimizer","version":"0.901.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.1","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-o0A9CcyDQSUnC5CQIKf92VH8amIYRYrMgLf2kdhSMcy0QV+rEJyN81dSvwX/Yxgnr9NbWEAQg7jnyKk06vfhOw==","shasum":"49d7385c18f49aaccab2545ab2829c4d52e29b18","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.1.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejhrmCRA9TVsSAnZWagAAiDMP/jghv2QwOpcC3cUuZPzY\nV3EtihuziKB8+P3YXFWyMYKPoDTdhRaLM4kpn8FkRaFJoPDzE5YrpBdcI6gt\nT9uP/hrvwP+8vgvQbGZ04bZII7UyvsomfCsomj3jJS9CNj9KOlH4gnlFhpUO\nKp2m1qLrO5JfuXP5kUwSn5+Ki7K6TfOA1V/uozRl4BBGOqyv9D3l4vInNM8r\nqFodnzfL8jq0EiLqq6WqnIpUInbTINzsLU7M90ImTze5KTA/ToXWiS03mLqf\n3jhOX3UcbjMYIUIilCmVk/pv/Cj4+K2mcM3eRaq+dKwUCOUb14HlJ7xiG7+h\nppCefKiLM2Ea+2LmzHPWRnCkSEvGGpVCs1DQR6hon6ZAYGDA6+T13ZW4eK0d\nvk80SFmf5cQHEn8FWIqBtads26/t4S0dCJ0qY6iv02QxAA1q6JgLsa3WltBP\n+W0brTbBSbZ8Qa4zNHdlDZnbA96wUH/oqD6ZzelZn3MI5pSg2K5P1ZrnyOO2\nEFWNc/PU+ZURW3ClrxhLUt5+wO0pTnkht6yLQhotkKtj57rNU51HIFYQZgnI\nRAmh+0CGL2RuDxpksCaSWYsCnbLFsetXEx1IHLRA3/4m5pGxLdq3M/+kXQj3\nxfIgfWre+QN6BDw20Gu8NzenIDJfRPeiodgrUuPTzMW1A1u8oeICPL0FqZGn\nbVzZ\r\n=ra+u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICekRVHOPCG30JXlD8VRSrxohP0MPXeTSjzllzaWrS9RAiEAqrPpMhgrG6V65ryOk9uesOTB9cXbva5WUkrH81rxsDE="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.1_1586371300447_0.2599969796600512"},"_hasShrinkwrap":false},"0.1000.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-pjiP+00V+SGx9Ss+8LkproQUQq37b+p3JBfPDMFI7eRZmQmCti7nqlF2xwCm4uoOhzPLn1KO+vmQHQkLeaDQqA==","shasum":"d84dafb52882964e5cb7e192e9ac8ac65b1b7a52","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.0.tgz","fileCount":34,"unpackedSize":93927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejjJ2CRA9TVsSAnZWagAACS8QAIjqNq2TSVkNJb9tryHG\nUZGUzelQFyzzqQkKMtdmeln7aLP7xOKkJF09PqCtM7XxnY6dZmNOtjnXQgq7\n18Bpz/mq87yPtQfrbR/2gP9JdMJw54qdulWZq4j6c7R/5tJqo+L1S5HQ10VZ\nk8S/5aIMm2byMwUPndzoGVeHKlqB2rvtfyILVS43oYceC4EJ4RSAjATDHsGU\nWui2xboZZofIC4J1fJPW4u5YXBsbCs63fphOm90CeccQG1r1RsDMAfz/o1TW\n2NgTCGyWXYZPKEtCDu5vFmCPKFSL5AzUry0tEnvj983DN682/7xODaKA/4Zu\nUAZn2T4ERmX4tDTlbKavctaDN4s6QRLEB/96dL9osboIcWIWFL2wptniZtUU\nzU5uGUbu+dvW87MkSKNAtkz7npGK3KSa508MF+5XsOBwAQ1AkVlwWs18WfYQ\nc2VBGhfY9gAbrnxLolvmcd2Tw19yyTQubo509TtIns543wewSM40+M0Gu1Rx\nTlRcnN6duPrkRPrkjMtJOFMw53pMjkzbVRWPVt4N8gHSIxp6+hqvuLcVO01y\nG9GVapbvqhY8Pw4VoCCB/fJREWMqsF3w9q2E1mXBPng6/54rAW/BgXFqwTl9\nCO2A4SPOT9mofplZNbXm8bwR5B+rP20QvPnProadUFQ8dzkmRNnWUDmH9MlX\nt8wh\r\n=ngcY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTqwAt7ZY8O301I9iMB248ESpFcXRUPk/lKrBdx21EDwIgQC8dUmPUC626oqmsLWTv4n2mUVetnhkP4Iz8hU5A4zU="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.0_1586377334107_0.4151598061149089"},"_hasShrinkwrap":false},"0.901.2":{"name":"@angular-devkit/build-optimizer","version":"0.901.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.2","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-eCbBAPEsfAeV4p10cl1mG0QeniKiCr4tTbrUqUuiC/5c+WaPVRJawAiA7VSUuEjM/FDCCCPMNHG3/hjCkjRupQ==","shasum":"ab8ec72b5e695ce367ee60350f6b43f2e9cd2c4d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.2.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0SwCRA9TVsSAnZWagAAcT8P/1jN1jouYDVRktQ1CVAL\n8hcKSL/AIbwHZQcDn4EwWnXJo7CLAW99uLyovQMB1vYsIiHuR8DZBrNxpZqS\nPbeUDnuXcCXOlgFOQ+xjRV1paE1ApbMk7KrbLm/u6X5B//NBNF+gtJPDg48P\nMxr3wgOAmZCla5AuWVEnoyqTdJPZpWs1qyNHuM8hM+QqP/PA3WnjBCraq0Vs\nnfdKB7Va4c7/l54shHizUy465dY+uUcb9q7PNFG+v//iZNOvdwuvnni38qKs\npmnm69ftAwW8eLEuiO0ia3KQndPj2EM2PWcTEFlL+Mi9XXSPmGV8/SB0YUBw\nguunVqA2hsvvP3cdGoHHUbejX1rMDpodWpGi6l+D6QWxa3rnyIZniHzq9MHl\npAWqTU5i2HrlbWh+vCFIy2NbR0oW4ncCrgedKLf/upzkmsALBf8aKI7FjjOi\nP/lx8Y81vVva/QZfgNappr820p2ILjem/+FSnyOQwDKB48pAIwbuVYoEgTla\nNVFEwMcMr7XO/vs1m5/fFKZDINGxM4jw7PWFJaIe+dWIDoBshAj9W+kNwtgf\nJX/nxhJ4DoF0/hVZfmMK3pLsN1E+HdedZyHGR4d0tiCJ8wB14DNqWlEtCLMd\ntrAFZKoQhEHCbhWTe1GzCFSVEEH3E0oCsKtHAEbVYdsiHwJxqanzjL5sSiSA\nvqv+\r\n=MEFF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDHHpnV+LVLlf9z/deQjfX7zhJlrvndEXyYx7FiYEDkgIgPJxIYeSxWDyu/RikbThvijfSQK7++YgAoq8z1vPAH1o="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.2_1587496112086_0.10049303620188943"},"_hasShrinkwrap":false},"0.1000.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.1","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-5cQ0imXo0VzHIlZAD1lUwuY9yYL/IdVh8GsildNWNXsd4LXM2XvCqiVuaHkbvlzqPwAHSyjioq69rhYcKrA3tQ==","shasum":"46eb760fda602f166e8889e36f1114b6e5b9f3fc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.1.tgz","fileCount":34,"unpackedSize":93927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0YYCRA9TVsSAnZWagAAi/MP/AnlRdJSu3TxbSfVK8fC\nsII414FEwkYA10Afh3rij+OBdaiO2L4QCpMFK8RPBVGMhsVaViTLL2zJqPCy\nndZEDJ4WsYpMB+akQxmVb3CHNf8Ipd+mhllaOLsfTAcURY5GXOaNWe5dTfLt\nCD5/onOIQLiZB/k1KXI/t6LGv3Z0GDq/U6mhzQz/rCT8HbCvLqieIzEG28MM\nH8aYRaUVLbeogiukjuyazvs/pbxDzt7yF5+ewlIiMJan1nu8YT6jZ/npPVBS\nQQNIWoYQ2jMRkkTCmGIqvLIuFfj4ChI3DdcSDzklVO+o6L2hCreuMwDp1zgb\nQbDBBcuUVOJwGoabd32TAkhao6Xm3t8e652BCGZsEEM9L9g3J5EwjlEd1qrd\n7bbu3bRI2be/GjRq6UoM5jXjl4c5cJ9MF4icil1qbLVFqxWTTBS6kGHVDMSw\nQvH5Nq4WE6JNVZuywNUqdsE+8guvQmGBRLxAY25l5vyToueGe44JY0ls5Frt\ndIiwTf/aiziRhd2EO9xwbs/huCZYe4lAdFwjK6kReo+TMk61/1A8CQcWsNBg\nLX/sNps6kbWeBeBbKEdvUpWYWIwOj4yEVRmOEdErqTn33pXqv40BGkvrnvlj\nWkeP2CVOK5sFL0fAw3P0y0NCUu+0IjCZjguGti1NDzcNf68B9pmpRkQvarus\nkleA\r\n=+dJp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBRU0myVz5OMenBfneNNxB6kps0x+HCGwXX6fF2RpcMCAiEAs/2JKfm7qonZMmkVI5b6y2sbv9k+6GcZSYU6uwixpCg="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.1_1587496472442_0.23918230326001044"},"_hasShrinkwrap":false},"0.901.3":{"name":"@angular-devkit/build-optimizer","version":"0.901.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.3","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fLRiQ1egH1qsmj5GMJ4ZWawtUYLwpIz1hKJ3WwAIFEFJF2+CDWhO1feUaXZRxPf5qwoj8S+8cSWjdcnKLf/mBw==","shasum":"8bc5d49625908aa23095b894d57026aa2bc79111","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.3.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoKy6CRA9TVsSAnZWagAAB6UQAIDIbVEn9hdLstCQb/F0\n1jc0Yqpt68Jt7zhnGsx4VZlBYmbSOPjMMi1sNkx30xFMWYT/BLfMEgT6pYhg\n3Mrj5DzcaI1AKAM9N+cHHabimcumLbhMG9OuiYql7ZGg3lXNWDdb0XNqEBB2\n0sutrFriUBq9++wmaB6EO5bcUv6FzYg4p82R4pPC9erUK8/4PHCj4PcOVwcf\n/o4Qiu4zHB13WExLD8HcodoNcIlsW9LP+S77ro6jMVK0mgIQoV5xAyhaftFS\n8TclrPMgiYGA1DgpZHO1URlFr2R5WhMShIJCiE14iVASFNZTQk6gpwP7/UwY\n9AiaHZP4KiW5lK6JyVwNfAWWNTDF0sZxF56Ems1o8g5c9q4rBOTaSd0YdSsA\nxykgXiVbTnNMyetEUA6GhlQUlIpxQjoLs2T2PsgRtj7KjA62HzgQ4rAQJfwX\npeD4Ljm0Vq8VG1UZmkLV9231a4aFBkQ3Q9P3BJtevLXfPCtN+UdH6m2O3Dfu\nRGgecC5k9q47gNX496gUIgGFG6UsgXNFaWgAmMue8c052mZKNlvOb6z7+l79\nmO+OyqCb3k7o5ozE/YfXrqN8sQGP3lYxN8JsO8Uqojc796PA3Pooc//a9jf0\nz0JExbqxuRMGaIddXS0G4d0W/b9O1uPEaONlFLas7ZdYS3m3WrdIxnPzCij6\nKOBb\r\n=SrBL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtWyyM3A3hR7QpM17WJX2kCRjTS/zTtOguYHxjvysPigIgR77QljovWatwnXTYdpY7ImQxCXPjIkg/1bEVgHJRYj4="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.3_1587588282277_0.6674241888394825"},"_hasShrinkwrap":false},"0.1000.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.2","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xIbUGKc/tXSurlZkF/G8FKslgeUEANBQ6C/JWsYsX0lrRU9QsgFO9NJYaWomoH/gzcjDkEKctEIMxU2Wi3UOeA==","shasum":"0504828ec9c21c8c711a78073b9c0c5caae7a585","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.2.tgz","fileCount":34,"unpackedSize":93927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoK4xCRA9TVsSAnZWagAAUQAQAII/Wi5PNCU8LZN6Oe1t\ndKyluwyeVL0j6qD9tVAeAXugSUhnXhDENII1peJ3yCwqCajyU5lICB1Hz3jC\nvIQqyo2Bf9Fksdh6jkTjktep/usQlaFHw67fCop2GweI4SLQRNeTUD+TMTBr\noMvnZ0ZFSNyLyEHXV7IdIKNyAiYze0trUDdg/Bl8AL5yMK7SHCJGJy2xSwQM\ne4Sgsd8vesujUWPIhcXs159xuERPN0haBdPlbaeHnFHH/Maox3DAoEn3PAw8\naFbP8d0JmvYxi1ABKzReAa5oA73iTgLuok49nmin+MgvIg2GYopz8IDQe12c\nz7mn08fLq6RX7FSeeL06rdU3IRqojeccDV3h7QAGL3f7TXRkkGvjIYRduz7r\n75HLBUK8Z/vyBHEghLvh7hy/SddCKogt7onUCy6N/YfQSp9YcFLcN7Dw+pa/\nq6ekK+VV7wwHPL48XdY6fSFHu1vId5PhYKLEEQuWXYa/l8M0H6+ggTuFM35/\nNSBl/IBei7zd1kloDYeoW28snxxr+ZBRvloPjHJnVXFUF9HBhMKev2V/AdEJ\nZSfNXvgfURHsrZN4LJLSURMfBPmwKETo/SXByBxgTVhJFpwH25lNIesFtVda\nXta3QnjAIx5U/ABQyd/Iu2OFDmI1v4+D2Z/HmxwwEVVMrsY2jl3alltaT+43\nf/fc\r\n=UqJh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEnhpYEU8z6k7EXxebFffKmXCR0f+KgkJQ8vJmxR3V5AiBqSKNpXTv1dIIyQwd7sHSLx5gC5AH1DJB4VJsj2Q214Q=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.2_1587588657006_0.8558184833893698"},"_hasShrinkwrap":false},"0.1000.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.3","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-Jr6XXH7XV1GzCYzqk9k+hCI4uZMTOYzaOMk+uu0oyMZj6b2eGC4qJICxoYAZcLw0KZ4AqJZXo6nbvVpIUT4jGQ==","shasum":"26b85ddf2b004b471dcfc3614e3778ee0c3f20af","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.3.tgz","fileCount":34,"unpackedSize":93927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqgqcCRA9TVsSAnZWagAAH0QP+wbEWIlJBMc4wXpxVSeI\nuJrPLtJjthkqAFwPXNfBQa8Ci5kiHjss6CkpfDti9XXOY0L7IaDl1bEhF5Cm\n9mx1dOzwHm7+FBUy/eohx2teF7E98gz7ibX1JK3xLyCs+9TT/1b06PXoty1w\nyFUmXa+uVn3eBd6Rdcoqfy34x+S95May2NM5J0ib0IcEWrvwjDYa2TFqH4ZB\nkp6hf+yaJFD/zzzXHFxblCZ8BcMf3PX+n+DTZNblyGV7MgoRqbq2NDwt17Wn\nqjFCfg7rzKvFTLxULzV5jR9Pzm1AwoAp6rLXcpnhfQBNmVO5TIrZAaCbGl3W\nsqeeBzHS63Su7v5jXwsWR4BbmVa6fRotRodJJc0wlAh1iGks3Bb7F/byLErU\nHdSiptsXvQrmi+/fGCoTszpdXYyFYKxFcdjye5EEB8qqU+oMbcm08nVgxzzC\nO9UuuqOG0Pf2lT2tLjC/DuF9/Oz8J0y33s4UgekPDDe1QsHFfjSJphZ/dZ5a\nmxB8mlcTxOAEHP3uXbbJAfpLezWSQSvmjvD2RIptIk6LMQVFUTNX+lTbvjN/\nJ7FVs2he5xEEc9mJB9v2J/A/6tq+ZxhEFJt2hj/OFRTRE+DGsN4fy1Rfrgza\nhLLQy9d+Vlb7Nxh21h5pr0KFrVZrqZuDXM0BL7lUGwkZV2jDC3GA6oT1Fsg1\nXNhL\r\n=4D6k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6jIAgM1aET2wbLySw+Uk28fH8GdUErtiQ7uEjv0oQEAIhALuxdb/nSvXISflTXL8cuKMUHtVyP40EvOJ6r+7SAB7I"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.3_1588202140517_0.6077565333063077"},"_hasShrinkwrap":false},"0.901.4":{"name":"@angular-devkit/build-optimizer","version":"0.901.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.4","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-iDMlNRwd8ICMBKnycfw55hdnL5kCiqUjQn+aK/4uOMJMz49tiYMNJAaznXX2BFKmYSmbapKjEbzx9yMYRi9Y7w==","shasum":"a8e836d6aa687a78cf2e2b0f888e777f51ca5ad9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.4.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqhIsCRA9TVsSAnZWagAAj5gQAIDFrdCy18ku+akNXG48\n3uwotHZ0+tL5Dtw9YCBfrGH6+TRZx2oZ8e63QVx/MbaElkpQ/jV01+zZiB0I\naw9fiCbtmJJDKII1Sy42NSGXZdmKZytVmuN42VaaOK69oYYlTIHTppWtnANr\nACSnkKf3lOZLt2GQDG6Lopm4WyRdCeQTTxmfmAhH+sepNyVRZFufszqLH9ZJ\nogtaiEVGu0d4zVAqSeSUOdpD49x1182HAEtHvCwrLLzWl5501+dmc0k+AX7o\nWaHEHF1CVr46GtLH14gXzPXhDW0GhQg8GHF8yhwEIhMOPnCvsAut4H4v7X7K\nQeW//0pvwPzfaHhbuegyvohbhgd6kTegM7h0yoYkB9612aFE4iF0zalkCj9F\npEC4sAb798OR91YPcEQFqAl2SJP6BuWrmnwkLD3v+P+KMb+uKPqhelxkhD7J\nF49J1KFpuf2piyXf6tFPs7NVaawe/FnwV/fDwqYgbxzD/jWB1rnJ5IdDf8NY\nTtm6Sue1djOn3rCu5pUksM2TV352D6FDb6ZHFmbp2OZfc0UCj/lKbhTw/4Ja\nsgCovwWVomRmMIOLgao4Mo7Yeepma6y9Y/7fO9k1slQrMKlyjkqK3Grj/7IN\nKC0lSahD1A25x2aYDpmcLBdZXMzKi9WPKxfmHv1Hol4+3fcSyG3jwhtIN7x2\nSoDY\r\n=/0VR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChT6OP+xpT6XHiWxbBmm79ihe5Fqx9ZJrRHAYZhfEbvQIgdFMpBevismo1q6W2U1y8L2IgIOYBRLfyosWeql9Bn2c="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.4_1588204076237_0.18467691463985925"},"_hasShrinkwrap":false},"0.1000.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.4","_nodeVersion":"12.16.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-E6iSbQxaOtFsEqXgk3v0rCkiorS3xG2CcJcL0UH9L9o2MZ+JOe/GgRLS2shP5aSFMPTDm8mLwv7T38QtM7CyaA==","shasum":"b4f436909fb9e802a14cf91bed2f7206ee991d31","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.4.tgz","fileCount":30,"unpackedSize":81447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetbnICRA9TVsSAnZWagAA8d8P/jalAEQytsozWm7oofZl\ntFmDG2VHUMTHZvAWEiBlF/1BC9ktKCnljjWszIYzB4z14I735PAemD8RAbtE\ntu7v1Olu+5Ork0dJjBISy++dfQlSqRtbqmbHGDZRtgnAoC8qb6iMiX7+v7cg\nUfNW/xDJSpHElCxPfek2AxvAswNYVZg2QDguccenQzY0FFzsM4wHAg3vLPzp\nZA80lA5/LpDSKY/BC+lTWzmYWFqXhNSJqrdXWoBY1eFm/6H1pIu2VatF9d6U\nIpb/CL34+7rkmezkVbqHB56d2+aeM0O3CKc7YwCVFiPdK0M0tTZYjmvjB/Rn\n4daFWOxkLKZZtvtCPTjMTqKVEIQaJTA/cExZn+HZ44Wf5XIBSTuhnVlmbAA0\nm8FjYrywyrHHTzXZCH88EIBlf+ieGrPFh49xZCHjQuxbgyUUbtgwbcDFgPYs\nRFdwoaGIIwG8cISxAjBwobxN9w675O7KHqiSxiWC8tjw/4QiqtD2aH7+d5od\nfiXKha6uMNdUBRkLDFgEjA2+shA3d2WZOofNoPTipQF0G6WCplnocXnw7xIW\n/VGZreYuSbkprhz7LoiY39KKJYj7NL5U83KoeNnYD9YS0ueiT9lKNT1H0P0l\nP5K3r3W8Js/IwaSzHfBlGY/MJ5TdlMc6AO0AtrBgjmH8YDzZ8k3myWtLU/A9\nRMyh\r\n=6jLC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrdfescijika+RmEHKeYYZMhRF7Sg4ddd6hiEUbjUZgAiEAh0I2Blix64uQyX2AbIZ/f42yn9mCo7B9Sn1buV8W+5U="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.4_1588967879701_0.2464359430662897"},"_hasShrinkwrap":false},"0.901.5":{"name":"@angular-devkit/build-optimizer","version":"0.901.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.5","_nodeVersion":"12.16.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xmAMvLMSa8BvqlZ0wsC37Qop/7/pEaQRKLeowC3CCI3jiYDF10Tihar+Hjc04NVSal8ZBP9/+Gp3Yr0x61HcFA==","shasum":"e17795fb3ada71474a1eb5f6ffca990df4c986c4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.5.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetbrhCRA9TVsSAnZWagAAshYP/3ILmNCSq0S2Y7wDftBV\ngV/QKfhvpoFpnUONQbMSrSwC0uENpcBv0DudZOdUATvPShvGIeuK+soHHvHr\nFdB4SXjF0hwx2RjHY76Qh4HRRoQClbRgdNIul4pRzwEdWyDMU3+lsY8nBFs6\nTnM3KVjPAc1pAL2p0QVLWmPCMrfvdixCYAOCdxvL55PuNhLKj8DZvz2vko/9\nAAMrVUyf5VzBiAWNBwYNZeY6yW67Riu5rffiSh8rbBbKkabjPY8zmQc5K55g\nkfjM7e5jl0dWwtwI1gbSkdq318pXDNHLWn8vNSbUNg3A044VEC4KYOOFhrzy\nUdUks8dBQLxSNWzM2bkK4w25YHuXSAAE4O+aYjnd/U/PF0B1j/5rKaqOpQuW\nKwOjiuDhmnKcI4ZX1OvHJst5RNAUTEBOKx9GPC9nsp/zS3slJRpJJ958hBff\nBagGBqFzgGuY6S1+eYxMBrdbBT9jAMt1BBSDwMC6WxaGXIyQuKYukJ4u4uUw\nNUfluwt9Yy3g0hcqdYcW91UwSsrxqZE+vzZR4AryqVLkUIqCBxJCk78aQCFO\nncStKqQYFsch0MRn89CXn/M5xZoY2s6UnQxOKDgXOrcPmlCNs7BJRsa2ezlo\na6sWeRR4M3kfjXle6xXJqRCkG+5fn3Ye8CwC5PubAUoNC26zygxEOcrP6Hoh\nQVt4\r\n=w12a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmSwfbCh0jZ7DPHYdRXFMiuuTGdSSIQW9qB6sou5LhXwIgJI7KVcCdtQkZ+c+6OpAE5M7/CFl36kaZQ89HjRPALGQ="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.5_1588968161318_0.5518219728500537"},"_hasShrinkwrap":false},"0.901.6":{"name":"@angular-devkit/build-optimizer","version":"0.901.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.6","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-M0H9SrOq4QOYqGCIguGQDWizf+XL7whJjBtYHxI7jEjtzar3zkTFgzZ/znv49R56Zch1niH0mBgtDxCFFWqarQ==","shasum":"2dc85c5ae61113df16566949ae3833283864bb8b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.6.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevIEACRA9TVsSAnZWagAAPWIP/j2negXKdwekoG1s8sLt\nQDnYXp2Zl+UkDY13SwGIzcEmnfFRHTAn1RL0S9afV28YJLE/ENMy/O1U2xYz\nbpj697+4hWo63BOR2jSTw4PS+gLzTqb7PeBtKDwBBmoMWnVIxZCW0oanqG0e\n7xbcUnimMADEJP4Vhd8lbcRm7DXmiLCPTN1llp64mJoR+s9NEnW5WF2cy39+\nay+iitHFvFwvixmaOJOjkzfZYncpzw4QGnkBzlGt8S4n9IpasxRHJGUlZHIi\nRYQ+UvkEj8HYPRa/Ow3Z1rWKOoEl1aQ0Y412PTJNAu/JSK3d9xGrOCtpXbC6\nLr5U7qXKQ8E2nz7MLZDudUIp0smB2B6BmAfKHkYRrKLQftv0gy+zgbxb3l3E\nitd0HYEeW58871DEVlxdOp+50toGCMSEgo8KZjL/o/9JfDiLVDn7rFYtdUsh\npRd3GcVd0xyZUQq8FtGLDWAv7UOR1kKoqQYs+c8uBpIGj3BwZsj24RVFOK1K\nE5AqOBd7J48t8xFm/JqkSzetXLysvqvErRq5bErEc0HkEfEo+ItSu6kSeWUH\nWMo21SnNnFWsiOqT0SWO5fNQLBeXgc7TFwyaXxvJsz26Df+Zvj0Q5tNhFGpt\nooIL80Euurg2Opvyw5QT28HR1v3iFxxU0NTsChypzRFGxu9GOizBq3QQEDId\n2PAo\r\n=h721\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwOeIFV9GUn8znj+oMOHNWcf5aEnM3jeDJErD6nnhyiwIgfmLynMx7HJvI+UfVhrH5yGnPI4I6SkqnZukbGTfoHrU="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.6_1589412095628_0.003822737784077823"},"_hasShrinkwrap":false},"0.1000.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.12.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MdJSuh2aDwyDRFJ+LRd5wUd7uVqazRPohrRTnjOuNgiSKJYqFDcK4Qp+MRCuPVH/eY4B5H+JrQW+V4p32WAbXA==","shasum":"a200c4545090ad2f26faca318fc6b64464f8dad3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.5.tgz","fileCount":34,"unpackedSize":7841686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevIJ/CRA9TVsSAnZWagAAxysQAI5gVXgcOnS/9F4jA0jB\n+AENZLCbXObt+Lewz8QnqavhXynFTwS/1GYNCblJxFFHohad9PVN4W5sPaer\nIhpwSvK4ynsCgh3icnFS3VOVU6LYomsCFfVBu67Nsj9yb6nz7XC2GS+B+O4C\n3rOIvqM/bOqzbb4DOYG3xEMAIoULobPgIeyGCQbVM/3LNJixPogRFHOKx5zy\n0qK6OVQiYD9a8z0zeQMAJqy+BZXSJtISfCrMMmcqaM2lk7o9pzHm+H55lkbs\nNPwWef1oNuvyb8RMsvNH/OYHqFJH5wfn6te+HKj43ExX8xAHSp7A/+UZa9oS\nlQuwfaCBXxFUUKh10YKj9emaZW5SIpQH3ho8jKWzug1MyBN8QcP9YN0R/geg\njcRo+CTUOCkWUF+4qQ5YBLI5QpWLASwcrtjZ9qQMIZcaDuLjwTl+EbCuHkkd\njBFWUTD4yOIUjAd6KDkbKqpOw6B0JSP0IwxbTLPAnZOn3z/O4cTR6Q4G+aup\nzOo56uZTxhLT+pCx/gY1ZKv0TH2VcNvtmpNRnCYO1FkxWjwdE38TtaPeP1tC\n1Bfq5XKVt7079reJd2T0F2QGJenViyHoEA3rvpmvlsx3845ObbL/rf22EceF\n94KKoAxTncQNHHVsCs65L/GdQobLC36w8HwH2P75hJV8xTZeDANnTSwge3n0\nGO/K\r\n=EWbV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMtEiXpkbMM5Bx3Km8PgrTgr74jcFtWNZ8zccheOWYXQIhANT+HcafofYttaOdqyJc8sxcWkcdXHWGgC1eimnsS0ZX"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.5_1589412479082_0.6159747809975071"},"_hasShrinkwrap":false},"0.1000.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.12.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-next.6","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-4LBwIfjQceGAr7qERsC0iM9SojDe/aIow9DTBIc9EYWbdax912RVK5amgesgijmVramWYPfJLsZTsWRkkpAKXQ==","shasum":"3ae867ce274e839caf8ae0279bc3be1bbd7f60e1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-next.6.tgz","fileCount":34,"unpackedSize":7843543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewtuaCRA9TVsSAnZWagAA42QQAIvihBTWLL+9mzlLtUoK\nTu+k1MNhEftX3lkQWNLb87bi0BMVs16N1VCRRjoM+3zU++Ekj6RO5AVEr8Ll\nNijS+NuvCAr7QYK2GSvyYcZz3VSgnLhQynupZAOykogSBBPNshXt1prGtxu6\nwpzcGhC1lc71udrjNb8yZo26NpEg6fYzFZjV3hfnVqetaKJpf8p/sxitLcCB\nLCn5QCZmMD+Uz2LTCmfx+lYheQSnSsrV4ayQOiHm9t3myOUyXewmGpdyb8kH\nUR8qLcbMYwLAZwDmyqSlP0YEs2wxrZ7Qoevzz8uaB4QiyIoedTb4+q4tvncJ\nXetr+LHVszYfMEA/3oeTvhPGjYivR7pNwE7RCmtHuJ1V78du2HiMMRmFRRck\nlbymkLA+gi98gQAvoHineCWjtbj1qB73jzz9ULE6QUYh2kq1uni99PR2qlUr\nsVFK82sTxTb4dDJgLCgPRiOyW0VVi1vU3L+yUEL8+8V8yDwstiDF0SdNpDKH\ndaonHKktocFnz1Fi19G7bDVrAOTJo5RsEFsKanTl1ZTvPtmW4m2bCdFQ1UM5\n+LgnMzaQ5+3PqSYIKwMZJHrSvPLChZHcbhd/tH88wspDM9kRQqo5b/XwD/jm\nmybWv9tBRXHVwzL4NI/iLFTvKbJsjSLtO/JZo6uGjwhANemEmkKWI0nejbG9\nepA7\r\n=DP3K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEYQcbyaUOqTDqEjTI3sUVfIY3NSo1x0v4wLgcYDi6egAiEAi+K7J/mILsgGBPkWNgZLpyA8T+xGq1yn3sZaD1fhJMY="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-next.6_1589828506255_0.0021785901743429648"},"_hasShrinkwrap":false},"0.1000.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-rc.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-suTWIAPSpzYi/7EBOKwg3VFIlTHV3iJAk0Nuty16ZzO+qJ6g7Z2aHM6vbJUFhzcCgDABGqG0LuDJUB4DLsc96g==","shasum":"7e293b0c051548db9ca8c0756a4bce60d872fb30","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-rc.0.tgz","fileCount":34,"unpackedSize":7843541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexuARCRA9TVsSAnZWagAA8ncP/ROk5TqkmqEHb/sPxvm7\nxxxrPO4mtGXsHdUh5/SkewpFYqI4FdWl87eQyflT/4PPM4hDGs8CGmkk5wux\nizwRVb6vVvaRXGaC3YMv5ThJf41/lw/9i1ZWxt7NQQMdLpfTCCAtHA4lP1d2\nxgZKAe8UWijgQ5jnuouUcVRIefvR2D2TJQzc0vDQoCg5sJd/PQr9/qL5HeU/\ntjPbfxf194oZO4aOIRJ1YkW8TgJSjB0hSpkm5GssuwIWRim/37EK4zgvtcfU\nXR8y2ilBulsyiZffFgZwigAZzHgLp6CU5bwkunb1OGCFxP7tiWRfduRjmAS0\n5MR5r3UDA6R79IHVb/5C3OIZx1tbFt6vrFDmuPxHYAcACq2H4yRJo/CrsxsY\nVMwr+VIVWTxf6n6KPKEHmgm1FazpYozc8cXbhJLmWJYXFP1KnUTNTsSt61UA\nRii6VhrW0ozoRMpV3YiSBq49s0odSjrpqHdMyJrR6W5rnSFFqrdyIMiwMXI1\nmnwvUrRlaqU31PmLNR9w2y15BMn0vMPQajrH6WvhM154JkAMPBY3OXjEAAuR\natNNr3/cf7EYOEb8vhLtnCXoLkVmE1MYpCjUYnSjQ4Ts7VPDCCnRaAIRmG5F\nZy8p4BeUjflZBiSXSe4Q2px/KnHOjTzMiHtrQ2SlJJiFb5JbNMj16DEIyISo\ninqX\r\n=JGxN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH//8KJ07NhJU/1zSkdSSNrfsy/CUuk5e6nrWy7uXGO3AiAF7CdYY7YuU5iUcGJQgpBLfR3XDuScG6vf8t05L+jYdQ=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-rc.0_1590091793102_0.0023356913753662667"},"_hasShrinkwrap":false},"0.901.7":{"name":"@angular-devkit/build-optimizer","version":"0.901.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.7","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-Xuce3StdxhcgLYb0BAaFGr3Bzj5EM2OsAqIT15PkikWY1k5cK50vPxoC/BkX4QDL9eXSHtqAfMBfA6h5N422vw==","shasum":"e72fc3031207a78aee175a76d3317cdf226984e9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.7.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexuLXCRA9TVsSAnZWagAA3asP/Ri8LhkUMruFiQ/EzH9R\n02P1Geye2amAMQlZYX4uHewF0K4Wi+NZtC6G1GeLXKypJh5rhCs29gEwoAqo\nUICnx5S8ejBsW+OLCEPODgh18OvAbFnuxrZhHi5+uBzUPPFIOXdXYCxFDizZ\ndRsZmjeD8XOKZTnlBdqjOEQ0gQfz6CnjtwDArrVzaIFpRhfJq1eDaeJni0WE\n89Mj1MhwJUW1KeaDy+Hx+UVWQekof2Se7e0eeJ17Zd/BzZOnYY6KxU9JYmCM\nod1Isy3wOfkkiYuyemiBnAlqu+w8Gh9P3EpBaursHMnSWmpPACM5ddupiWkp\nuriB+w4yDFfNyCxno3OvfI/JoW4J4/spAy0MK31bfH8m169xFS8F2iB6KEwP\n3OtVRDbq91/jGbW/XsPKCSSRD16joeCznpIPvjruhmt9vWU/TS8hBIl5/coe\nk0+L8s6566utWrXFkanNTjUNLa5GW0QsIMmGLMr2U6Q3xqXiEBzrvX6r5jVD\n9xjl/AXUzG/mDAnD8oInTXliWL9K1vwZCrwHoiQ2WAXzBXzkk7U8sN69D3Oi\n1Mcyw5DEFO3C/PBdjEt6O9P2hRADNOfpf6C6Wv5PuznGa4Ofdc78PnNifAtq\nDqbdVIrhx7L0BGNVJhkgSwi0aMd9L/+/9ws4zCoLE7IPOMcOu4PPD0Nb/JCI\nUYex\r\n=T/6L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKAw/IdPQSY/HOo6g70KwKa1zw7YvIjMbWRQGeUL31nAIgLzoHbf9ji137Ecb1CjcCQocOOxYh+kkldUur1wBekFk="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.7_1590092502695_0.8982865772405577"},"_hasShrinkwrap":false},"0.1000.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-rc.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-rc.2","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-z9lhoS9/mwsQ5zltoiWkzz3NDhqtAu1jr8WObha+nV2Lh087Un1PbgmZDGfZUKoOacve8vm39472D9+ypT5U+w==","shasum":"963043cbcc50869a3b8f6c9152388dcb2240c42a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-rc.2.tgz","fileCount":34,"unpackedSize":7843541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1VioCRA9TVsSAnZWagAAMicP/R0KdvMeeRMO7VMYUVm8\nFox0C8FCoSDjdi9+Hr1VQrw+8g3vtENZU1besFC/SVZcX+08/x2Ih52J7grf\n1sLbV68kzOukbuVJ8OulSgmZn4sFWaXKak4vEWNMHCtUiFhLEhpAR1Ew2VfR\ndwKiWXOAGXod+GmZiri+qCMpsZekybQ/AsC5Rm60j4whlk0FMjU9MG/tYw0d\n2d+eCc1Z0vlHvMU5Pb2ENVUUkiKRD8yYPfSbJzcNV96yPgXfkbxzhpZHr79l\nQ+/fm/FwIhevtoOe5ysVrAW3xwTPkm/A6NNgFdVTt7E/h1nkBUd4H/IeBV4E\noXD5ydqyLuqxD7SE3p6PeLnnfxP25SZrU9FAE7Klv8aonGeBACwNJnwQXJxf\n/EMyy+sCJl4a9hLFoX4IYHvVM4VhFmy+NAjmOkBqqBj6fQmMARLD+2NntFQw\nimySFj+M3f74tpme6K57XO16G+364f5EPDtpbElzXiNmmOFztFUayYFZ0Ngw\njbSNYgE4KCHd1oN21s3yafQ/RKTEky+LzI0wiCN22qB6AjOUnO4N2Is739Tm\nZQr49dk52VlZ8w67MredyBa78toY8giYCqgmPAWscKzpD2zWbsRZX8cd+qva\nOHggMWwRYp8DHbuRWJAhnI0PY9w7Z8qlxGe+FPXQRpVx+rDPUMPeeLfYlXZs\nTNEt\r\n=GpKo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBRTno8K/zVDS0eMY25kXE5FOHphODhi6tIZKHahX4cNAiAMDc1StGVaVLZIPewXppdyD/W2L+7lizK4PGURDRT2gA=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-rc.2_1591040167855_0.4514253324114792"},"_hasShrinkwrap":false},"0.1000.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-rc.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-rc.3","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-LvA2Tl9GHwZYUya4i1JacoiLIs7MPoPKKr1MneNa8tFkwen3vDg4YQTA9lmf3clVIxaW1wfCZoMiwAl7xVrYSw==","shasum":"ead57c53b9bcc3e8c7d760a74a16b47e84084d0b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-rc.3.tgz","fileCount":34,"unpackedSize":7843541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4WLRCRA9TVsSAnZWagAAUpUP/RKdV4vErzAdWSlEp7I8\nW30EJ083xw8VF3tU+RLThWMkAb20EJobZMKOSTqKxg7OA+vTDA9ncxlLDLH9\nbmfKrCHfIaH+99N1kbY3PgtQLbXLzvPu8Ozjb+9udwNczfFvm8cCZFau6boQ\nFqcFezFw3eN3BuoWHdmbQ37SvDWaZiO/TNJww2VMaJyuIdaGA5th024Xl7F0\nQ/oCpXwkt+YMwtJ4mYN9HX258Z55dZyXYiDtF0Pmtv5mtddkbtwVL23M3cMf\nJQWuSU0ipDxIZFoYekuFkw1BZLrwYn+JJqRbulCZ0ezSOrWdRNTFwksuvUQU\n4JePM8+ouFZ2ebGGMPpnYIvTuREtqeOE0ta27/xQJzb7zmXL8SHPNRDWCZMh\nJE14sjIiR1xo6MCXE1SNZWTiepLNXZYveif/U1ZmCy8nLm+s2BeBK1Mw0qOp\n8sdYDppCQxNSjvPgbfDSQades+U2kdlYH4hAprxtJ0d0qWCuEYRWo97TQJPM\nfB1VJPGtVS2zwRpuhoE7gRxI2StOJeNE7JjwNEqRFV/ylIp5scmUcpVqn+uJ\nqwX6GUISw3bhIWDDDHSjSVBNBDDF5MYZgtXU62nHkcEzg29DbL55Omc/AOns\nXgAMQJ/+OHAsqMbU/CNuurpMZeIsV++XYzlCP/KjaSTp5ApyyZ1JGhu2Ilt0\nxhDs\r\n=Q62F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfLXta3tjbp32DJLJpudDhW71X7gr8sPtBFEZaP9hCdwIgGGu+JoxcytEkR5HQyN81FGN30IuXQSvZtd9t9b0yK/k="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-rc.3_1591829200577_0.22785548014966728"},"_hasShrinkwrap":false},"0.901.8":{"name":"@angular-devkit/build-optimizer","version":"0.901.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.8","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-k9DynuWKMsJk5xg+LthdsqmOlGVMVP/TEu2odiVty9gnTVlIjs1bUzs+HNAF/w11juIBcVKa690K+FkSCalo9w==","shasum":"55a6cecf9b963bac15f84b5db8ec211c82119954","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.8.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4WZWCRA9TVsSAnZWagAAiEUP/3PPGb3vpxtMeF41+Egv\n2lBuI2NDPN1PGquuBfhh5bNuPgBjRTPvCtTrEpTbxu0tZ+iaJ8dQX8yTRmC2\nj91TOcY1xi/XlFjmtTZEFQ8m9uA/W3EQ4q5nOucuJCv/Z43qIRyXmUdxabe+\nmZ37MX0MTEAXFPpICbsvud2U8RNaK2TAcwb7RbWoy/OspCkBl28lgAxX8+et\n+BIfI7EvGxt6CFxDPfF7ptzlam4LA1O0aVgHlN6/d9Z8v7lS7uNM5vRV4KPV\nn/lDrxJeVCggBO1fyDNak53gK1Rhdx1cNKCVdnEXM1Vh+wDSdPjrb9lY5ggH\nQX3Dueac2IsyB97gTOXYFC7gELoH6XHvKouD3WiKRckXRHSl8Bejr4gUGJMc\nXahJmDw6L+vMEruO5Tsmi8Cd29IOX8/25Obt9G/cXT0Js8EZJwOwsOdA53B1\nm+HQE5nrj163GD2XpNIkrutTyEz5gZu8d1e7to51qxmejqsA3r4hmpmYibMs\nn6QiYokHeO8RcuS4L50+gmbsR4ibpVQi8tG1xf1mdpOwdJfVNSl6QDEmLCaQ\nfDXw+nRaQDB3usc0KXkHv7rPRHwzSXQqA3rZD0MuACEFx6su4LkF0ZkwKghy\nqHf44gIoNPpWYy25327mIH7xPzOSuMcCe6iKdzju4gJATcoaXRWK7CIgOJ5Y\niuuS\r\n=ltns\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/MCG5NT3dUlTg8nEzVoqfJoj1ZWY6cgVGMAt6LVw7tAiAylI0Qbq5V04md0eU/Ovg/lfgudKhqQlWlFZYLF5SXbw=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.8_1591830102299_0.38395183194753546"},"_hasShrinkwrap":false},"0.803.27":{"name":"@angular-devkit/build-optimizer","version":"0.803.27","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.27","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-rGx9gvKQrWUxTnYkWN6E8VfczajhmZtgHxpJTG7WaYVgl28OHFswp/jpe3JLXg7wOzcsTlRzk1Jr5bWhTMwRUw==","shasum":"661825d55c5e5355489f0e7bceddf22ed666a992","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.27.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4WtdCRA9TVsSAnZWagAAuEMP/iYmEbZKD+oAvpWHoIM+\nUcuzpcV+RHGV5PBBUMHomx0ED9hFNSYnLXfUGhQ25bSot/bjBXr4eD4sEZAu\nzYZTeMwQvNC7l1qKwP9lG+FcOBNK6QJd8gUgJj7yav6MWr3nZO7xJsDP2/OG\nZNAfmrKNyG6GZOXKEeiBYaGMZE8ELjC2I+gPf/eGFzOUyBDTQ60cfuFfwNnV\ny5u3vW4ypKUEsOI4y4KIi0VprPr6zHFSgSFVdAjhkhCvB20JenQTcKMlDVAo\nBwyZOKhZ5pP9JjTDR73WEEQPPnyC+TBFdNDj9biy9H11ZhXkBziAzkkY8WAJ\nPsaKpv+wksp44vyTzXlCn5BLVeC9TJLEcgUeMFgaAVj0l4WHkv4uyDShCXBj\no7h64GK7w8CRse/YDebmk4DyTutDniR6DkMkUT9i451HmgmgDDNZVv2Tw7ZY\nUi6Khi4Zcje3pbS3YuwTkk1I4goZqhWhhIoibKmOArHdneWm/0jQJbfLzcV5\n1i1egfUcoDf84qmdU+12rHq7+wELTORSAtpPweVygxGQT0XMMFyoNGZZoTI+\nx/eKFw8yLLs3JeCZdNxsu2nGqc8iBw6fPFKMAZ2AujPH98ZtS9RmvZR0jmVf\nq1BOQY5uGfWYWwBSZpJjKGuXfaH/KVFNl+zVCxEbTBBMxNNpKacD+SCxej0C\ns6EU\r\n=zccG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFLG7aGKwDG43sqgS/k+qrlHEhUsKi0ORgPYZSiBACpAiAk6jnsRJbEymPAUhDMYNFqhut3uOL8yodTW/Sv95svHg=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.27_1591831388986_0.5062623344107873"},"_hasShrinkwrap":false},"0.1000.0-rc.4":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-rc.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-rc.4","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DSXG7Hp4klq5hdhq/WuyT9LXsQQGbX8XNz9iMuRqoppzsSh3rhajfkcvpXo3h2sP8ON1q9Ri9BXQvgtTorIxJg==","shasum":"c7094e57f7bce541d5aaa21d0f94fa85aa8edb70","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-rc.4.tgz","fileCount":34,"unpackedSize":7843541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6DO0CRA9TVsSAnZWagAAHD8QAJ08D9B/ttBstNcfbVw2\nrwBqRrmHwFmQ0yKSE1oQrXSUch2fWNVKQiVGFZ72tJX2mO0nODHvcFeZHn/N\n42ASE+EFmPjLaNGTt0SZgRGmLtRu7TwwoGWOhgYxBd0tG9T5TFwihTginQHR\nudhrmZEaH9pvzh/KIk81q7braocyjTpjPAPOm91dZb4loCmkdYTQShilPIur\nJq9RzS8k1dYfcPA1Fg+boN+trAHZdyI9TyfrvuW5RT7FbJ/uuHu16XhPIdhz\n1TjJzPHfl/+DTS994vVWx/OSBXM0vYhBHp9SGkNIK4LuqRlNwmJwMTh7FKoW\n/dIZ5fo7ZPCgbnJ5OG6JcE4awy3XwNRJMBIxY2B801Mb21MoaljXPTi/dYx2\ndwgyzBdvRdHE1bWkFJMWK2mnVUZMgAEnzUD0XNf3DtEhfSIX2klB2XKq68wW\nLMVKOs9Oj1r8tNc+7F3K7UFV7KUcDCB54xDOH46I0Klsj6jwbO7cVZ/2ima4\nsRgus6ZhOh6u4eE0eQMTXFtaa6HnxdvsUIFoYK3ldiAKz6KPufNR+WELlTbo\nB0EtQz6i1xSLXEMpyV0mwwcmgxp2XTpTCcGOl3a+gyWdLcqfvHf5YfFT5ePV\nQk534ZmjwjOi5AzH5gQREQf76mR9561mwulwWQFPLAoj9TOJHmJvSTAfH937\nnWHo\r\n=qCVF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHHtTEZfS8OeplgBPQp2ofOfmHvXik37n6o26XSslqiQIhAJ99/M1xrmCb2Zsd9LaP3Ss5bFY/JleqdGfichLllvAL"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-rc.4_1592275892127_0.3922516361419437"},"_hasShrinkwrap":false},"0.1000.0-rc.5":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0-rc.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1000.0-rc.5","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gqeuL6HoCJ/dzRktLZW+Bku7F2Bsph9ie4j+D0rsKphYqw73RSOuYvwecq6o4KBqnpQkWJpAG1BkjiS72MiTfg==","shasum":"a11676cddfe2609e0f82d2bd18b2e73caedda830","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0-rc.5.tgz","fileCount":34,"unpackedSize":7843541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6VYECRA9TVsSAnZWagAAv7IP/iIfY0BfQ/pj4IFdXbqq\nLACK0kghgbOGaEvACfkk2hrgQYrXzXxCfpu6/2/p1VeMIGqCHXcYFUpBrgoa\nQbfnOCBIC/CmhIr6MklUu7SGqQ1PesGDrAnUihqV0RHpRDVLHc1YYD5LxYgZ\nGqDoHYqAUo+0M2dU19PfQeco2xRyxsJRzzPvk7gUfq2QdYJ4q4DMnRd7MXR8\nL7JVkFWYSOodA5wSHSOH0IjSaFBGEobmmgxYY3BmJNmZFESbeCBGA2IwCOnZ\nKhLN5hx6t5lHFRU9r/QYddTu0P/xD2pvgnBiCgrF6rNAVMjD0xROssF5mhEV\nCYfummYsntCaw2m3WIz5gZFiP+tn5dP2P7IjzUrhR5DqysXhLcrHmJwvTNc6\nw3ruHxlNPCIDs7QOPrF01GP+yIwiapHYFuQAG2VGwgdljM56YuPRuVGbdnpZ\ngiuhdQJcgbZqMTtEzZgIos/5czzxpHfDkxU9ksa1Lcu2Kgpg1Qp/vsIQfxCM\nsqG2HQMTIId8iDOLVaiSgC5ANaxfvuotZ0z1OrS6zKCNUgk3Ul3N5NzSfOdu\ntpK1c3y3ShcOj2N5YTjk/datHIb9/o3aMFcj+Srgb/GZtzZxYrxTSXB5KjFx\nhzeyauFRFUoGdJV9N7lZ1tM8HHR/m+JEghoIhE+CC7id4p+0EwnSWHPc6L0y\nlpQ0\r\n=iWSZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICm9Fq2i/Y+AchljTOqyu/R4cZcRK3+fESKWULujcZmqAiEAiEsCKsgE6UWjDDVRQMwghIYp0uKi/ArfwSUnMaAJ3I8="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0-rc.5_1592350211427_0.7014981315558113"},"_hasShrinkwrap":false},"0.901.9":{"name":"@angular-devkit/build-optimizer","version":"0.901.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.9","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ==","shasum":"c8018de2406c8bbf32bf74cdacd6fa1df384a8d0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz","fileCount":34,"unpackedSize":93919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6psSCRA9TVsSAnZWagAAXzkP/RXdzISizNPHggcI3EUH\nYtA8Merf6fmmw9kn5rUwJVNfD6pkXQOE388Yy3/UHeTjmHLki/6cXP/M6hTb\nbhv1+eApA5ZIhwBNyX1e+XhCJnWD10Mbyf8kgSF+ZNyloh9EbsPT/12Tjq2E\nXwbfQOIQGfKEKPaNaUWSYCZQ+mC3o0LxTJ3BYBOiwcESMpV9bOkh9W0WkdVv\ni0Xczb7VsYC20LRfrPGZGGWjHduUsFA0oDGMtRZEZ7x36/GCKC7UAB7jxao5\nzflD4iHo0kqxACfFC9VKnGQUMKQsxj+dAfUNPmhMJPrOM430Ng7NZba8Bn/g\nHSGNkNo4hQGPNc+dLtTM0UzjaaStgTw83g3bBb+2JSmDbmAr52UBk+Nj0FeY\np8U6pvmyj/+KzndiPbfV2EtdN1QPPdWPp9XFXmaWhx+vrBsPcC0hxmwK8Mbr\nSF9dbk3DtNsz/qrCYGyXBTHR4I0b8/eLrhefzfSFacba8N3xlPFclphqkdvb\nItKE+DIjynLIyWwLiNfW8qu6LLqib6o00c44l3BMeXkULvW3PTJxLVdCUn5e\nvLFTxF5mLhGt9wuA3wy6gFVHUqzneu7Yus+Ftf3P7/284x6NZjPURY2i/Zpz\nMJZctKVGrz6LdXvUAZlEQ4JTHPl6CKTvvzze7Q0udGqxBJWXhrmOaJ0n9x/j\n8DOr\r\n=9CyE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4YEZrSaFHtEoHIEYABLKH4uR4ZrCzvhi/HJgeIK9CAwIhAMkmKklARV+ZPPC8CtIgFbLkTylbLqYozqLE7xrFtU5/"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.9_1592433425773_0.41823744399072504"},"_hasShrinkwrap":false},"0.803.28":{"name":"@angular-devkit/build-optimizer","version":"0.803.28","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.28","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Mn7gLiaiokXF2wIJkrVSN81cZ2SP9ETHnjDuQ+rn+J44pAeCu9yOwRrr1SPaf2XGCjrXWtglq29YR41V/D+zrg==","shasum":"69e81a7d2c55b5f8cbdb9305c0c8fcc0a4700fa9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.28.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8S23CRA9TVsSAnZWagAACQcQAJlMCMbo1Yml7BYWZZIF\nFyDEraiDkP3+4Z3SWUu5G6zdR0xBX1IwsTgnSKCQ8aPa+jMlVvG0H5SKq9wr\nOyaXar5YwLh70I8EhA4TSV/WwJdkFwME1CjNziXrIiKwgw29G0YdSUm/ecE8\nOJxgtXRQ7BsbriCkV660h+paD7bDPWUq4oHiF22kB819uUZUbuzRiAoNeWaU\ngthG9Amtt9Y9U5AFlYTWYQT9LKxiIzoIhIReoP4xXqtfpMJILGgAptzNjbSh\na2+nQJqYCp5+QcJlJ/ewTCbzuG3A09DH92O83bsu/78W1mtNR/2nkii9dr7x\nZzKRG2BpXRHeAyquiqxXfKpN0lxcLCNCbfttXfhIV73P3rgnrkVamtqSTEwU\n/T7LazJccMQ8pPoYjNJowjj1KTuq8KkGwX2RbQuNw9NK2qDDyV4H6iYimmeS\nX3lLpxl0nfo3UzVmuE35iWyhrECF4R/geet69aFFHr9spidBdH2LZmoWLqDm\nflJ5aZ7vJBgIvlQB5vzM9albXGYaa7SG3+L9M2p2BQ0faoiEiTZZWVPvhA9Q\nAdPS+xofF2E7f/St+CGrREJrr9ZQkzMwl60pwa6fh/JRYtAF5OkoIyHcayfk\nwceufR//+WL23/fe2vNtEJgInzhX8S0Vl4VwmMYRKWwP+VfCeMGvLDp5138K\nUru1\r\n=ZbBv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIqONMGEDYC0rsX/aPy+W3K5VULktrLcw//VOHWzYemQIgWnZ8sxSmTdFGvPNl1Rn7GzRzhbkB/0bcnW0Y0/WFj8Q="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.28_1592864183074_0.1371945222896167"},"_hasShrinkwrap":false},"0.1000.0":{"name":"@angular-devkit/build-optimizer","version":"0.1000.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-WrC/PX/ORAoqKP6FsrWsmzfic0mHyLAZ6XgNNr3RY4xxvBe4+K7FGoG+PaIwD4tILvO6QwwJ1wwBbnGIqQLIHA==","shasum":"0a38dca8e574d501240e9b5b4440690e58a3dfd4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.0.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe87MACRA9TVsSAnZWagAAAfgP/izaE11TylAfChzsFcTX\ncJz4SGC5iQKakMgY2hL6ouDL4ueYfa4KDFa0bDijD9wjVbFyeJLF5m3Jb3cq\n+Z8uTlGI0BzN/N+EawEcN+buuk1exMKi4Y0DuNbA9S9D1zMCl6hoFLluWMwy\nvi9dNryp20+lAd8I3qa6tVv4/a8rqOVIzm+YOQJNo+R97f012G29yqYf2u/+\ni9KiWQyE88XmUSzsWnKlw8+Res8OSuVGmvEzx5AbI8cyBnQCdB6Orp3dq672\nUt7IC/7bQMCPAzlYiV1q6x2WSyX4sphbW9qXUEFtbmpXxjNngEJnGsO430fI\nkFNnU7WoKas+QgLRt1dY4OvbXR6cR6TMQqNfpJR2KGxhBhLJW2AcxBCV+Uh9\nioyZr+WD+VgWTecv3Mnmttg01CFNbbKOjSsHX2H60cMokeVCiX8lOc9YrBWz\nxGwMZLWbVYCiTi34/+Y/GM6F6FpprL5pHO5OOHhbZOFITIDQDIx15uVkBKC+\nWJjEhNWTfzOlvgssQkwx+wLGMtdzC62NwCb/J7FsePCgdkjX3ucIbqwTdhl7\ntR0vthvrSLW3EvCN1DXWUWE7T3MFpqUXMVzeoHBacidz5Pf/aybnRYkByEGl\niMIt8PHXGXKvxmc+M66irX/wXnvGZseNCLRbs8z9aHvQonzfJ9g/pmxpcYF4\nP9Y9\r\n=8n40\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+Mk/LiJdX7oNjMMB5WTLWS8z8xgq4hU6T4jkga2RqbAiEA65RColpRmCdYHMo4xq7dyV1dAj/dMPAoNcJ21irSHPU="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.0_1593029375457_0.6841047864507597"},"_hasShrinkwrap":false},"0.1000.1":{"name":"@angular-devkit/build-optimizer","version":"0.1000.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.1","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-Q60lxyetBcMKUiNMc1vGUExuJMashHB9CF8HVenX80R9ihaA/GHAUrD2PbKBpLVoC4T291uUhfcA8MB1fJNRfw==","shasum":"2cb46c7b8fc4361d06244d50545b23e91e866c15","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.1.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/PFGCRA9TVsSAnZWagAATAUP/2lPskTmhL92Bx74iN6r\nTpT54+LUVBHO+J+Shx12DfP6JMw/iy1QGBtNk2app/5DLsvsW9ecAIhbAtji\nt4PIVuscCBhvsdB2xwCbXdL797fDbMPbjnpxFl3dvx+Nl4qcjJVDmWdFn79n\njQHWBm/yDONPJC+Xib3CmF6vMhUyPSNHLIN57EqQDC/7qJtLBx1ZBstpn9H1\n6daRwFQNSrf/IuWS3eokq2vMHns9Wj9e0/3ffHlKBMcFekLE1MpI6sz52/Xe\niYKYdCFMatHmEGmeIufnvG9v6PHqvRyqykoPATj6W2KhBTIhx4EJmaAm3AAE\n94dIqnzYbdmKGS0vTtr8csB2WTU/4FSoE7aLKNGVj6GJ56WPztEq7rkuNP/n\nta4ba/HAEZ8D2i15pTwFaopvxZNvhNWMXQI9AsDROKDeucUKfwTMYgEGbJ9R\nx9O77GIl9VE6hUS7PJaeKqvP8gQoynftf/fjkpIOkpAVXB3dsgibla21oCLl\nCMJuUIlG4f2R91mZcLYqsiqg5+RdYT+xAA8/Kr1rydWoUELIHWOM18WmlsAp\nr2MTdEwtc+LsafiuCkPggRReVSarOfpqAnJhtlV7Ap+u2f4EwxkyoW1kZZBW\nhVT3qZuG3r5KdVAcODh7ZMYzwa39VZB0OBmhmqZqcWgnhvkovPzbb/JiDt1h\nlUu0\r\n=fiQS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQAZ0WlCa05E15CbGOwFhxP4Ky9yyGd3+sngf9DhwJ4wIhAM63eJDx+aK0zgQxDT0eqMaSWOSBiDq8HqFI9wlqbUsi"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.1_1593635142320_0.9768294161490403"},"_hasShrinkwrap":false},"0.901.10":{"name":"@angular-devkit/build-optimizer","version":"0.901.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.10","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-twbHoicbxEfSqPWD8BroYrAjUdCTFlp4RSEL/da/UI7QuDPIWILsKVLAGeBMD3NII8VfOw746S5oZQbrvYU/aQ==","shasum":"5e6163b4f7a1bb6df9793e0a1c9ccdaf5b0cc8b8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.10.tgz","fileCount":34,"unpackedSize":93920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/SSjCRA9TVsSAnZWagAAXSQP+QECsQzpTVEtoUuB9DI/\nALuCweoIoFv+BtCwLkj08chq4//O3bYVzW3B/bVQfUM28tleq8p7+oum9pHh\nHTns+hJrUR/W/gvlXPrj8VT882WcSM+xJEnE6v/eNTYbGFjVlrjW1fHFlh5U\nKiDyNjpXdeaAjgGeBfIakEQOHRo+c2xY51G/hco2ZN9lPYfJeJqG04OlNuVr\n4TtnzYdor15D5BVG431QVm55A2MDShsOreL6HE0/ikv4HxPXFCQi3uSu3IJJ\nwXDsTIIO2qhJfkQzQ2SKessaign+JkwMsEEiX5s0Fgkle3aRR8p++ubhDAk8\nX+z5NW6JARIgEq14D1Zd+HRvXTteNUV6UIkQEnF2esVDXi3CRGoxBBDhahqb\nxVzJz8VZCF8ir16EjvLK911xBjqIUZ3SRw413cE7CNaj2DrZTrXisD93v44x\nWFd1Dkae7mGbCvGFUsxQEbPOzsQ8EG+rfQf83FFy+dnkUDsWnRTWg5ip1k57\nA+NKeIaVcMNFLk/jAv1SiP2aSF1NDqTeUX718i+IG7kBjVjrUhKmog9C+67c\nObZsGpA4l0AGcav+v0bmADFZTHjdztG9ihnT/eFOJTXak07sxci3mcgFFFUM\n54iTYIKZFkKF36W7yoOCz5QLsKxx1XA1J3GsJ+oVyNrUM+vC32wLTGz0TOaU\nPMHS\r\n=/ArY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEqWuUF8A8FFwN5qtxfO2/ivslenKQdi8U7eqj78tjnAiAgB7FIko8dh/HFicWIR+kHlVYSSDds3d5PTcznBARZZQ=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.10_1593648290550_0.8551825656486802"},"_hasShrinkwrap":false},"0.1001.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-mfHOTrTAvyp4IESIKuwLbeP+caHqucTIlsUDiD/XYPgEyuxJZEXRaD+MV8hgx415ImqKlhLNO5DgRTaLR9TJiw==","shasum":"f50d846df620060f3c492bb61f12c129584f22f3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.0.tgz","fileCount":34,"unpackedSize":7843543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB4OfCRA9TVsSAnZWagAALYAP/j0jIx73PhoQHf0836LA\nqQTLCPsLEmr+djlJ2jIS7oNgDrnBsuWe3jLY9+gchpDqi98MfnaFxRder/GC\nVlIgr0H+3zzuQuFGviJbQY+4mnLcAxN93WfniheN0QGVXAAITzLnFIPBFQGS\nS4ea65fCuk3AtGirDAiYZAAq1EJoedSiQLc4/0wbd0OrVJE8kichJ0CEjtEl\nFQExZDZG+54F0bWmCRSZcbX+Rai3iTCXu2ZLQ7b2XvgFFPlimrtRL2PKoBYI\nIRAYw0jtCz1qoRxJL4PHzCBHxTDsBTnbW1ojFbaB/NxiLQ78udEkatxBK9y+\nW1UjnyYX6voFa9LB94q+d6ULY6AHremPRn0WzhM/r3MlMLJ/ojNxjYEjAps5\nnNh102HKHUy729XmkBMEi3vW3I3CqNCJRztx2lwA5/iqzCEMOdYmr8UW0KMH\nNtjgeh8skgNZA7NL2WRb277taMAeYuwyj0yhA3qHm87UKSonlgRbeipoW76Q\nZF4AhM9yzHuvo8G0NqDnkJQcqFijC/7L150aLhQUbpwP1HDsudtx11aP8s5k\n1u1+ieL82hHywjfsZz/85SXvKN9jZDJnAp+tKL5vL59fcgcVjkt/XX1qyQaq\nVtE7BytRzAzStXPyQeOaA71ySvv+OS44WV8PACbex4sE01KClfqrq+2hPzat\nW6Ad\r\n=pGN0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCShf5BdcIJnGGtoQJpE9j/BXqnbJxwpRetzU7Thq9SFAIgYIWIEENSgAomXn3v8wsTeBNl724MEye4nLCUD+4is7Y="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.0_1594327967131_0.5685778601470792"},"_hasShrinkwrap":false},"0.1000.2":{"name":"@angular-devkit/build-optimizer","version":"0.1000.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.2","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-wbrgJQw92+A7kFaG7U0F9MMzhVI32tcIdr26+SFXWGAeBaWIkBfMs/jfGLlEYESLqQQF5oMn7LJBwXu+nkPHvw==","shasum":"06641c2b90aada53b025cf0970a2d3f6a2a962f6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.2.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB4TWCRA9TVsSAnZWagAAcQ8P/06hl1qMjUKAH+Ja0BOF\noRAeEIex1J1bQlfwpUuVeiH5lD8BPz++S7po1XdZBuPPQNh+uSZoEy7GNhcr\nAVtJGnYckQ8sV78GKLJrqChZgRpK5YZ/oQkU6yyXighh9rg9bciXfPbg924a\niaAaO1xXIrMOYmDgc5mJMPuQ8+76uyYaUK5d5hFowFIXxJiNJBIqLtjWYh5J\nvzCgEJI8y/PyofsTMK+nm/m5zC3EQd9AkjFtWlOPVaR41MlDlpIlapWpmE6h\nm0VZ8W381ARZPz1pwI+pELUzRyIUlJjJUN9ZTwZiIzMcsbpcwA3q318zjHZu\n4b1ozI+13SNbSfEN71I4wKq2FJy6cqfIpXSkryWtR+ioQX9oc9ASEUwK1EeU\njqeIYDQ1LjVcXW6nL0C+Mr7B0WRAZb+yixWsG9pyyE1b0SypbLoJtRz5sJSy\n30acfQ6vrABEi2LVGtFzN+GLGfBOMdVYpVu2y/gnfeEjcQd68RCz3TspwznK\nAvwsxK6kUzDVV2uLFX0PQzW1MbX17nMoiVZoDbRtwWjjNFHDiZ4+gHi+OKzc\n68pvWKLVbOp05LzWmKl/uafGHVnt0/x+siusD7y/O1hyhfNYYJXaqVvHaeGi\nE5OGvynMuKPSSL7gmJgkccijGxsHwP51aF/R84J7FmFZEhEUVa2SzE8yAE7P\njxs4\r\n=9w+v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBhaKjg0PjfPbL9xMToLeSjhLMq5u1EzTP7LRvPKDboZAiA9ZLAtNSYOPEr3waYKxRa0I4PKvSHAY304RLXqS97Jzw=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.2_1594328277923_0.6641338851674061"},"_hasShrinkwrap":false},"0.901.11":{"name":"@angular-devkit/build-optimizer","version":"0.901.11","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.901.11","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-V5ST7N1M7GPdnRXZ49UhGSGXZSzwX2wFSoKh5/fPBALjEsCgtGUkK0ODlCcG2o9aa5Ewwjp/zHCMAFAreRcb7w==","shasum":"92a1d6fa31544b7a0f8c311e9498593163326461","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.11.tgz","fileCount":34,"unpackedSize":93920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB4ZdCRA9TVsSAnZWagAAFJkP/1U7znwe8fn2QUZjABQN\nYiCIcDYTdApg9tsqHnmhDVECSQEPzLNOkNGmSi0uui3kZoV7DA7ZFfYwLcBT\n4XT2EflJ/FcYZ4OLY1EyJ6y9OKqj14pjQ2LZHEjCoL7cjqFEscC5LHSmY+l+\nBpSSDn5xQgPi6Q5VMbdYqojBwZg++a6JnJSdo0ZaYSSWaAWLTvWfzjQcxNce\nnl0eKJ+UKPlckVb0aicXxfKoNFBQYraEUBj7uXVG/PeySBdz6eRC98qkTT2h\nanxtNtLXQuqvlZv9FpvCu0+Mp3dhMD667xVGkrWoFJzpOFi2v0vDrbSoeH1j\nQh9JtjkUZv2zlE2PuPVEH7VHsJW4ZsOJolS1lon7EL0qR8Z+6lkrr/AXcdJM\no9bmTpsGPRc0HhOVNeZkZSE/V9gxZtps9RbiSuoyFV6jcLzel89gDTaNKuJN\nPM6Czbu6mgLTlXzYNmNjDmC1MSEQolx+MUlnsKUaD+z1LuUeEso0isRsq0fH\ncLYj9hwKr8TFTZw3+rkpciVaDQKj21G5u00Xexk9+CGk05paGAW4TmVzXNuQ\ntznwdotLKiucNB9ShSSVqMqH0J8HpqT6/pf8eGRWuomUKOAjH3uFhiagaCc+\nS9B0ZRWAjBJMmwdXtX+DxGIp3Wnr5idZMNYK1YQavgfsNOO71LK5NoZW86aL\nF36q\r\n=sNwC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2cPd12BwZYAcxsvJrSzCx4wivFcSwZkg2RVmwlPlIlAiEArdvCN4vzZhIpzYcxN25P5SS9qe+Z3vKe2Jj0PfVchPo="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.11_1594328668531_0.8380888545145571"},"_hasShrinkwrap":false},"0.1001.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-YtJPx0A52YCOoqD5YjJzRXYNDMENxocGltRM733H5TEEVhl4yIuUwCrh1VrxnpuBe3oHsXjUOhXSmA+NjJEdFg==","shasum":"7acc4f0d143cc42275a04f1e88843386af1a85ff","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.1.tgz","fileCount":34,"unpackedSize":7843543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD2O/CRA9TVsSAnZWagAAFGkP/0MybsfJr+YUpQHbyA9P\nKyaRbNGU8q2yieP+gSg2f7ZnpuXPuJAOW8iSfoRrzQiIgBKTRpF9hA8d1BDr\nx9HQqFcCSstoER5xYhQQZf78Xb2NPbPe2HC0o99sT4aQT8AewIsx0KnF3BkU\nTfvEc4pzETCVwRM8qjZj+EeNBUrbtebVsth19nWk5mE4dL6qW5CDy+lygd0b\nYzkJBli7DAEAgA0fls4PlmzRXSRiRH1fJ+iYkpk7A76bbNo22hCbCu6Zkqu4\nAUFMYyRWG0ZBp85XQ4zljKQfW29SSzhzPODtKdZvrp0/wywe/obg9A9aQ9k+\ntFfje9GjpsA7Hq4v9k3ytdM2G/KUptYYCQi1kb8RRj57qSG/fsfEQDZ9BJ1h\nsBOe/+GRy0YFlFoOSAGGoKOtgPbsxTz4AlnrR945yrrSInkbiDCW1buBP0Bl\n2lFppjQBSRXne0fcQpQA7opkhHODhFP6/ON58YstD+ZudL6WZ3txr805jSmD\nQYUjOFFYZV3rdydspg6zIHzfHxWef1YvtG1uyemvkg4yj/mWtzgBLsBeK+eV\naqDCGZmHvamb6liIhcyxbXl86y7uMYjyvCkZhsxiBqpPGEEli3P/zboQbkfK\nwqIftEj0h8uy740zxuSqUU/KVTiuOiKTUh4lO1hUQa1fLYmNbkmAaHPXM8G0\nio2y\r\n=hQ9o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlN3onRg9Su70lgQ5ZkshmpofAOkwUPJDQwMAa9CmjlAiA2uHNnSBiy0tJ6PmoPae4YlKRMEyw+1/h7prdBDbKrgw=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.1_1594844095090_0.8683988365757533"},"_hasShrinkwrap":false},"0.1000.3":{"name":"@angular-devkit/build-optimizer","version":"0.1000.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.3","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-6mFoubg08UCWC0fE2mGoawEt2R1VlGStvUNAP2PRCjoj1ZySa1NnVYoKk65cyAAA3K2o7vSoDZesNq1uABjZbg==","shasum":"05f7a853a5907ad3381a598896a2e053e47e925d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.3.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD2YDCRA9TVsSAnZWagAAB1UP/j7b8fWo1h6VRjAz/Inb\n2infgwbPMZ/ttWPpzU4GJ1Gg0HBcW3N5TyYNIxd03ya6/LxMlYPqsiAc0eRg\ncgw/w4KrSbvqhjyyOKz3aAPuxmGXydnsYNw/TN3TKZ3Q93P4G7NfwwJxdIpk\nDVp9yhAvkudXkOXPzrfh3cUojYVxX1kdP4QbmRuk1QSFkZkUVX6Jus/0fwRs\n54sAW6yhXY/LD63fkE3LGg2MlUwPW+TWOhI8G9gkzhQlbJWG746Ge+bwp7nr\nDjg/OlXGIgP6zIzYJ7/k9ubK5Ev+IyV9JYfp71ST1N6abg7fupD0bi3zkM57\nyaY+xlAZEwWA2MsAF4WnVkiL1VGZcN/K7JHTzNJxlBb0AT0OduL7VAGh4ee0\nKiE8sgnif4z3CLhPrcKF/tbl9arvSv6/dccWXxPnk5OhR0VNmPPTavH5U2vU\nsXH7emEg1FIWKQLTdJV13snj1XXZjGLjZsSiTbKKB7x5mqTq+qdIVtxcapYx\n9SgflZDmPKV9COO40OHztK+HqBsujazQ0iJKsuHcyvphFFen9T1F7aWtNUhK\nQ/4A1QaIm7xpND7lpIp4Sg8UHnfxxWZyxovgqzU1fna3lufrEEQOVK40CGj2\n4/A9LFtzoZxZsm+NPyS7GSnS5cKbNrcEO4KBrLevXH55MN7opR7VhEgQ5zTz\npxhN\r\n=ffio\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFZJkMRLxu1iFHmnEusNnaPAOISO2Hqoel3Xt7fjCPrJAiEA828l7q1LdDrQmATVztlbspaZQ9BpPFa4SSI7KV1cfjQ="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.3_1594844674500_0.9584133787961948"},"_hasShrinkwrap":false},"0.1000.4":{"name":"@angular-devkit/build-optimizer","version":"0.1000.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.4","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-usscQipxIU2yJVmBdyIDPmJZ+ltOjsX4VbMkGM2IdJHCIi9uEk2E3+YLxzyU5Xl5tXEK61AQt4YWUimt8Kg0GA==","shasum":"bdeb610b042533dbbc3c14c52f81f2f67bfb6513","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.4.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGJ/yCRA9TVsSAnZWagAA418QAI+XOHWm0aZkidHaou8K\nVEARskkQblQZ/1QLaCdDhRxvOrkaNIa1bX0IuKlOFLjxWYr9QcWV9O7jPlkY\n5CWdvZxCJd2dfMK4sPfacS6gn4eE3dBRvZEugNL5Cx0AfKuA4onXwk4KNXu7\nWEcmwCI+RtibCh39gwe71CVIwxRpWDKYCe1p6G/ptvoeOWT7pf16ArBZj2nQ\n5R/xpUMYjPm5kqVjAIBJutfVblrS8FT0pEQbX/eD40k5bNUtMraOVZYzoABt\naW69mSEh0t0Dc13JuE+Y9r9XEEbyeBpDpCMvcamnQv+610omQfmQ+KFNJz5g\nAM5sEN+QOs4JuubLRyo7Ml0kWbAOig4hLCUtMPn9+yJSC6LjnhqdALETh9mP\nKNt+ayzGdAKWAPjKv2puJ6+NTmV8XJjIf16Cf+K57nyTZxeaSD7ntoY2T7xA\ne9O70ul7/8kbMennNLUaj/BnYzNZHMG+APQFcgfllOMB1rqxIUPrhq67RJzA\nc0mLg4dXnawlzLo3BUzo7HHjCL9lFof8gj/aZQtflUEP2fKJdiikuz0lDF/2\noul+KGcGB4n24koSvhMvsUaL1ayjpTwyHNnaluqRoNd1ttewU9BZc2nAhY4H\nhQ/k+IZv0YevQ9A3YzkL8+u/HUwiyFjpbWKUdw/hvJ0AT4oBBH41zuOLeCzI\nG6lr\r\n=z3w2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCA4U9OUC979JNlVJ9N0AIF2wqs46FcllCqNFGSJ/VcvwIgXwrHU8YeC2g2iJKQ/nMTXDN/oDKakEHFck87qA1URIQ="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.4_1595449329749_0.011219519033468517"},"_hasShrinkwrap":false},"0.1001.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ncQYKP6AthW8pOENwhYo1Q1BlbZP+rbK9cpv1DeIEw4t17c6b38pk5X+q5q69A4ELjBkge6STqCNu2hrem7SRw==","shasum":"2e706c95434284b82d9132ece33db48952553710","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.2.tgz","fileCount":34,"unpackedSize":7843543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGKFrCRA9TVsSAnZWagAAxp8P/0ecOrq9iouAd6O+raI1\ntpXyZ2vgA1SbA5vSx6hgv1eonv5LACGjrq1hc37OTNArzL8pm1NHWanoUxLy\n7pjEt12d1jZU3aTlxT4TvTgUHCXAKGGasWgSodIOLkm2hjAo7vebwBwQ9kXF\naYIbq9twO/Cn8z6xzm6pE1/g60+tfEzXTEam85fEb0G94C6hxnErytaYJEad\nkmj9yNr7nZuzvf/1/YGB3h2HxWLAt7FJwlEJV0oOeYCVIunTgeL26YJSwG9a\n2/F035dmi2qSPfBJ5iQX0payCR12x+PbsEPxApLLnfW5TwvAeOJCtccHmdWk\nmiFVijOEEz33EUtthKBN4xRmIYTcGFAYkNs6s0urdBvDsslB5TTCTDFGIwqT\nW23uSlEa8OC9i3HKbX0VWv32hojMkrt1q79pBWSxoHpEVI2gf+VnhxucHaJQ\nAnTw5B3RkvnVTy1A2dGhUUArERpfaR9VodDd590L8qJfft6BggwISlSYQjOB\ni1X4K8MOOnE+L/MFBbxPPCot52OTZjmWFuomqj5UlV0GYI/Cen/1x/xteOef\ngxewmfY/F4WF6ji3iyycFRsZau2TP8bXSXi55obY653G/wOVQKCr1Dk274NI\nlMEGFiW+lyL9EP4KggkNFc1K4Tf6CULo5QjjCV13vW7jnqKCbLx3btrBD3wd\nHAal\r\n=g5Uk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtXjdCHmsb2MpI7SYPx0ZNaUvxgSbbTrrd/h4LCKVjFAiBsjxmVViWvpDNQqwRFiNe4ccY06Lf7yE7PNR7/OdqqNg=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.2_1595449706951_0.474622477699171"},"_hasShrinkwrap":false},"0.901.12":{"name":"@angular-devkit/build-optimizer","version":"0.901.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.12","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-XuXA+6y9QkIAwSVZhWmne4r7qugUUWaXobgRefbn9heiRlY8/7XkZmmvbSrxc1fgQfQar52W9fAa19fAIeNvnw==","shasum":"327066ba0d7f2f4fc82960618906e4f916f7bf7c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.12.tgz","fileCount":34,"unpackedSize":93920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGKLQCRA9TVsSAnZWagAAw5sP/RNGGn74SmPIWvHRUmUA\nZtjIx/cAaF6RdulbMr62cJ1/v9H+9iazWJlPvcAW3w5wWDOMTov3+Wgff/Ik\nmRee5u+Wn5UFlk1CgAJETrDEWOhHejQDDCu0G7+Rd9zWNxYXNxhQa9Zr8Afe\niJ/A20DiyrFiis2gMXGMIiBEkQjtLTtnscckUOLuNUGxlWSNfOw3OqflxdSg\nixjlv6YM0fUMvt+kJHc7LUyQfrUA6WM4Bstsbir4TWzMualzyumoZI1CoI0O\ndKbGpfHQKVJGMj9jkB7vL+KuRhMPeDQlEMWL39qw/fURT7/9FYAHi3xljQdj\n0a4V6ffBRSUeOwPUo6aRHEacpxO4GIds1UIY9WB2dJHzckvjH2D3qBJgIoxj\nY9pw6BbSu3PfJPfUXpfmSYXtgyCZMSwK33QgpJEIbutcL+YQza0ys1QmOzLb\nqu1hjSCJkZPF/DQkWXEkV11g8Oqy2CHICPPNJVntzj4RfcHfC3qogbl93XWV\nS5rUQVZZ5fJaqwToRq+3Ccm/nO+zxBQlMke7+Hw378oCAEoT/xVGXtKN3M4u\nX3JLk3+7lfQ7qJyGjp4f4LsUyl0V5UMGTagZOZ7NYjgDmjsLiNEsNMQtfJ1i\nFebdGQj1hBd+6bNn2E6bwTcNFdUYyfLOUQEWk8nHBuqw7a4C/C/gZaexyHCG\naQYi\r\n=oZhH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdm9fE2JOKQn2GoUynL7rNMF6s1NxYwCHFYaIuN4qOfwIhALmt+ruFmPx0ETOKoCysE6R281s8Rs0FuCxLqDZMeSPB"}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.12_1595450063582_0.7702227783135907"},"_hasShrinkwrap":false},"0.803.29":{"name":"@angular-devkit/build-optimizer","version":"0.803.29","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"1.2.3","source-map":"0.7.3","tslib":"1.10.0","typescript":"3.5.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.9.0","npm":">= 6.2.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.803.29","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-E/MXtKc3oaP7UvQm0g4ayfH8ImEoQnRWseKD4jjYG6TbTIqfIyHCZRcKIr3svY28hzASbro5IZI6SugG+llvFw==","shasum":"91c033e6ab3313d338ec9c3d4c40d64ce1b324bc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.29.tgz","fileCount":34,"unpackedSize":95620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGKSvCRA9TVsSAnZWagAAje0QAICjKQ0rvOnIzwhndR2D\nP5wCHOhcxQ2aAvxgOAQw3U0YvJT/74YrOQOE+azlJsZtXWZRMHUBCNEMlgEJ\nTE9AJXSrstSDn6zREW642H/TvBVR+QmRf+/1WfLdqI3mViMAI9OQsDFemFdB\neIIphqOLko6zBCrC5s9K5TNAUjeSqUsIMjCO5u9mAJ2h4/hxC22hYa1c49Ye\nK2dnMj4ZAfdUlRNuwxuWquRWga9fjtPSbgJcd8Z6cSr898gm6LUjhFs6nHEi\n0AbgOEMTWAVMccjFF8KqYysWubvFza+NyuQj3G2oXc5wIKoGMPgk6wFtAcDj\nv3Qh7gfU6QNCszQ1G8dHqYoETh381mbANPXwNveKxfhQmBjHym1EBMw6nJQv\nD2SN7RpbaOprYkuHnqTl9YE68wkLiKaNsNeSmowJUeqykKDVJuN9iRzaHWAO\nUKVRJDG0LV6lCPzRc/EnASyfZsTCXc0bZVq7qaARNJ8TVg9L0d+WBF9kj3Li\ncEUsSWwZTgblCX6n9aJgOToAW/UMWqV6HpFkeyPEWsLGTdQtZzQgbAC3yrQg\nh3VI/80gWm39pR4BE9+TTwRCNNPJMhWgrz7MI/swGPMgh03dxwWRIZqJnY0T\n1obh0lRg7ugng2qbyPNsZ0/XVJHHXSkAgfZkRnljP3GCRXpDDEg/ROM6fBG5\nr4BM\r\n=IURX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC94FxLqYw4aXjbopILINWOWAUA+SizQesBFEKQg26jEAIgLzGkcUNODc+w55DyqneirWcXVMB9S1g/vP/nR73OG/M="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"angular","email":"devops+npm@angular.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.803.29_1595450542570_0.0005857969284202014"},"_hasShrinkwrap":false},"0.1000.5":{"name":"@angular-devkit/build-optimizer","version":"0.1000.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.5","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-H6jTF7TOYq909HR6M3Bu8lScqrG1qznK2XMefK3m1I1jBJ+WO4bL7hrhTp/CIY3d+47txep+XqhitDWD/6ikpg==","shasum":"dc1e6fa38b7ede190ab1f31867011e624fde83ed","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.5.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJH48CRA9TVsSAnZWagAAvnUP/0IZ5jef6O6prrdS1LzD\nZ215+tOy9+HPjNKSrkoycvXQQ2qXgqa2xp/o71aO5czeyZ0xnZsWOnM1xs2Y\ne5OnfGtJUMLtvxnHbnUh9xnZrmIF0Dl+dupJt7ICnH09Ge1EQS1P5IaHuDPW\n5NQ9s0wGno7fPYdUqcaJjmSTtZaJR8a9RidNstgoKUD5LmKoqa/Phz+lBYTw\nNLZbC3u9t1PRyOWNWR/BFwO55sVWut2f30DYTRlCFwCVtYdZdaK+kWOSRwNc\nNEr/khxCFX3A/UMXSVmJ/CJSjyr6xGF1kMxWXQc1GueUTWeJiwUquu5M8KMi\nmaZNumAs4pog6Kqet/x2OanxV5Vf+UPVJmUsW02ijrVrpTtGPVFv1EfJashA\nD2cJfZJYW364yz+SqHWEsCi2rFg5MaurXbg4yw5P6Q8QmIAitSIqXUmYjqG+\n6BAgyIdnkKZpI4zty88y72VqZKQ8PjelHPl/4ctjn6FGCz9hvX3DAVLJd/Os\n24d3NMSI3AUqhRheUxsoVd2aRFgWAGYZbE9PqIeQjfZeqY8vXKvYfbUSbOb1\nRxestL5R9h4jIkuyspS5qBVWJGng5R9qajiflgCbzr5Wlm0o5G5ObVJBULtr\njjIMzOlnO12VvifD52tAPeSaz2PR6/86Y0GS3MZaBxaRl9Pi70NTgKqV10fX\n/2fJ\r\n=LiOK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1hs3VigsNV8Itfy3kduHAeWhkuM5OClYHVQvV26SnYQIgMMUnPVJZMDD5wzotVJtZEM2UdN7Z2kxXKBT7GPYPzZY="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.5_1596227132232_0.9918771937046624"},"_hasShrinkwrap":false},"0.1001.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.3","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ez1Nu8v1+52g0eSdCl1vrfgj0vWd7CQWfh34HelSDYzjJveacnKCBMDj44RPklMS6yXrvfDvZQHlf9JC6f85tA==","shasum":"a9d1cb0e6b3b1b619b3a68b3412d9c0fdb3d510b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.3.tgz","fileCount":34,"unpackedSize":7843543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJIFVCRA9TVsSAnZWagAAaoQP/RMyaalSmu8B3KlV67i9\ndj3jsnayUzuSOyN3BS4IsIsmqsApzKAMMRi4KywSo51XU1p5Y+0YLnvivdSH\n+PVJDsXUwVkJXPPYXt5e056IX4N8X937KEY1l+FlBzbz5v5ocBVtgPGq2qxu\nZc3xOiqWPmQne5VnQhr2cSSfxBQRk7086376nKTxtYj2qoOEQPrZSC1ccOOp\nnfUb4ZGJ/LwisjEK41BHTdHHXuQO4Rrvjsw0YBl0c7MVowYZcucCgaPhvupt\nQ3dViVue9xlTDjDAvl9+7NarfxLc0TK+34mBD+cyDSgnJN5NuBTevfr0wMFC\nBwI0fwTnJo0NZGn0oUO48DGb2DDwYADJgj+JP5Yi0ZqX7hoCFFSRAnX3fsfH\nTOoURQGwSO1BzJvFNah87W4zFQU4XcxNwp2V/VQzEuoRL7fWt6cEHBsP2fYu\nR6YeeCygWpOEzMMTY4ZDOMw+mwKdO3AYMxxklMfeiv2YBsqHBBPNrM0Zgbr9\nk2j6dmWvcnqLZEjyOmX120L5bS52g2QwkNduBihkjNe04rl/JJVGcpv9chQ+\n3P+1I3Q6iJb/FseMZs/UsNVXh+N9yyk6cgBpjYv729ZBUrACp3d/AVS9vVUW\n+aT+/pTmjLQ0BVWucD/cMfmUQKQDhatQW0nElunruL6LhRmaWomPgeI5G6BU\nGCVa\r\n=OlTa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADgojr+XaCxjIxyuB2/wMHljlGrIa7ygta904jEmJ3IAiEAkFE++DnQ0urjEqOmDjGLPKE9aWltVjWObQ8LNQvVVF8="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.3_1596227924811_0.9667797457577532"},"_hasShrinkwrap":false},"0.1001.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.4","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-RoSLO4LCV2MRyhqNKEylD0DwI67b7f/NKD7mx81xB7oo66eqkDqhHArLiXWOpz5vDGZsQOfX9X+eep4YM9UMiA==","shasum":"24a2f7609d4d564cb509c022db52cbfc787b5bf7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.4.tgz","fileCount":34,"unpackedSize":7843543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfK1fcCRA9TVsSAnZWagAAoewQAIGoQzcC23m/EwUOW5Zl\nzaL77frTSSzWWPc2uKKtsZ3dJ7dsXyr9CbhPtJnawnTg42SgcgT5gyMSaIBf\nqns4KvrFY9zOTNd873kwEqSLO3GzYg58Yc8peRyLGYaH7G69HYymdoJ1C+Tf\nQS2IUgEX+6MPqaPZVSovdZ0uwRw5o1gGKOsCsY2fd8xMCMQEj/RwvCYEtU8l\nhUY2w1UtvgqTMilfqBudwnMK/gOUKsDN3c+5ScL1szVZ3rEiNTULQWP8znCs\ndRMx+lSm0CL+qO0tdHVL/VaSzpQFfdLzehLsbGzHrvs1ZOBnyKKn2HWYHD8r\nGNsvQyOtxVQgEwdUccecp838gXjvW0fsnuixXyHLMq52nnyTu71oUSfrkSox\nwJsObM3bnBylIF5uZldRXuqHu4n1M5ktZhwyVucuFRBiLkx2RN1lvYeyDeWm\n48xCTl8InebR6Qqho4a/qP0TBstd0TjR1ecBieBYoQtLc9tmBEiRts71NyBq\nBrjJfilmr6aOD/kJ0hZlb8JSDScgu8kRLxbGE/v7XHwgizcw45dOh2NLvflY\nDXsVpDVW+eqISRyex06L8jY0vU+cIWxftbU27R5bgQ1AWOaUFmKpNAij++3x\nfVuScPp3+em+kugQldCw6iVNU4ohUNYI6H2T/QojTF3/8S7M0aqtqjgZZf2u\n9WsI\r\n=E1wv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmHhc6jQAS+WhnU3P575nShvaG8tUxeGhllkqRaky1OAiAyb+jLrSwJO5i4SSQP75g2eOfmm9qkmwBfFQ/1YDGDjQ=="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.4_1596676060205_0.6863410195509017"},"_hasShrinkwrap":false},"0.1001.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.5","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-iwTT363AK6YY2L9GXcawbla11m6EfRLjDVML1wbe0nzf+0Jwl8iK+tqPpdzIIgnMQcoo6Nd0gU4JjFXAb9i1CA==","shasum":"020b23c1938ac71561ddbdef74bb3fbf55195c08","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.5.tgz","fileCount":34,"unpackedSize":7843809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNXvLCRA9TVsSAnZWagAAxcMQAJRqxv2o54j8+38ZqW7M\n5dhZ8yaNaZO9BGONO3nWT1TYX/9BSZNKbeNIWC94+x6eYNiCetNedMR1143K\ntPCV1M7Qou7w+kRRPFMc2GOk1bNKRxWUNqewhU3zm7y0OMQycYv7jzWOVgzD\nuihx3QW7nXPlK9jbo04zZhRybQo5mePqDfWN5kb31q9/AOYTysZpqMLm3M2d\nr6wGN0lsgBzYNL1kWG5uE2yvR+xAqOAffT3ooyxbgwOcTxjpa5Ha2bI24/VW\nojaBLyhBT0n0SxFNX/iWSKMBmtQTjOE7ETXbE9l5J42+oPCFnjzdlX8D/oqr\ny7QImlG8Bsr648Q+3VUgvB8wd4sfVGRf+S8rLNe+qmiwrZDThNMKeSwBYv38\nnvj6XRspFS5pxWPSYZO3ih7dgED/SGLQVJQa6rU6B7+tPaICXHq/eUX17Bfm\nX1NqX8vXi4p+Xl4P+TuOE3ruRx9V4uogAIcAkSNjzqxuob0+Ki/83lSLlOQp\nBa5JIWr5ebmNSwCJVi5Qqh2oMAjlA95PbYJ/OSUZACwdmTRZRqYxQv4CkYMz\nX/4F181O7ubs/V6N80sBlLeg9zTrBbRC3RXZhvaLAoGGc0ldgdstmkLZShJt\ny0GNMHcmkdooer2FQHfIzBbgjXPtY8iqtNFBHki0JrliEMAX6g/w8lqcoWar\nl8Bg\r\n=MJ1I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC0+EaAAvverBtpXjKrUO778scnwwfOLNqDTyQqKhNK+AiEAsvznAaoWB4jkO+dB2KDOYUdLcyRaN9bVifR2m/Vn0Cs="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.5_1597340619367_0.7512635528804474"},"_hasShrinkwrap":false},"0.1000.6":{"name":"@angular-devkit/build-optimizer","version":"0.1000.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.6","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-R8zDEAvd9PeUKvOKh6I7xp3w+MViCwjGKoOZcznjH/i/9PQjOHCMwU5S48RQloQjMGu96eDMUGOVnd9qkzXUEw==","shasum":"f5b208be155b0ffb37d7380fc1a0e12a3765319d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.6.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNYGBCRA9TVsSAnZWagAA0xcP/jU2bWjLDg90zF1nhsiQ\nIaA/PNTmJdPKhtOR5hdEdmTulWDmidvY6jCzI4RrRZACfwq3kHYQNplzmDqA\n2U2ZwHGoHVWnyI7yLikUdBqtJzfurZEEPmPR+w8uVXryMDES5qGIQrHzsZ6J\nwOvQipfOeHd27kgO/b4TmhzCsJa1cGZ6JcSwysupASiu9rwa5nDlL443Zq/C\ni0qgY3RDvCY4bslpTAvL0ZAPgdBvyAOtkN5fMcaPElclW5wWUXRJn54e/sB5\nw2FK8fpl5EQ/Jt61A+KDTIPWCDw2DDziz3TfmfL0tG2S0dHBugbqsMjZDiF0\nSI0R2XGKTBrQgYWACoUNJcY8fxBwfnCHHycmr/N5MfpOF9Zy+wcTNMtAVF6N\nRHe3IyjOtTAsY5EslJQirdruEbD7TN1N/SxCdSFHUBn7Csg87G1cPtXfODQ+\njskgKwXkR1F5rPnyUJ4eXTgo1nM2gGmqjBrIssTkBrHl2hcRcOfrOY0n9y0J\n9wq53d2whiAueDOSE8OFOxwhhGphxG+kb7SgU8ESrAVUyroidRQEaOCmtk/M\nLxo8HWLbGde1wW5hEknxdmfgcpWoySwrmqPtdrurU9WUmU/bKiD9TT4ZyMUs\nrTVxSNebZY4HFYXyomheKTlztndXYAB8qnX0lagPugSEdOun3bLTdvas2kBs\nGqFQ\r\n=Y5bx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH11keQIV1N7GD/18K7BOnGwK3BNGNrZP7MWygPlblNvAiEAgsqESWtwBZF7vMvqZAIA10sPbPUh8NzrhZkWs+mtNIY="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.6_1597342080723_0.9000759071978408"},"_hasShrinkwrap":false},"0.1001.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.6","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-eF8wK2BFZBoSaaOfgLi5Rp/K4s+VyHkoI7KIHAQN2RAx70oQ5GazmBHgiYZYQYiG1iSeOLbkzwiNNhlXubzSbA==","shasum":"1f657600c84a5480a7bcaafadab407feefa312f7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.6.tgz","fileCount":34,"unpackedSize":7843809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPxK2CRA9TVsSAnZWagAAS/sP/16UMZQqWRYzOa3djQ6g\nxzbwwBp4IjcZJEsTRrVVuca+VsdXrCCUvMUAlrTJbyGzxYXOQhVkfhcrDDLL\nQXIrbmdq3yrniplKO5+iu7ppmFmasJV3x3mY/3HdjlYAcjOS+kaAmOBv8Hyq\nO2KF73pHDTjk9qzO826Bd+LC493XofGHYNMs3CrJ4TjsZrgFGQ8wXkcb93KZ\nVszbeaOo/Spn9Q1ZpKdSX7YTdT/snemQA3DjhfLNa24YwkhTM8mNIomFb2xe\nsIuBxuEejAd4XEP9Zv9/Qe6tLJzww1RhGawxo6a3tM3p940OEVZLnY3+V+/l\nVXioMMj7w4mBD3/+4gtkN7mc2vP0D/1wzFLeA/0W5/Lktb28FLCttdzLD4XP\nL6W/ZzIbLVcThUdHvUwblTdI798nMGEEJvAoNMijlMfozlOf1dgKKwOEvOmw\nnKiNR4GNkW4QmdyHMMvAV+qynrG0jztv5l4qGaqToxMJWtWK9Zio/g8iuSA5\n4fJNta54aedfdDSTeg0NEiAUHmgo1k1PAmC0z7UybgbtP9nXD8cBnXvui+R7\nz6hWVkzzL6IsOjRvuCI1CqvMsmk5rFp9Vu6qM9Hob0/MYKQ9zRwbwbsyi0gF\n2z9WbtMhbwxbu2LUZbwev+lr5yK1wRNJeWF27DIjvYI4JQ1MSk8pfGiNTkNm\nNW8T\r\n=gzK3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3nwMETPg18yxXe7PdQT2ku1X+dkQMruX81X5DsWoMFwIgMvJGMFMBMmb56kdSXmK0bOe7rstuc2p3EOl26BmyNJM="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.6_1597969077863_0.0759315055716594"},"_hasShrinkwrap":false},"0.1000.7":{"name":"@angular-devkit/build-optimizer","version":"0.1000.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.7","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-7vnj++astDMnsTPEiXgpXCTwo/zbFmJadKTIlHoU9VHxQNwSfPwSCtPuPlxynquJu5zxhs24CNUBLXXH8z9ztQ==","shasum":"2781dec3fb818e2216f29db3f1c751b9d3d4e37a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.7.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPxTCCRA9TVsSAnZWagAAZDQQAJIevCRcnsaw+Q+vH6PQ\n478PV2QcCkNhJE0+BiSOY8X9sVSa2MoZTHp7fCBhZ8AQPUzAzRbNgPquZi4j\nw4qS1gpBu8g3szcNCofVgIQ3UIsqwmjaYOzn8V79KHjoCyXjHSNNaPZ1ELbN\nI67tXY/5NRLuF4Dl4QJ6tWMAt6bSqtVlu46JNPsr06lCMFxeQwQIe3yHcm/8\n8YgT/LmeLiexFiuOhqOVth6wTBzcz9Z8f1no+epEaikEsRWmkELUfo5CVVit\n6z6e2YQTn9V0k79B2CXOgIkvxLUPRGn9gWH79cX+u4fKTJSbbi6UPgzwqcfM\nbTRu6WvbTTD1wcaAO2InaU6hRDGC4jXC0fPjV7s9cuI7EBRy2wfDdKuWAzlW\nX4xCIZQaja51OQkN/yB3RyfahuQTRm4PN8uf9X5BE/fMQSVUGS2N51qWup2V\nT77STzdgJ7IGWlNIogJctb5kXx6kzlY0t/TOPLs8GIgSGtRWAytaDgn5/JTv\nPl2pczxvNV3KUJyih/UQDfg3z6XKSVgkx8ZSPSxtBYfF+wG9Y+KmDvQmFxfN\nHwaZc7HdM9v6Gmd0DNKd6y4seBGTDh4r2lbYjuf3klxJo5xtrdbGuvjdcU+G\nqlSMv96hl8HN9lzBgcDqYp3yEa1qsWNn//FpQ9pmhJG6LmssM76IUgzVXN5I\nNWj4\r\n=NdLT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAv6k4o+eAbpFIeHU+Z1s+3Rdvh9CaGgqPF+jGEYb+o2AiEAxmW+4nV9vdp6CB3uvQzJIeOP6KE0A9+uYyWwSIt1+L4="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.7_1597969602431_0.678826698964826"},"_hasShrinkwrap":false},"0.1001.0-next.7":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-next.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-next.7","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-TRsSAGJnwgCr/c2146xtnCAGG1PWx/HUO4RrVokNsBjhlwLUn6L+P8L0kckw0uNW6ORNA6Tywtpx+ArKfDlLgA==","shasum":"fd0f6205001b27a1bbc43a14c85e5906dd33f41c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-next.7.tgz","fileCount":30,"unpackedSize":83973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRT9MCRA9TVsSAnZWagAA/+oP/2aDSjqyMtbl3+yodYov\n8onqifbHZc1FRrIDcBe6C193P0MO1v/BddspTcSEzLPmUhB/GLw25QPqfSUJ\nOy0/1qfduwywm3QQ/vDqTmpjEsKxCCagQY9sOxY68v70ltiP2eGkyEJAviJ7\nA/DNgsx60ju8NeZBEAVmo7eFknhPASV4n0jQ08PDIyf2pBl6dMMjI3cTOVny\n0TVobwE+MU/iems97HMqN+euObaZGehB16aeenC0J1J7/vrxSILyu1FB294S\nSrRncUZxawvxZ/KAvk8PoGgE61FpEeDUB60bqV8sd9OLAzpqyduwXIXdWYaL\nui8qTDivJ9ZfqHdODT3oP1x9S/doKMM68Qm7W/hdjHcSPtXWifHQAjkVnqtB\nDeLKmlHbhXxh0dSasK0zSvoa7ZNX6TclblRWQT6RPU+TTLzU5cmWrnhEW8LH\nleJd6rYkRFtU2parwFdIlI7OFx6onvKnyJAraPO68oYL9UEy0rpYpXlkxqD/\n9D9pOf0t/85xq9Cuh88Q6oh2cVv32q8RcIchaDWRicTva0WEVu7923hsWTC3\nyjvT9zMz29GFqibyKzm2kEYeFfiIIqWp5X2X2CxjUbYpFRfOlhtVYcmhBg6P\nVEIORc8q1UitIR7WvxQdbf/ltwl5Vv+e7qGoYuLHu7myYGWxi8FzbfByeY3A\nv9gx\r\n=h4y8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCknxAeT4JMWN175R2hZrKw4CjWAZNdcC+Mb8tBkwmoegIgbeDOs64fRfYurOWuPl/Cwtp/sef523u+RQiN/ut0KLo="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-next.7_1598373707559_0.3240918702549145"},"_hasShrinkwrap":false},"0.1001.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1001.0-rc.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-w0iFVcEmFvRLjTkrtVsywLVy5kw9YyZ+/S+Z/po+FedqS2oTIhHaG5giHzLmzvTMoJ1PzNtmDc+ewW2BGbggpw==","shasum":"736016d8c7d2cbd23238dbdf7123a5c9532df2e8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0-rc.0.tgz","fileCount":30,"unpackedSize":82602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRueaCRA9TVsSAnZWagAAw8wP/jqCgvrjn2B5uNsJqI2x\nwyALjqjFfOuSNAS6fGiGhmkS9O21EP/ETsZceTxj0kn7aIDMpj3xOUf4yiBN\nwYCUBU+sK0CXeOX3NR5TZUzVjki9SeJi0ugwVv6k7j4V9IB7TB3l4Urtlh6c\nIhoOycnMUUq+cIjRU7x4XLjeALoa+Z1ekHINxhKibymzfhzVO6g3wEjrQ95D\nX8mstpxfVDEEYfn6ssA7HCc/J7Id0YibMj1g7IlqTD9mW1nr6Lqwku5iipB7\nDCYU/aaDfM30CXW5vsoX/0TX+xWVuo4QZewAOATbL6PMSlzoeXlPlkNF2E2m\n8j7GqA8Q/fZVB9mzwpCVM2kFCWH88RaxjcICGpAvLkYo8FPD4RTrka5qZqCs\n7pErlepXNP15gf1w+5hlMb7Ao0ONItm6RBQ6vcyt4iehAShoyu1AKn/HoHUz\nnza2gcgt4ZFmDJZkJQCwq9/fn9IK5fQKW/QGR086/WDqXXgJtuyuVy241hS8\nSjvvTjb3h4cBiCpYmECwT3tQnTpM0QT0ML3vTKDwlzmUABKX5RIy9KgwR1zs\nFnffO+TTsXUpKLW+7iQF53f0IaeNFd79yLmmD6sbHoZm42LqgX/WxwDeskiP\nyjNK3hTTAUsOSm98eYM5NC7f7fRem41QQRrEeGa0L9KVSFgdXj9a/mQXcuts\ni//1\r\n=2mex\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFFHzM3TQsePfNepj5BRiNfwp1zaVtx16DZPEhYSwhhAiEAmK8YJ7um0IUpigaMlKVTtzTPpX2ceOVt4Cz1Rfsp/N0="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0-rc.0_1598482330273_0.16966323597539912"},"_hasShrinkwrap":false},"0.1000.8":{"name":"@angular-devkit/build-optimizer","version":"0.1000.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.0","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1000.8","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-esODHuTGEEMx1SmLUq03VAMly8gZUd1vRuvZeKS5HqKwDg8ZzcI7/25BuuUSlyST+6BEdjo2gnmagQnG0VBdQw==","shasum":"55023cf9e16813cc01b255e99fabb92426eeb632","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.8.tgz","fileCount":34,"unpackedSize":7843536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRui2CRA9TVsSAnZWagAAemIP/06XV3eCsVrBoexFHuBC\nn6kvPXECaH8VGlMHx/el1vB4HUQbiZb4rlWOtpcwkm2LbN9DNImc2Bv9t5DF\neenlT60sKQknT/eAui/lWHvarFQuV7fvQavlF8gIWcNKIe+WIgOnsTuxCbFY\nBg1p8mimXJC+FKF3NieLtSM+u2EFVKNoQVZa1/K3dahftwPCdIxyQ0DOYGLq\nrzr2HeoP03JceFrNwWPtWI9v2U8LJ+Mqo8cS7wH/9S+c4sk3ciHvO+ahnNvU\no/mCetKqtmA634/i3X6Q5QYU3CMx0s59PqciNLPDnNbuF5PTtAfqFyY7wczX\n6YdOe0Afs9+6ymaJYHOz0nYRdzaSJEtiVHRkHKbgNY/3QmK3jhubAktmcN8Y\nYrxH+bqo5+q7pjN9XhEfvldDP0Yy6kd6RgWQ5lAjnaqbsqZ9Hboc5qyrhHnp\n4P8EiC0/vP5XR70yqNHU1Q7PVaJOBZANFYfQQvh8E7k7qL8NswYSaXUgexlu\nTXQZ7q32z4Q/7yScIFJdIPtHSHgHeg1H3bK2lprOafhS//8JsVRKuKAe1R76\nRKsYl3ECXDxs231MzUhKF7CvKM/eqUxXz+yfL4IV0wCXzWZWiBvThL+wdjwM\nhYOKjMR+yhg+tQQ2hfzAWITScFdGEZTbHrqksTCzu8Hgtd1TYYBWCrPJ5Ahz\n/kge\r\n=FZ2+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICrcYdRDaeor1rop54XFQOMVCy/2GxfJbECT+A3yGKdlAiEAq6tFimGIQ4X0oj/tCJshc3KIXhPi9yyRdbACoimWxcA="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1000.8_1598482614240_0.625922542238996"},"_hasShrinkwrap":false},"0.1001.0":{"name":"@angular-devkit/build-optimizer","version":"0.1001.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-yFHjaUAh9lphLtDLI1UojKS/Szzj9zCq8RHsDv+GWB+2WRWrXB9MID5L/CuZsUdvsu0O6ALfXkNjoWtgOL18Fw==","shasum":"0e018138ec33e47b9cfbceb67ae0a5fbd5a26f08","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.0.tgz","fileCount":30,"unpackedSize":82597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUCIoCRA9TVsSAnZWagAAOIQP/3JH8yShzy26tZLSrl4X\nshkMIfX8o9mkFDCk5ahMdTuJedT5fp+e3cREuTjJMF9vveGUdAcV4B1Y2SwO\nlURKB1IoG7UL2kU9SY5QJ746GgszzslXz4ZvhsebaK6uFM+ZaqnCNSQDlWgH\nHbx6IfJ1Tgl5ByOj8BT4ZTdwc6ECM8rpKUGTmRuTOJqT2CbqDikZSRmF+v5f\nKtPMRw+MomLgBerbHBX4HBU79+pVe0sPYAKmU1MYOv8dk4edD5XZK8LA/0NK\nj14ryOmzjZYT5VtRMPv9BtGmJPp6b4DWFbwT6U8n+ixQDJNld0WSUSCNRCsu\nyVcNapUiVXF8hQlZMVIfX/lo0PXLb8c16l68cwJLwYX5qBgfSaupQGN0dpbZ\nOYcKLS4GK+oPCK9MmCt5VnVRFPVS6cpgtGhX9VYuRABUCkYzvh/Ke0akTN/v\n9rUasaQzFZQVZhdR3OEIVmDFdwwanq5u12WBHerkeJw3RN/mhwTmzZPLN6XR\n/7F5lts65JNogQnF8wBapO1WSopyxmSVTMTIZr5jxYvAP+MRa+1ZbJ5afUil\nVpC4UQPmtO0lCSh8fnlQ6kO84f5PrCPwScfrVTHKLoAejnpwEOCzV07rl4lk\nocjSHk5VC4xcBnRlb7VfmLQd32/81AOW2Idzofzqs7BoysB0HpGIczCtFfXW\nrwZh\r\n=LquN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADAVDZ4bShp11TdeCIcu0rW1jcCaeQAWlZ4JlqNvmzaAiEA2cHVPW+3YmVZqUNNWSefb8UcZqqz+W8J0rMLjkCGqaw="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.0_1599087144358_0.2118317694255183"},"_hasShrinkwrap":false},"0.1100.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-A17okwQLMr5R8jruTCqgwgIvnYQ9i2ijunswgJFv+Vp3a0julU1tgEJrg4BhsmjMLdqk2zD2McFL8VXQ6HE95A==","shasum":"4c67eaf0c0120c39d8171032a5923550099427b2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.0.tgz","fileCount":30,"unpackedSize":81266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUCQuCRA9TVsSAnZWagAAYYgP/1eoIuHw/JB0Ze0pGJ4M\njaQA04AicLGMHvkQ+/S3l0jVLtMSUnmCZmZKtOh5SQiLNa26IFZEow7keY2a\nNjPfKiRsgpDxPidSPczAWb6eeEsGI1lwPTV67WG+attQnp1m8llGUl2vb08c\nhzOqKP6bE1X/FrvAcBjPSamTEvnF5w94Fa2yuCmwne8sgRnwwfTq/GA3eXX/\nKBwqMRkGca10e5cjEO5/HK7MdHjIZapvbiMKNrOF4qlhN99ScoEBhrNw7wCk\nuxfD2rIAEfSTncRK6zOToOKHFgjaAi26Sjg7cB+SWz5zfIBqgpIf1L58SURk\n7msWkH2oHH1MoLJYENPn9Ex9dc1n689Rnru1XiJMppLoG7HJsI+BFpRZRuWk\nLiimYeuV/nbxqXMLlwQrAR6+49JgvIa/JDVdACY3VicEZWDVCRsh8uNoPtIr\nLLW7i3hSs1d1+yoIN++5HynOQetslZIGsfbsTwyA6RBal7kJ0XqhWOCu4Zf3\ngrcpwP7Kwj+fdZ0t123xwm41DrcnUvuIsjJeze21S8m9H7Duh1jwyFFEHzsh\npM57bzyMkKS+sANRLaPAZdTtFjBKB1bjPjo9PgGUhEOrWURIIdVe8XzYNm64\nbeLG4HrNmUbg+d3hb3tITyanZEY92YNnBYgxYUbfzeDRXleV4RFJXKnqYB0k\nigyJ\r\n=ARap\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqkCCEyKQlNIUhUP5gci7AWNyGfr4JtfS6ANaXkSWChQIgQflKBkWBVpiglyeufQYmVsq8X0ifLi45Dtkh4/s1WOM="}]},"maintainers":[{"email":"devops+npm@angular.io","name":"angular"},{"email":"hansl@google.com","name":"angular-devkit"},{"email":"node-team-npm+wombot@google.com","name":"google-wombot"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.0_1599087662029_0.929293150984333"},"_hasShrinkwrap":false},"0.1100.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-lgQARFlNKZW/2Gp5q/kT8YpHDdGAFw/QkcHsRmCuHpdoof+ksi4dLhIZYk/1b1bpmFB37z/j1uiHvzVIgJVnWQ==","shasum":"68f91f50ecc8fd06bb24f3f0e1e3e92a1d366aa4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.1.tgz","fileCount":30,"unpackedSize":81334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWn34CRA9TVsSAnZWagAApxcP/jeNERnhM2a35hnPO/gc\nx+oRkefvdkq8d4xMOdk5mC54DpYRJnNJbKXiu2NMp/zfAAoUa9hDqhWshRGi\nHeGsYskyT3ZgXtf/wU8TbPOq822eO8bTE/rVtvY4QJXXvD92Nthi5cfnJOsC\nZbDBVwisBvQClpPOCF05HPwSuFfSmLxUB6fYBPCWK/nj0XoZNVRMBsyU+ewe\n2LNevHAYBoSpPPxi42FJTji0Yu/N7wix9il7e1dgEv+xUaQwpE4APPda1pOf\nTfy2py6/vXko1FIsWpIVqrpjYq6AzCRav07IunBuw1bNLnF+OR7Oh3GbE6YN\nMiSJTmQNso/hI0ZIUkkpiubxrWSfSVkKdyiLQ3FwndBiDWGWCUOGWdVQvgCj\n5C7be0LE7xZ2kO6yINuUPjoPJsaiyW59Nmk8igfltSq3YxgJnFWBriHCqazD\nSqDIv9CVszGJKWSlV8QlR2NNejqb9a9leLsRFFj6DMpx3aFgYUsBl1dHzH7W\nsI4/CsoKClmy16eWwgm7lhu5KEpnpFRpcSeEIV7vrni7VHGtL/gVAT/i60aK\nDxtaUA2m9A8B6NaPKPfyXyb7E7BpiuusfFwtLd9YL9UOB7OfzPwqmE4RAlpg\nI4JUpOFZDSgLMDuQTetZn7pIvsZUxcp/2ZntzcAWeu9gS7kLyAuC1c2UQ4qE\nlldG\r\n=LvIh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTypAhQacULnXDYZCIAUzTk5UZnCa8Be+Xb5DJp4UlQAIgVxxEq+bteilsEbxiuXlbjJpMxyG0eHG3M+lNCJMlQqc="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.1_1599766007802_0.48794374192951806"},"_hasShrinkwrap":false},"0.1001.1":{"name":"@angular-devkit/build-optimizer","version":"0.1001.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ZjIK0YuE1lQ5X1YM+WAxuuJ5g/g7F97YXlDXEo8wsfIia6dAW4gI7Q8f+lgoqxBwgmxuYEyd4DFHNZZqnH3smQ==","shasum":"9c765189c3ce62e361be5f77f03bb6648a9597e3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.1.tgz","fileCount":30,"unpackedSize":82665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWn7hCRA9TVsSAnZWagAALfQP/iurbvL/tAVMOitJATv7\nFD3VOa2P3EC7U9z4qYSIBWoJjmnccPN2o4fFfN/YV01cDxVlG3KUQs5iGR4x\nIVfpPqXoGxAFRvu7uDBZvGO4bqUBpcMt9JNHa7Jlz7DJtK6DAt7SJUiMjfWk\n5wfw8t35dBJWQg7Qt3iFp3Z3GSrqV19XbnDnQ99Sk4kPNNGHd7pqyL4I9CYP\niG/Ilhw1WhsASE/M6z0RpwDhhPjwN51Im97f7I5mEZgeA+ZrFwsZzIflQYr/\n6cCUeeP212PjpmNouEUl3nVQ4Bi4J0yyBsBp8TLGzFXO25RiUt52ASr9nSXO\nM5iGFtmFUHWBS4l7Wmm94FzhTV/9gqtKUy+bIK+DDf1foEnOmitawmYRFfkY\nvuveCTouT0bTa9CpMGmbb2Z/OGgGHGBYP48Z2xjzJ7231nzCagm4oX9yJFpN\n5m0B9kapb6BnPpyBIpLMbHQ3C0anZHCT2x/0b8fnRB0NCPWxagy2fXPSn4rd\nedMgR2Lr1NhQ4jSoReghnwlg8XTyuqbmSqpqXs4eDPmjLiyvfPiniPpdHEFk\n6zy9tsx64Waz3maL0M4n2CFiJD8ksMJ4Rg25yejSHHg2ZmqGqtDbLLcqbFks\nPuZ60iaPfEVPEGBu98Q3fHRIJ5tmowNfYuUOG4r43v9LnMI+MYwa9sm44Dy/\nZgWy\r\n=DxwQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIADXZEoTN4UvZofA2AQkedQvUyOzGpnPld4jjRc3xTN8AiAXAWr2g6Lr0Eqe9lwX9MFnuwSLqjJR4xYpRx/dyzmv+A=="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.1_1599766241289_0.4380310110774883"},"_hasShrinkwrap":false},"0.1100.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-emQb4skna2GVDXEeq6JRv2phDCUiIWJvwfq0SWUxqiYKnt1L+sa/gxKfbw21iRNJVMGxuvTGZMIEl1ocTsWQdA==","shasum":"33a1ff20ed345511f3ebc9e187da55d8dad4c557","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.2.tgz","fileCount":30,"unpackedSize":81334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYt98CRA9TVsSAnZWagAA9D4P/0uD4U4eOq+T9M0qO9C2\nuPwo+lQxTMB5xX3vjh8UQjlvbulmeqOyoE/xDBGvICnbzZsYucIFf7gjFLBm\ncM+vLxCSyDE/yH9F1BXIsJK2DjJFnrVrMQ2qnv9DsAa6Rxcjn0zVZoC+21YU\n2Q8rDQ2NT/4MPFgGHsFAE78vbfkbe9DwvYExAWLShFAnhEFNtsZShQ3lL8SO\n6qAuILUT9bc3V6Bhztwd7SBHpgF0w90BbYp+wkpKBR9xUH4qfYYNVT2I4yrs\nRRa6sU5xgQB4nAf8Ae51c8DFUFTGZOp46FH6+Obabn/CaNUkjHnnBXndowv3\nDamSDsbwJsn5o6O6SckVkEh2WhcEM4pF7ypMgXI3TmMMcOem/rw0C1uR8laQ\nvt34mFU+4ZkmHf3iXS0+JMuiX+CtFW6KOJWFX0jMuQvHbVIK+i+RPOpc7fo7\n+Fhz95kcV1TwGr5Jd0EsKu+8GWmWONirt09+2VC3IrHWfJb9eEXDOpNu+55m\nJ0A/RNQhZ2fk1WXHsYMiwtdH4xTedUz6pUUcyp8mi06Q0J+BIhA1oNEiRt+H\nQyhej/jrDgbnHxwGDY+qGXRlZ2bZ2SV2sOBXJOM2wVbFxRDNgn6Dp/s++bof\nwO5rIQDyRYqOQoswiclNjHU9/2ItM1J02RcfaQ4qqL4U3uhST++yDJrVBgL7\nEaVF\r\n=yx0M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVkQNW6bhsRgSGzk+vriiSvYGtfWScenpVCjOTb1V9uAIgeOWOCIJ5AkRnUJWPsod4Sm70vQ0hxaPgD2K8x6wxXMY="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.2_1600315259963_0.5958804930236088"},"_hasShrinkwrap":false},"0.1001.2":{"name":"@angular-devkit/build-optimizer","version":"0.1001.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-aykCI0cP6wEW/6GsV0Rs59doN0n5ztsM2+qFrZMSHyggaNzllVafYbQwVvA7t503QpOsmT5E+kve/S/4dMgmFg==","shasum":"ba0f51f245b1df435fe714357a8ea261125da958","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.2.tgz","fileCount":30,"unpackedSize":82665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYuEtCRA9TVsSAnZWagAAA6IP/iiiFQqMyRlSb5Q/cTwQ\ncbqvN4jX/Fmq+0YbfgrrJ6cW5Y8FAbf2z8twvthUWrOZoCcPOfJ12U8goO7+\nPIq2JmwfyYQB+goFVXyL3/if8ntsifLsmJxRzcdtszIKrUFpE9ZDjYCNRivH\najTLnj6PsOM0ylzuff88a3lMF5ToRpXrPM7CoTZKM+XWFyIEoGW9FbG30bCM\n02NaMkXGfpft2C9AVs79XoKujBK+mmJWzr8dRuuqJnvbVfR4ai1hCgkhbaug\nxdA3XIXlg7l+oe4QXpnPKsl7NX63k+OntV/yMRrCVpInASQvvIU3kXqBtcJ0\nayDiaQztpecMZaEo0zwnoUiOlH7AW8S7QimBnEwt/RizVKbrfshGQwSFpgpk\nJqlZWLi/jD8Lp3dNjVuUdkfPJoE9KIB8RqoZuwPd1qPYZmYaVeVYyDonoj4l\nI24byMKO6ANpcTVyYZ7CGu12xc8CosgJB8n1RIdw65e4QPooFAVbhk/ucNBe\nAGwkdWB0X1MXQL7TeI5XTgDbWa6/nrC/W2UohtSjfi7h2mRTH5SdYsYi4m2y\n+GhCwubAG8BiP8ZSKibh8otwzxx8gM5n1tk53JSNexjZ2f7YrO4XkFZivb1/\nG+DGz/DJkDm0APbHYpiPjkE6QeWOMGZdfkro5af5Y0F2vp00etH25ShkVL11\n22P/\r\n=wtzU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHblcGpeZuLwQqhjcCSoW6TVGpa7x1+S9vxfwuysHCjTAiABggeogCWduAW0NXk2mzT5Acr69a1gf6azALkQ9A3shw=="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.2_1600315693517_0.2951570326858153"},"_hasShrinkwrap":false},"0.1100.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.3","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.3","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-mg89+53GegdM1qB/zZunvUy64+Ws7VBaCd9benJ6zPqLwgcC/PaW7rulnuMhkwP60GqGjyBG5rEoBrF1XiC2PA==","shasum":"e89a1fbb45a0a470c935cb50f6ccafa9e75a3093","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.3.tgz","fileCount":30,"unpackedSize":81367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa8pNCRA9TVsSAnZWagAAW5wP/1zAsdrRu/2hNyzRspiM\nPSfDc8zz0ojZPbrQHuiyffCHAMl01qir2t83qa+cMZNmG8Wf6AiX62FP8X3m\nUPn8LI6RKRCv4Y5fz+xjew73CwVzzat++POuHLWTPU24cqUYC/5THVNU/zno\nSrZmupU9eAmkr3yuXKlYnLamFE3BWbwxne3BbjDnzcMAxtWMwWT2bgi7Qylh\nBQ14/sLSbyPvakVRkr2zBsbIeyxrfzbP2pB6xzHeteM0A3JYasvvUl1i954M\nSHvj1nzxAN76dlR2noDHu60ckU1GGQqoIlMtqCk2rDvc/Org3fpZcZPV4VlV\nWMfg59vxLvpxMovc3RRnIcAMvftRiYUBdlyLhAc06VHR5NmPOvAaSza+FEDO\nJriFuZtUI7CioE/6CyDsHXJBBJLN8xd/xkklA1N0FXyQcmmPJoaqcIAs/Jsp\nD4VPb/VB3oxIM1+8hW5OXAntZmeVxpaqxVI8Qqgw1vHOsdVAnXqzcsgUpMSe\n/VGHjMwK/Nyo9UXLZKt/zeu2v6/pV52u/5lG4Sd7diXV3bvAQ0zJ/dKb5PG2\nJqj5qUi6XR9BYz2AspZ5niqsEiGoouxxlDcOuvzX5phTdE1pzbmRRRm2r/dS\nE1v/6tBU7Kz2+rT5vn+HUKIJjYdOzCKW8JtboO4B58QxLAmIsyhbsATo+4pP\nPVJk\r\n=MNVI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmrasXI+oQ6yM1c5F8zYha7fjidd/6oClRMuhfsaTQ3wIgZRKNCtGpPtpRq0whpgC/x+nCtpUMHvUsZOc9JtygYlA="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.3_1600899661066_0.00722652490429776"},"_hasShrinkwrap":false},"0.1001.3":{"name":"@angular-devkit/build-optimizer","version":"0.1001.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.3","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-tQy4ADOVDL0hJcykpZzqfInQV6ft499E3g+D0jcZL/imSsxH4EaaBA2HCc0JTeAFjmkI32OhD9T8G/swqqBcVw==","shasum":"11e6ea59ab0d6f6c0724c9453c82a2f15653534d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.3.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa80fCRA9TVsSAnZWagAA7wAP/2HhJwXuXrWR+OmrYnTQ\nVHyFkL9hTldjS9M0t1NrHtbe0UEhreLAiGslLzP8xRV/sc3YgnEzBmbXgk2V\n6r+0QVMctZHf+ttdIJEd5Ii1xXS1a44kLV2/I/LjUa391ZI13AvImosxp1P5\nXoUTTMi1opuMPI3elyxvPekZFMFzVuDReC4LRBS4HhecM+tkKB6WOf/b6y+k\nPPh/GgiaLzHx3DXg2PeE6BoMy/S/nIRyzKfpHHH3y4RAbmVTtWT8sTbGZQof\nA10IXvd5NAIuhLvj9Hy+drWFdq/aPxX/Mgx3KbC9F/48w6R2JmwR7+CdP5hX\ndzatvvr/xvlzCMk3oJ8/qCNhZ9FlwfcxZgsIZ62DGlAGOKV0KJC5dTdY7PLv\nSVRXeCB9J7c/fsOb9Ot/kiioO50YxgWMvbG/U46gERTniI29pyv1ZMc/Jyuj\nflNPxde6SqwWRmcKYHVlvprd/m5w/y402UasBHMphTEbHqdOzZ6tjqEsJoyT\nW6uZLxavNGow9lmNnPk20opEDo/w6y2vxXcnPO4b5ENGa5AA+SNQ9NSNcr2g\nA8Vb/JGFU2TC0k/zKBz1XV9/6q2ki66mCkfOjB9LcR4VUiryP1XGYl/nV01s\nqzc4GFkgDwlYjovy8Bl4bxzbEArWtXFEA5MkTFG+BNlVT5PIut+nihVUvHBK\ncg6j\r\n=cVyT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHMG1WCCYw5T4FJ9ZWPfphBEHB+3q4LfL6kfUOUvLmr3AiEA6025Mm0OL9X4IWyfWaKHRS5Ba4rW7C95FYqTGVyrsLU="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.3_1600900383427_0.7870059929883599"},"_hasShrinkwrap":false},"0.1001.4":{"name":"@angular-devkit/build-optimizer","version":"0.1001.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.4","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ZBJF87QFOBq1zQOXDQOEHxCGSZeIgzyddQKNVuVqlPklJHBHYSaUiCKU4Dd+ZdAHQ5FqFlgO3gnYuyy6zaJU6Q==","shasum":"566dea3bfd15d851ac70ecc7ecf3e98fee40e98c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.4.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdRx7CRA9TVsSAnZWagAA4jsP/iSa/7oIRD9NA5P5XxiK\nDsT5Y8yR8gpkicWAU9RrhpK5pV//t1TUNWeEKrEN2HV6PUbbsozvRpS3/r+g\nQZNGbBXgLjtwp4CMl22FqqAELj+os5YO5tUQkKzPHK2L4u2wkaeLWiEOSTTq\nbUXUr/3+SN4zUbKG8yeuCZHkoU5vW05aqQi3C1sYvlwdZp8ysnNadlLLtJU9\nP4gJ3PcfiVbzNS1jnAQmQOncfxnAz8ale2KFa/I2weDWg/i2Kpheo7f2IoKd\ner9O/FHwMStYnVwDWj6L+iIXDlPcIFdv7228M0pDbVLpXeQAQXEY65K95sBF\nsHxS2bl5c4QkWKODfFbehKsMLjkqIKK8b+KHhKnQGipr3NEOsMCFCXBAh/BA\nAnZCNtsky07s6Kxs83evdy8Fv4u34YqmK5wRkLdTHDb3fS3NA0C573e5+Bw0\nssSXX7zhK6JGp0VvgvkhK/p9bUdTK9DQW8mW9k4m0VtvE04wODWFwUUJ7eHr\nmIW3uKCqJzWd8/qL39YBiQlA236chckevEApDgOn+vdQuDZiJZUsonMegCI9\nAqszZTqitnfpVa+ozFMTcm6buUaJVDGoBYKELQuCldqscSwG8n6fVrQFI2cQ\n6d7n1zGUi4ZdqKWPjv3bN8S6/HPIpNuLj3LT1bqrwj6heS++SsRefdfRKj1s\nuUS8\r\n=5wR3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkcI4qUzUkK1XHaiDalCF4sZyJHOf34JITgf4zbRhI2AIgGU+DLYy89DDKqwEFZ3t10LvtxdfNn+XTo2RxTDnQ3jc="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.4_1601510523373_0.8467896631664962"},"_hasShrinkwrap":false},"0.1100.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.3","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.4","_nodeVersion":"12.16.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zYVTYG93vandOCWMlEUNV6cYqXxp1j+wjgaFj9ZBoqEinb2EUm6Xi7++8LrWzR05FjPq5o5tTrqSNUWSAJjCtA==","shasum":"63e45c81e3718acd783ad56b474984b1b8ee42ce","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.4.tgz","fileCount":30,"unpackedSize":81367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdT2vCRA9TVsSAnZWagAAcM0P/ifzeBqBk4SwWRpfwp07\nJ9LKGf0+8GntLJHLtxL2U/tOXOGkq2cVBgt1zegdRjsg5z5feku3lWdqQlX1\nvw3CYtHFYVW/2rs0boEvl36PQ6Qe8RqsQCqNoMBDqTMHdhQSaBJIVvIKtxu5\n55qjHA3IXZ/ik3nPe/y0SR1BIOtuVHY7bL9NGFBU7NUKYagUSQmCdR2XU6BS\n/PrjVQTByR9yHlznt9QcgElpd+IABNjn6SftzaaIagMV2Szoab6SvvD40Sm4\nyYnXRrK425qj+IDi048MFPBHAiVzMMsCWLj8fY9V5o5jiYE6eobT6j94W4f7\nyIG/UWtzqgfP07emosw8ewMel4aEuem0DYSdhIMa+64b24AeNhzpurJJxAAf\n6OjVGS2tCdPv40qn/MLKlvbyoXKmE3yWeCAJWCc8hrm1d8UDju6kFdg//Iam\nJLs8GM/5/+RaUPbYrZvv0O/8h3U5HVDVtEIT+5nB02eAzcMIbUDUA+SIV1fh\noUkc9UqSH6HoP8r41ybIBrfdP+vbuVs23i8tP1uiBYdTDXmge2abTZbAEb8M\nj+htxxIENHvdclt2sc2Ao3H5LR28m4aCAIXjljjNkj3GgWrQGLpkEAjBcX/y\nEpVwYQ4QmJdNkAzC4dEClCGMrqGjJgYxXCoTqWh0Z8uMwSunMpe6fhENhqV3\nl3p2\r\n=G0jw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCU8lS8Y6yB3tOfMmWmHu0O73FAWRI1u/Hone6nmyqKpQIgJan+TvVVq3qb67feuX0ukjb48+1C3ifD9TqOTsVE0JA="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.4_1601519022697_0.27497009358774327"},"_hasShrinkwrap":false},"0.1001.5":{"name":"@angular-devkit/build-optimizer","version":"0.1001.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.5","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-N5zXJMs9JwFtbuDyEnNk1UX6clC/RFiTaHb/ofaTYbq39xEKGbZRVCFP8bGM4JEI5trF05m7JTD3wo3nHtZLqw==","shasum":"99532fcaa953a251ab519961f9517b390f10bf9f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.5.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffn/BCRA9TVsSAnZWagAAwtMP/33KKulOo5nT5Vcyt6/3\nhuNk2z+XX8GLWCXnPamNgxizcvgKY7u8lM5o/Wz3cz2Lw00PW9o2vGSqzj1n\niCFF5hPrc/fFIKfGclc0rzmg5UtWCjc5v6JimREzXK2EZxgoQpk/0NBIpoFE\n5BLp+bY4GDAOjfo/IvZWrhUQoUDFugHl/CySSyTdoeSYiIVfZEaeQh/cSWFU\nYcsmxyFpP1Y3jUNA8lLfSehZ9lm4qUXiqyjYtC+Ki01IwdegO09aS0+fGGKn\nPIHlBNAmHDixqKJJLYH7mPJbuEWypHYa+DUEc4e1JX0Ed0B7RBbDqjBhZE/a\noNU2zyljas1zXrfCpcf7tXiqkDahd/gL61szryQMFCZvyU7NZBADebJNVvvX\nKyl1dvZ35jaNbInZyUlVPkECQFH6G/F3cTRp4wM8TjfMgJCO2dwS//ZNU0bh\nbaXjJiS+hKrqarWNdw5kXJJLLoKl1WaSYSlc/gPN9OpQpeC+cIFFgLSSUsCs\nXf7DD41DIONPWs08RjdmTFLpGCvdas1/Uyqar+yQmgr3PYwu/hkuEcJi/IWQ\nYvmtXEQX6LLyLSCjVqX0F3ek88CzAbITSCLU/8irOEVCbAVud0defe+WBx/Z\nF7Jt0XrN4Vi5Fs/wwCEkMALiTKfMerhFjGnOkeatrXWNSvxKsU16Sn+znbn6\nuJEu\r\n=LHU4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwZgBn7k3YnylEJ9CdJ9hPBx3StM2LwTEuWxh8sTdd8QIgE/g/q2C1tiPLekB7hCs66dbvou71VvejYBjgKZMwMOY="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.5_1602125760777_0.14314892901426646"},"_hasShrinkwrap":false},"0.1100.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.2","typescript":"4.0.3","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.5","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uryqds/0gcJrt1LckrfQlMIjiH2KLmw7b3KKktMoD6mW6sRmQ3ozPrP2m6vb1LEV9+KPHyw/j3XWCF+94Cf0Vw==","shasum":"c6429976635bf50ce6d6b54176641fc0dd9b1480","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.5.tgz","fileCount":30,"unpackedSize":81544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffoF9CRA9TVsSAnZWagAAAy4P/1XeavyCY4HDiJRXxldZ\n69yaBlNE5HCEbBai+cBbBydP5Jq/ZKnCCgALHINsz21H/B6id4MVT0Y9qHC0\n8SgMk2O4XhISO3eNJfRr5zK577Q4gwBiDDML6XhIFFEsnbh38145e5w5oYrN\nEY+nkVIXuKX7fx52mdkR4oZofkXS7QwM1Jd/8SAzxSNjP4m5JEoNWUVr5DOm\nSdLeVMaw3w2DfKsVObiF+xDGDiHBkYORlBjUvRfyl9FF7037CoHN4VoRltBB\nAf3NZ4dr08+M6/5UlxF88aWWpQQuCXJGpgD9Zinm5M1axvebi3ySBoGwSMYi\n3YmIkRc9Lvg39m3AmR9ANSdYoV+uh//Ed2+eVMXPU+QZHTY+G2f55eLMnUC9\nkQmT3r79mn2QE1kUujfhGuCob+egB5nZRrnxi5Kai4//qLJE0tQKlqJcePpR\nUs662oyYxuDEuufaTLziBVQKV7o/DjlpT6nIlH1Cd3i3NtfRqDdSIGt4lCFN\nl1gzxfTJRhzwYMUogiMRX7kOucULpXvXikzUJGH2ZvpKlRhqG9TaAp/TV2s6\nNHrW9thcRlV6TADfpxnuqLMqD86l/1KcFUzp7MGdZ2Tf6SZYpBQfloLMwxBT\n+OYN4++DI75Lv4IdOJvwyMgv2HO9/umIJFobLFYiyJtZaSClhhzwe4wkIyut\nZGG7\r\n=QGOH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOIzhPSUSql1MDyedOGkyYjqiGlf4uJw6PKY2yTuPo0wIgAZQBy4R00Mq1f1/6qpecS97LFGd/VYG2qsQd/7Trd9k="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.5_1602126205010_0.5125751074741229"},"_hasShrinkwrap":false},"0.1100.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.2","typescript":"4.0.3","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.6","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-iTE5rxSPWJleapZNlXNIKrXYCzzhDgXdvS/lmdoTyfIBpI1VunxAXhRQbl2i9o+tUT8g0DrQ5cAi4v+f42eYgw==","shasum":"b1b356e333f1bfd57a18f41a641556f9da970f99","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.6.tgz","fileCount":30,"unpackedSize":81544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff3S5CRA9TVsSAnZWagAA39sP+wWHPrtWohq95HeKaeVb\n3bnzr/jEA67/EAu1H5Bd21JiUT6ysod7gcVFTRX7NK+/yKbPwhCm/zvPaMif\ncD1aayuBfN+7I7AcKJO2qLqZuM7abU9UPdpwxoO9eXDOodoKb7JA3+yDITp/\nVH/rLv+MbXwaUYbFSGP2yfhm/GQGBghn7enO0zzes7GW9XbnYms8aFc6+OC8\nXN28vrGU2YbpXpX+RGr4J1AWlabKCDrBF6P9ne5/XWGQ2n9KqZauWIOzDhjt\n8o41tAoPXs3pQLmTYOjvO5EcSMli+Bo26pYUK6t1eGuXRk3cheIdPqQoRHUD\nU2oZOP95ai6QnZIUxE7BruhXgQtPMKkrCtHAt7qYXF9fI3oWdzn3tEKL6EZY\njyu6SjURbPgPCrNPc0z1rsLiRF7Es0VUDcRZr/vn+slvLeWZRsije5MfeA+E\n9kXMOpivc2WEuUOZozYwjVZ4Yy6DVY1eNkFORFtbeh3VuGFXnE58GKDRep/g\n8SsYwGY6jgtKophuX4tdS0uWQPCHyvq+QcMVV740IkDjPvrWaiCUJe5TuGtE\ncyyHYVTypBUshJ4OAHqlK8Na+TdQjygrQTXS8LMwIBkTs5tyswGqT5A5MA46\n4RL3UqL8HMrK3os4UDqUVxRB15IK88HKgZJEBRE/inx2nzG2R2OQDtdF+TCn\ni79Z\r\n=lkwi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFtJQOUXWy29W/fqGpBV0/1ErCDTbS4xB5oDZngLu+ugIgAYlAJDI3Psa+8/d7V2Vmw38mVafeOvb6pr6fj3mG0b8="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.6_1602188472646_0.556234024278661"},"_hasShrinkwrap":false},"0.1001.6":{"name":"@angular-devkit/build-optimizer","version":"0.1001.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.6","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-lZfqaQCaspszk+uc8w1rTlvZlhxPoKCMT8vwNRDpf5CD19GUO1HziYppPXGhV9hdS4HXAKi/Ji7qzCxI72Kwmg==","shasum":"d60cf79cc0dcce73e858540f25fc336c3e57da5d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.6.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff3YgCRA9TVsSAnZWagAASMYP/jm+59lmPdQURpACBaoG\n/FTRtDUM08WLemy9JEmZo+Ha2PJ5TlzSbqMSaqOsTCKVejJabmRxuXFJoMeb\n4ennRmIwpELhEqeU+kZidkXu5t9kCtZr9xe2LkIiQ99YU6C7PZXEPq9DL9GI\ndiIBna2EJFmdK+HvETnh23GDuUM9uKRMSkyAMgEy4kAgElDwD9Pc6mwzkLsW\nKSJ2aT0JKSjGz7tDDLuh0WbrKvJ8/QA7DQ1XVwpgIOr+j+si0ADctQ/4Qind\nYXNTOD8cDz5LU7fZ62omkHIur8Ybi/bOO/fEbRocXzVeqQTFeofy8gJVEAYo\nEX4TvgZg29EANHf/8h9/zDLBm/jHSUEfFZ24lVmwmVgIYSQKwmpdnfn/O1bu\nZHaIfwcBQtc4Y8nlGhL3RuWd5es/5RUtqrNuK3nyQeU+zyszQNo9lbezYWuo\nnuwtWwjToLvDw4VrBMNP1g30V4pZ2oWRT76RT6f4admeA6p5MKy1CgT5tOIt\nJdXz1E8R/ximKqrqfkdSxe9oB3vVVEOzN2KinHc3muKHRon1fUKp1j3JaL9l\nlUycaxcoNF4sGKWRArre4Y/jAF8hfqaOJrypqFNpiNJCsyTd8u+3+x/WRDEE\nTl3AeT5NpfMHCd6FPGC8eG/7eTRmoj2IHxfqZE0jBqqTUOXAYpD6meGtFJNX\nYfWi\r\n=pddl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfIkJ369gRz9fxQkRM0EQq618+lm8nPWUrJH8cDc5k9wIhAL4zGw6TmvRqgnPMsjNx4Kq/E0vgYgnO6BtzmfRZi1VC"}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.6_1602188831520_0.01783749972338433"},"_hasShrinkwrap":false},"0.1100.0-next.7":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-next.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.3","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-next.7","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-oqEQZ9ZTIrrZn1b0IvDV+ppSLjmOFAEIckHiMDq/3zzznEt00PKsPlXl3CPhpTFa6jXieuCapbxwvmHSyLXCdw==","shasum":"430fb3bd2627a449ae439c0e9c9c92447c0d8781","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-next.7.tgz","fileCount":30,"unpackedSize":81208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh50vCRA9TVsSAnZWagAA0BEP/2YiBGpcuxwh7Q1QiwTY\noL+mLJuH0cYVR2tQnuPLcAF4ZjiSn3mJGtBtzzK93cqxdLteNxOVR1JkNooR\nIBHi+f962tx9x9/E1KfnamPKK7qgpSH60JMCexm/+iQcWz0yn+rSGoZ9s54w\nSJ5ytdg/Q/eISp/FkSnIB/JGBZ+ds6s+cd5eVKhqgiObUWiLtGWhDwoOMQk9\nEZSI3uooYoRLxkOmc0+YH+ydg7tPLpiuWa8T3ojkDCbkFEETY/lOJ9P/LJzW\nXCKCdrW0sf31gee1TNFa0++Redmv2VF1ScBn7yqiMLDuWBzSp5xvoUTRmgkv\nyLfytQfrZPNpdWJPxiyXMXUaH+EjjnXzD9BMKVnpzzp/5khJvLDog9svLSQO\nMHz+CQvKxOV+M5exfEm/e84GBYT6oqv3G33nnfRW9ZmEg7IN3sc4rUad6EZ8\ni66J5n743SThRX6T3PvQaRgqrEXcnQYMKJQ3u6pze8eDgI+s1qW1JMyQhYsP\nI04I5pIlHWV+XFXssrumejQ1uUCfwPWsC7hrWXVMvmQFa3AJQmxkzcb9NxNe\nbwI8O9ULSrC/qR6zSZ7dbmylCMTR32MfFe/MDYQ564gGD/gO8vf4b8KgXsZ1\nwoa1Rjo49Ew5lUNF9qMbxmPzr1rmTOhgAQ9Yxt+bgYBVWgSeFMaaYurn8DU2\nVvMH\r\n=utLs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXfGAESpH7HUhziEY7D0UySFhdDCOjfeY5tbETgDcnBgIhAPCZYGdmbAuIcwL89tRDNHGKR8OS/LPCH+hix6jFP9K3"}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-next.7_1602723119299_0.26568259873611355"},"_hasShrinkwrap":false},"0.1001.7":{"name":"@angular-devkit/build-optimizer","version":"0.1001.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1001.7","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-QkjWbX44mR9fnKbgq93ikTKWCMk9HFVDMVTgoponLqVmjOz614K0ya6ZR3pNvA0RAwGxmKA79zgqUkqEHaQDbw==","shasum":"fc7a9de9aece2ecf1d259cf06085b045833374c3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1001.7.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh574CRA9TVsSAnZWagAAgwsP/jJ770DFyQ1PPI95t3IJ\nNFxGNzSm+/l8aBcauqXbb5PwE6NU0lPgNzurv1iuCMlDymSJK+b2Y3EH4/wz\nK2gWQGA3pNFVw+sgo5LY3zmeykt+oqrZzFAO6TjetIiRLsV+O6Ta71RZmXgU\nNRYsabpjsDobEoQMzBXmkairqy+t09MTG7dBX+8V+dM4rcw6WrOeKyDo9spT\n7VGr/btClwEEKpmGB6NcTV8HM9gtCe1dUwWaWxItjIHmuZ2Y95L02HznENog\nyWl8KPIhNCuvZvfRO/ybKORHgHtfHKFkTtTEox7lh0Vs1+el2RVdBNXRINT0\nRdX9Ov0VX4nTq0rw9TQNvUE54W2M3I3teP+7iJhyRpzpNfIkra2kLsAiDrpR\nj4Xoqx2fvn4Guj9Lzr55hSAz389ys728tHnqQ27mxknQSZH/DpN/wSvpA1Cn\ndEe5ccdh0JnTefurgbGEOWvSEqMhpTe+PWDZQqVe+s+FC74Hqt2PihffzmSK\nVWqlu4gh9MPUQnEDky4wXM0TTcKkIG0OEkm1GQ6j8mAb2Aa1m9H3Pol8kfOE\nJdQE0GZeh0fBMLlIPtvK+VxsBoKId9adHmxDDWRQanhZsSLJ/pI6yFhimDnC\nih4GWWIQTmIS1jGCgozNX+nYngq6C1fnmGU79mDDd0nFpUPYCEXdvd4izZqW\nymrQ\r\n=JXwh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbIIGiirqcFAyAR51vqGBUgMVptx+0MhDe6SdE8HqargIhAL10T/N6JhYBCnXWUw63WXAk4iCSOR2JupPucCGsiUxi"}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1001.7_1602723575848_0.7757254921425967"},"_hasShrinkwrap":false},"0.1002.0":{"name":"@angular-devkit/build-optimizer","version":"0.1002.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"_id":"@angular-devkit/build-optimizer@0.1002.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ACnm9doPMbRtSy1UZN5ir7smeLMx0g0oW7jX3jyPepeQKZ+9U1Bn09t10NLZQH+Z509jWZgvNJH/aOh85P6euw==","shasum":"a44300e9a68af32d3efea0ff12355f3e9a10752d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.0.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkfLlCRA9TVsSAnZWagAA0PQP+wRg0iWnvTjfylvYIXGb\n9yznbI9Ev4a4jjKC/DDDSnAyZ+LTxnqSdNxDJiWh38bFgce3gOdFt653tZQo\nhgjgP1BqKnyxvuuoldAuhhBv/ckUgRVf9NOns+xE3DycyMGWUi+6o2tpdEdU\nzWyFLV+dBtcADMwTid6qV+yqB7NXCeuEJneWEJmhYdLTKjNsz8W9H/Osns21\nimwYbA8S2G97fYagbX14dG/PLHBET7HPcMAfjtVfmIcrTde6bj8ip5MIpKCh\ni/pFWdl6ijDxRrTmbBtmIHt6g99GggyazYbntQLTlqOJLkQ3CQmg4KR/qL5r\nZ54UGnGjFHDYuHaQCn6sqy1f3Yu37XPNbDa1bksyOTGdDhxLZrueeXE3HAcS\nkUWrZnbMK9Kn0dFytzL4arS47Y8FVtdUHRr9lSKROTuFcLDHAlnir1TdHUeU\nwgBEThd8z3yV5RIG4I6Uk7E555RsaGFomcNBty1p2GOa8L+bv4m51GHHFZsy\nPxYTzlIrrnPzS2lYsc8aKMi3wMMwQPuyyU6Mzfq9ubXs8rRBZRX6LDEYvPzk\nflG7jxVU/dvWka+B7q8+M9NQ9JbpXVCXxEDPNbq3FJZxVDY8PUn0nc9w7rix\n8SmziYIelIl+ud7pQW6YUEpR87sng/RTa8JgCWEqsxV8N1aWlOO6CFXQugsH\n83v7\r\n=H4og\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpppb9PDWzc4k8y4TaWGPtHDo7OFpCZooUqa6nenpTkQIgQKSDL4pDpIsnjF8eN9Sta7S5L7cxZauCbcgiB/0vVU8="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1002.0_1603400420714_0.30360850340789747"},"_hasShrinkwrap":false},"0.1100.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.3","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-rc.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6SW/AJ/cNSirl6Baw4lReBcifANGpNnzVyAIHr7JlAwtJsahHsLA7kdB+Z02lZzPnrnflAEG/RvNE8MMFU/27w==","shasum":"88bcf204798ffb25d4433b6c1726ebc2479c62c3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-rc.0.tgz","fileCount":30,"unpackedSize":81641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkfY1CRA9TVsSAnZWagAAEroP/2/2f7rzxVzr6K0w1kpY\n+nbQfRE212P738XhI+/XBbGvKRalTTPWaRAGcYpa4eDt5Ov1tMnXBMocZlBz\nQKy/rRtFGsnWnQET8hng9e+UwbPrbUYWYX/JwZvm4JyCPYPBbiciaHC2pVPL\n8eGG3oSCW5fW+hveVhU7t1pi5G3WTwPoKo6lrx75IQkd2Txk3PbYj2CoTpjz\nZozHRLlNlpmjUNX0iJ4P02vNQ4ms3ZhO6iZFnDB80MnBtIET0gOMfKsx7ED9\ncWNUrH2l4MtldqrOji89YoRAwyBUdtQE3jyWvgnjAPSt12EKqQ6moUW5Vb6H\nNwbXe0nNFiZzLlPF/MUJAgdJjI54F7WPdc+lnvhK9g1Qyb6MpxE9k9dHXqWR\ncIJ2dh8+Zh1uljafamnH3Zt108KmwBlGSAxTNqgjBoeNhkpEwZQAfs3Xzm+g\nfgYOA+jjBihD44A+vZxXxUn6T0FOd4BpK4DaSIsJ17zFexUukEPyaBt4KjNj\np4njrW6KMGcRIQw1bqSLDw+yK3IwkAlEKYvvbVPE+EAiM8+HmBuV8r0Q3fT6\nG3sQ8kxsQZEqwJ+1uDwRJZ4CMiBFCsTQENbIhTmFhxqS+g7DRqDHJEOiXq/0\n6cc6fOx//M2JJJ9pOxWSmafovOsrt0OaS6AjaUqfAaLWnCW0n9ps4kGCVdeD\nQ6ew\r\n=pvU/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkC5F/hlX59iAedzPE7IMCH8UrfgWosPuBMa5YcBQpxAIgb/9EibWSsslogQn8JIFZhs8/PcnOVIcMVtyGLZm4X4k="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-rc.0_1603401268682_0.1680382397315825"},"_hasShrinkwrap":false},"0.1100.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-rc.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ST+N1gMiPUPtuvhKRh6HaVPP0fBVW4vFRo9GY1MFLP1n3RXR8XjEWTIIRuqo8XueG31VfI0EUfFVc6V4VEuRuQ==","shasum":"7f211949497f2d24d9b7caa50b8e151deef4dd30","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-rc.1.tgz","fileCount":30,"unpackedSize":81680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeWMCRA9TVsSAnZWagAASlkP/iU30OP6wLgzDKVTO4Tp\nRgxhVevq4eW5CUWEacgvxQLUAQldV4m53SA8HATWS+w18TmTp6XGy9fdwfzE\nLcplVeI0fL9RjwZ9rm4VTxvAsIZKzd+dC+MjLdrxGZKb9ncuMBZEhLd771RC\ndqhv73dss9IDYRLfY2YJlajDQ3PLix3o9RZL+HzMLAXApbCyc4F1pDLXmq/X\nGwo+tXdrTDyNNE1EOX15q4ou4Fg8LnLtTLkGInCWj1VbB7wcULfrsinSymeS\n3z76brE2D+3vPE83pHY1gSLJgtDo5Hf0t2rdY6+/FhfLrpN8VYp25CKzFsQB\n/OP7IAwc4ONotZOxpAluBlwIh8rQUL93O+HFLRmdSSt1PiPSGclHBaFgRzFU\nw9dqW0oNyQuVXXu+azu8TrpI8dfPN7vIwzYmlgEY4MB70tCrKPPYmwBvJzN2\nv7eHHzYE/M3d0iIEs6Bf/7eDAGQSWaPpPln4syUDZivXmFVHcp6qYPJ4V54Q\nTsmY+gGaRgi94Vw/51vys7M4EpdNs9QaqDZk0fBzK7UCXnkUGjb9k7NgHfYZ\nFY0Nzicrt2bQmfeMLleX8WLzpNAWi2zHWoeYTbY3roPWSroL5cTvcye8kR6C\nfd/ciTU8Gtt09ZJcyHXwBMFXWvlMn2LnLTbxs996lDeTf7LAtrYuuK4fATP4\nOSGP\r\n=tw//\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHf8EF+1vlpGPr7fm44ywKsvDVPm6H1h8byqkgwO/Dx5AiEAyVbfkUlkPsZ2QSYoCN++ieCJ01xetsYbTDTil87PVs0="}]},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-rc.1_1603921292339_0.4598878310050478"},"_hasShrinkwrap":false},"0.1100.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-rc.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"./src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-rc.2","_nodeVersion":"12.0.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-aysLYkNVk/4UQQmYCu0vOxtegA6D+HSq4VmIxO5n5P2sAHtgRAYFBiC41lIh/Q2NU/rZVEJRvh7yjcuBd+FSUg==","shasum":"e90a7bda8e0c443aefb13b12808fe08438a26160","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-rc.2.tgz","fileCount":30,"unpackedSize":81833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpA4FCRA9TVsSAnZWagAAVioP/2YOruF/ozVEDpoeV0ld\nGEuIE4jF33y/vV999njnl0j6ibYEQ/5jCwtw4rLiISSTE3eQEJG4G/4bYpDD\ndNnw8SDOqfg0aLX+FhYKIrqWakiPpjSosbgxzbpjRoSg4iUtBtdn1Fte/8kP\nVMCy9lAQ1c0c44If1k0U3KAmQ1dbDRLWXr1Pj8ykrK+pjtZa+JUS98E9Ud4l\nUWwYUizv1V22Hbxg2lXeMrUZvlgXdjZnHnIYRr4fuy230n2+IXGziwVmtXPR\nw758Zk6QKPumwMdPmnAy1Ig9fyNZbE7v60u0iyYkKYrL9LlnJDX+lZUiF6Om\n1rxrEAiwWSpJQCrS0yTnthSJDs4coZjeauDEko51am0RwNjXvBZHl7Gh5I3W\nUrMwo7vJcldfCDYILWxT/dYhwDdNg/icNqAYXE0+Si9VYSyE74y1S20tBgv6\nWuFSANwRXxCWHQjfJDm8g/aFydyCuamENa0AETOEpAncLWMno960/hxh9uqs\n6529yq/2Ojf7bH0MSmgKORgcukD9jC3R2biCeYa9FcY+BC6wAq0gwZGFVjyH\nud3bVisipi7V+1aRnJYdP/ePP+mglP32C/Z4tLscrsIkDtWxIqMBlfBuHAob\npB8wh4hLsNobLZBhLkl0KmmJXE5taDjoTNtPnW+HPEUi4hK+aZtsPMyCWUhO\nI0OP\r\n=XdG9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjBPHsMC93yeZSUuWR2uLk0eHWsoLTSwri6pkJUozkHAiEAoJEggqWoiCdT7xX+3ywkTKZQBdLN4BKhtNRM4YdK3yg="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-rc.2_1604587012910_0.9142974871323564"},"_hasShrinkwrap":false},"0.1100.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0-rc.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0-rc.3","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vh7ZsSmUg7teh2edMwmT0SuqBH/zwmy/QtzgUY4g1A8QfF2c0EwQAzwBDZxiGgvJS8yfor7igxKz/vb66DXRXw==","shasum":"1db27c32b0380e7f8c5f393b387eb1ecc9eb5e50","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0-rc.3.tgz","fileCount":30,"unpackedSize":81833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqeIOCRA9TVsSAnZWagAAghwP/1P4OYU5j5yHxasyCjJ3\nXNLAYA+oBAtbjYjnmLWiBv+sfrxosznXXizyoAtOw1YYWHOJPspN7T74Tu1V\nN154UqznEqmrwIordKNGmbppsOAQdsyZYQWboUYRCnD+sqjfrRvXSiGx+E6b\n41fh/tE1XThmcvBLNVwVoQAscw89BTuJRBDHWtCfQQ6u2SJqxPRSc84+ETMU\nGzRN8hYFMrG1Hdzsjnfrzf6HT/oHI9ILkPE7oHQfyQAMUqFa3TRBcT/35Hr7\nPVCnYLlArgd89b4Nqhz8np1cLKvAMHARtwLej8d8j2aoYUHoxGcg0AEOCxuA\nE7HE59Csy0ubqd6/s01i9SQMfgG62n3P8CjGyZQENLg6Zu68NvwWQomc5zS8\noVdsKloBuBa3TLwI84o8bOeJUePlt3iukcwGPcSpNtLiIxK7vf5YMlJe9nJ9\n+e4yY6XmSfe+RN270f4vYVqMKyE+IuT1D5WJOE6LozYEfZjOMkyMPJke/EOE\nL/TYnWmyRSDzAnKjfYUPDVVoY7YSkiJjvGmaNA8eb9h3XGwHc/XplEHlwXvZ\nrd5PNBhA7SaZLjBH1KTpcfPv5nbvZBaGSEB9qLb2GVtOGObDc5l8DigkdYPv\n8iXcJ9KMQZOuSXxpO3ITlXzqFgI2s+sshRm84zs1Cv84ma7QIo6ZTeXPYDAZ\nRhZW\r\n=kR3H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTHdRkCX4HV3x0Fh688pOE0Se/ENfXOz/lDT9PwpGxcAiBIz+IqdffX6camsBv9LVrfUDw95GUt/p2I8MtsjI67OA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0-rc.3_1604968974244_0.05134771024840035"},"_hasShrinkwrap":false},"0.1100.0":{"name":"@angular-devkit/build-optimizer","version":"0.1100.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1100.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RitDB5JCNDUN2CoNqf/FwLCwdWruApjxb7nUVb9C/uQgGEnrBojyxS/Rv/jCioom86s0sfY9wo79jdxd6AercQ==","shasum":"fae70c407fa2ec26ef839f9f2706cb3be990121b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.0.tgz","fileCount":30,"unpackedSize":81828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrGX7CRA9TVsSAnZWagAA+hoP/3e0jJuO8ckxMCMfqJ5f\nAT166394QlV8PqqoczYzvc38zYPSg6328YXsYZ34JoeRRNXuEYftaxMaOocK\nKVPXaH2jjYE71RvSFX0h/0wJYuduqXQlzEcBs7ALxJz9vb9SKEmAJYgwXhv1\nVAgH1Sw9fvFr9lEVjOAsrBGZBtmxlSDYno5HkInrIb+OB8nUZijq/0t/DKVk\n+NWZryy2fgdbrjj1zAuw19BVkNsKyd+6AxMOR1z6YGamRWq/LACV8sOxpUYZ\nTzYAj6I7sphFeBWaECSA4IexD9i1XZ1Nu9GpSVSESTA3aIUaUOPBgG/LeCXN\nBqvLArGEAO7siI36yVmB2InVb3U0KHasAsOQbApivAsGma2zkY+jcmllce6f\nbUFJk7wfFGJaDbT0nQ4xjFz3J2n16eeqTwOYEQ8S0F+8YVubFmmcliWdMD38\nEGA1qYtNscgtl5UR1hU7qiRkY5EGsmVhFr9HMSrTUc5qBzfVigaXFeSsUt20\n/LW36UW/RCdN0NXmcAB1UnyVaQNFfaYMMOB58TSP8Y3azusQxRp/XihgsIQf\nCFbBl1YtR26tTgrX7xRVLD95l4FavPJIR2araUnfsgjBL89mUAl7l/MMqBo/\nEzocSAPDTl0uRlPjpcACcoVnJe3mnQjgTW54m7VmS9vlqmqiTV8yJuFaybSO\nZQ5/\r\n=ftYp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEN95hqYCmyLQPI/15lpcIbF8iTdH7oTZeLfP4nmA0xAAiEA6fnPPttrsYl5uzJfIVF/hQ2iwDNiMG5Kk55svsOqgts="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.0_1605133819371_0.9665471268661348"},"_hasShrinkwrap":false},"0.1100.1":{"name":"@angular-devkit/build-optimizer","version":"0.1100.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"_id":"@angular-devkit/build-optimizer@0.1100.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-PpqBmDd+/cmaMj9MURe5pSSudo+Qz6BrGdzvYB16ekSp8bSDYLUriv5NvE/bm+ODKwo3jHgFrwWLiwK65vQcxQ==","shasum":"a51ecf54e3098035d9a13ecc48fa5cadf49b79a6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.1.tgz","fileCount":30,"unpackedSize":81828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfraoJCRA9TVsSAnZWagAALmoP/2eTPC5EwYToVIOozYxp\nsEoEy/wWID7z6nksw77Bxjl732HQJRELUoTeP66Ke1qccbZdsxeQ4iv8SHXW\nVXQs6S+X+fbFr0HQag6OTJRK+ajQm7pn1NDekh0MAStXFtzFQE+xlXu7+UpX\nLz+Yl4PrHqLLxtztJo1xJhdHrJe0Vg7OOvENChJD5as+KQe6Ltbq9sJVqXKz\nkjVBap8TmvD/64Tjs5wubG0l/gDYvIt4A7SEv8KzDCDdVWAnKINttO7jV+dc\nUEgaEqyFCyoQIe1HQCq2+PAfg5u3qhP94AuPd+7jaMjMq1ZbaGhRyoD1JAC5\nuoxiG/AQ6LA3XANGg3GBLKs2Zvcn26QOgF9Aj5NWD3BxRx62/0ORwAmsybmK\nugjwldZOjG8CGuCphAY8CL5jtxyA5jEa/QYRhT6LpQX+ZYmAhD4idj5BxYf+\nUF/wId4amBvnC5Aavm2mozuLw+FL7lgLaxz9JCNFQruCIvJKjFxJOakAP2HM\nqtrs8zASagWXnred4sAaDwKiosjDcfVRy+5FVCeBwlbl7L4ZPaduxhzYcj+5\naTPNN76fdYSnRBPAR8MlbC4YafdlRziFk3duCCRsHlDaRupUEWNDy9i1JosB\nRGLS1bhsV8NmIT4DtnnQSQdfvcvNL9PlLtnuurI92VMCMqKX8D+JavvxcxC3\nm+VW\r\n=1o0c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICf/IWZ+M+L5O9WdH3H00QJ+cSRqYDnMx/OniJQq4hozAiA33f+FCwyaMWwdG6Zc/S+veU8ozl1HmNDGRxwLTgSjOg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.1_1605216776407_0.21516673433857614"},"_hasShrinkwrap":false},"0.1100.2":{"name":"@angular-devkit/build-optimizer","version":"0.1100.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"_id":"@angular-devkit/build-optimizer@0.1100.2","_nodeVersion":"12.19.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2ZdEeAs0a53g9LDkP5H2mCEPLyk7yd9P7eTepNYvIOz3xJ6W6dB2CqotPMfnHgd4o12cbzCOWrPBxbfo/VnMig==","shasum":"93dea833aed64d265cfdfebb6580e10cf909630b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.2.tgz","fileCount":30,"unpackedSize":81828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftXCUCRA9TVsSAnZWagAAKwMP/joqfETO760QILmcYwW/\nWJJEJCG80DdeCjHqug+lRgC1B8F3jXt43Mp3mTbr76KfU86ccW0zsGhtTS4t\nxVwrY2N0gLztTTyiEqklHCOpAp1oGPdxUqjz3gn7P/a4kp1LZfsA9nGLO830\nuTHmLLgCGGBKwdgRog5HgKJuNzSBM1qwwlwApvQxkV00bdv0ehwiNXJ5sRyC\nuLlV/GS1H1Yy0MGFXNvG0Wm3niYbnMYMu1P6pgkwFmGGT5a8hznqGpgy1YCq\ni9jt9dP3ry1g8PBmuVZU0i1rvvLsVv8OeTYsAYDR/NjQYEvHLdhnH/Bsl/hP\nMrifeZSizxHsDMybEtAe1NFPg7g+lmGGrIl+f1btO2VaZBDF+kHD4MUtP1Kb\nVtJ0e36D7ZUcdFGPAb2Gso7+dCmZsaG4xsGW0ZgOBiT7Zv2IY+TpXzbFVSze\nPrbdAW+QhTUovPHO2XPTMKUfvUd2uNxW5hBqRZNzHLpRL/4E1Icow5K0xsd3\ngZbrEHbOGjpNV7VJaCIAROz6H8LFq+LEio0q/Ia0rU9e/V7y+7lT5eUIsrRx\nqX7KDHUVb91HCq+VFv1U0lb8fJvCiFIOrewxUzbkfcfAHVCAcNqSC2rszT29\nUSSDRpWExWDkdCNqiDVJV64amHUi2c4GIDGTpHYwhrLH1RTX5MZ1AG2PLVHB\nhUnt\r\n=YqBV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgWAvcSvxg1u2k3m4WnjlxTQRAn1MOAGRwVdZw76AoYAiA4+g4XtnoWDhf7gEvX6y9YjjWRMKjaCZgJG9Lp3do0Tg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.2_1605726356050_0.054330976164287836"},"_hasShrinkwrap":false},"0.1101.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"commit-msg":"yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS","prepare-commit-msg":"yarn -s ng-dev commit-message restore-commit-message-draft --file-env-variable HUSKY_GIT_PARAMS"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0-next.0","_nodeVersion":"12.19.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-YNKolSlkyrTYUiFgSkF3IgbdKaJkfs4JMCdinq+CaOQtuZUgvhYGIsHytDNmFStHNZGxhN6dJIEawjJzRoF+3Q==","shasum":"f495471bcb0ddfdec686085b1e51bb45387f300f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0-next.0.tgz","fileCount":30,"unpackedSize":81835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftXIRCRA9TVsSAnZWagAAW6MP/20r/6uLsdF9egacojrj\ngXDxiXIMRzamF16v9jP940dlQeVCn+Gto8GlXDfKW0lMGpwLQTkDlHDaB+Ob\n/OYp9SBHu0ehmGMTqH6r8SIiYm7g/f4k4d7MPHI04uQ1zcTbAqn/4xKx8t+5\nuKBj6XP3Sdl2zTwxnrf02rByJ8es2GNdkGCeQxywBSJzHtT1uvGr8Q6LEbpY\nMeBRWJWKz5jl80BeDMO17BVz5ry5RadjU9D00phqKwuq8ndu2Q+QThaSbKYa\ndxvmr+CbwtQoiwcO+eI1HOObPdTrGOk+YJUWLlF5QsjCp9bnEKTXAI5mkw9A\n0rmGLN/oGjOqMICqKkS57thjmZOKhgEJ+bu2w6OL6qDuc+sw1e2/I1l4tg4O\nR5wzz9nGHwWv3n9XQSFddHhgVHcZOp9swoCvendRy/PMml5fhx0akNWftedB\nP3fhgPEnKlCJXPmvOTJ9Iz6YNI6ibkqxXnLfjF3qDCYoOhWmraQej3neAmAr\n1/Oq4ciMW2HsMnISU7uMOszX23NKI3jP/gABf9wP0X1zNympIz3QSCrF8S1H\nvz3r49zS5JyZFprcQNF81XszN9UgkW5PFrhcJVdR3ytUInHEaQ+cmPrfMP4B\nWRDTrt8pXJ3mFB6ZUOzGI210jXFrPOST4b4WCLdgJuR75pWULeQG4LmgCgo2\nSPLH\r\n=QBt3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu3ZF9SH5XQB8HzQ4PT8XtwD0YTtz21Cx/ve7uWSjORAIhAIN5fKi+e9madwBmH+T1e6QsRwzLYDSIgasFDqVLED6x"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0-next.0_1605726737118_0.9590820878203536"},"_hasShrinkwrap":false},"0.1100.3":{"name":"@angular-devkit/build-optimizer","version":"0.1100.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1100.3","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ACvi4W8iDqWJOqHZA7LLI1lldbjrouANxOb1wxgFyr6krKypU6kDXOF2ZWNdrsgDvW0zwJPKeDNFzYyvqQpe/w==","shasum":"4010c5439cca57f61badfcd98b898c131bc259c0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.3.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyAeqCRA9TVsSAnZWagAA9oQP/j6tfuNN0DiJ5WMQ7ezT\nMBgloihuW8a3fRxkOpcyWFVWHGhDpZjF8VNxQs/Y2FgOKAhKlpPEE4dbbu75\nEC1vNiXHOsLXchq8U17xCtWtNVkAhRoeKCyWTW1414a8vbU7HS9Pfn8Bb11c\ng8mXqQq/ui8KW4jabOTCbEiFwq2eZQpEDSxDj9ZjF1HQc9k8K/K4xgQciDx6\nnwbgCy3R3vSkBhALX5SFTTZO8y4Oy/UqYKD9A6+5iFzYvf3d/M+JmQNjF05G\naUgfBVhpcPcmRjipoW7ct3jOrFv1iNmf6FQCQMkK/hkyAdxlJM+8MlScXWX2\nX8MnTwnqAmbR4Y4GoLHFf50cYM6iUQejSK4N1Gzdd4oFf5yhOkgC4SXu/91P\nuVUaw83IfvdbCD73UZNLbh+xCBxuJ8EllH/xTHxX2ADvxyYx6pAUWp1ir6vV\nwQb3XCs/axxisBSpct1XU+VHVFIdCmu+b7CFmNIxZPemO86885F3zp6yMGfM\n0IZ1zmuqSOKj8Ysx/dJSTsZL7BpUvbzD2wYlRvmVITnFucGvg+p8MxbuvjV9\nGTqJ0BzF++3keqLQGXME+S4wooH1dxZApRMCNPtAIh9dtEiGsLiuWAVTgZzD\n/G01P6kkFMGWXDLre79KZ9OdOIh7n6uZRwCSqcdRNzapHvNj7QI+9neAkn1w\n4PBE\r\n=MPOR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcWlR6kSXe4yqnxu0W66/Uc8mmUDE13GgrDCP1bCic0gIhAJEdzl7Xv4oeCQL4/WC+wYfWb38Ec3TR4ch8eu8TNplU"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.3_1606944682294_0.4448126833407604"},"_hasShrinkwrap":false},"0.1101.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0-next.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QSzOXfWtKpnaHjT/7fN/ojcPvbfD6M7HeuUblCReOx8Djja6y9u1M0SHSHuflmib9iR75YWWsJLxqBRoKIpbug==","shasum":"701d553501cde44a921b5f17190f564a712a8a7c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0-next.1.tgz","fileCount":30,"unpackedSize":81560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyCt0CRA9TVsSAnZWagAAEE8P+gMd+sJq724S00BBzFaK\nLkXqKhWv3LaEaEj1mDIK0hvN7ObVoLqZnQ/o8jqWXQ+wjiKjkZ6uRVEX1QzQ\nbo5a2JdUN+aACjgjcHTjNTItiGlsiKqjDC9+q7cl8UnH9oMa2mTNQ/9sm4Gm\nl2Y0EGACX0utaMSm8brhntR/806XSLHNUKzTWyXu1hyEg8Q+Znsmts7wSQic\nNmP4/eDDBBBCI/ys+iNfDmspZGUatfz1ICD173sPdKs27LiIHYtnhWdgD2AC\nMHeNtGWH1aZfF5a9YhIczLkppypQGa5FzD41OTtCitg/aVX/Yn+/mUNrSAd2\n020wnHsJf7e1ImbvIsiEH/h3+K9TOp9Yh97OLLHJzRZnM3103wpRudmvQ15v\nqLxlWMsGWfXg/yw4oynF70I+MSgQLmkC9GMizdjwfSeGNE7eh3J9acojrNZy\np0w/EkZY6/3t9q9z6FFb9A8asPSbQUvmoWxc2dFnpSyU1Wo17Wsr+T+wIwJZ\n85/mdz68FTmASsh+tE0ra35U1kX12DEWKIu0qBX402JAwWDBv4VWCcLrViUA\nvftjXrOx+WviFzQmh911SGZ0PJlPqLElt7ZmU1xl0Cy0DcwfMeOEmUbaBjop\nhYdhMbEb4E+cwc+Oa2DBLwMPTvAxyeAeJf70IS6eQ1CDf4KvoIoHiaBWHrBr\ncs5A\r\n=y0om\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8YVfMfdNWmZkbnzNVnYbv+M+lIAVpfsNZmK/qwq4w6AiBwcwfGCeML4iek9o3kCnO/ftc7mMYAABdkXrhY3+x5cA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0-next.1_1606953844367_0.24883315085006896"},"_hasShrinkwrap":false},"0.1100.4":{"name":"@angular-devkit/build-optimizer","version":"0.1100.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1100.4","_nodeVersion":"12.19.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-C05y4qMb05PWR7l1gZwRQKiB6KIDq+p72r8Yr6jm0UO6raOtMM72R8nHnioMnGJcFtZDEAYXEF+X7soI3MMlfw==","shasum":"dbe44ad1d4a6e95436e3bae297dafc09a8ab9190","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.4.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0Ug9CRA9TVsSAnZWagAAsusP/2ELkQ6pVoqAGS90tmel\nA8eJYqRCfzBFDBYv0G0MHL/7bdOUKjdJ2nph//g4RealO0yLb4BEZKtPUtXP\n1rU6z74SlLEZvRpKAG3Fv86qIp7WlVtj83en2WDsSU/EcfvFYKzTdju+G5jb\ncwXflvxk63riDHs4Tyv9F2Os4h51N4FsPpUEZTTosGGf1G7nFkV7INJYsAY4\n+PHdWbHutYoQULmAOLwVx6nVgswFQKzYr0K3+tQocfsjWj/B6BdEyos8LmYX\nMaOAT4Mj3m9BsKXk9lAtvtH3fC3FwWfT/UMGs6/5kCYGcmmt6yft5KJ2Z5zX\ntR7zvt2CgVx7qjhjsy8qSRmUp5+HhjHaL5wB+0y8qCQTYVEc+Iy2TyG0pqfO\nrzqSu4M+LBBEsot402X2jqf4DCVqusWRxP6xhXaGEVhNzo+vCgbBnMdhjBvT\n7Z5/d3FWRsuFfFdR8huhgnh96V1XRbH/kAHXeTA0tc96rgp1+BbrkqYLALVA\nXOhvKYX9B2PXjVOQyioaMEIA06ki93PC9vDXkbfy2I1mvVUYm8kPwqWCI06b\nYnMqJrx+mlL8bv1ZguL4MqvJvDAANAXzLzRkjaJ2ml9H/DyA57lD+Wg4NYNI\nxp+K//goUv4z8mmSIYnWF6jbJsvGIJGEf2apcTX0qESdsRr0SbR1Sw2sHh5O\nTKbr\r\n=iG9G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD64NcQyEstbV+2UjpmQJ4BxOhKP8k/kBX9i4Tqb3iUHAIhAMpHySHFZZCna0a7FVZ+il9hVtFYp/N5oC6jFs8YRJKA"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.4_1607551036833_0.8782397899460834"},"_hasShrinkwrap":false},"0.1101.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.1.2","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0-next.2","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-dzTTDCVpRTD1BTZENHuzN92Y3Y1vAblVqSqUpwIINuXCrc1XFps2XPWyql5wjr4Fq8dT7qpk2BsgwbnWkuimJw==","shasum":"22c754cf011871fd33b63b49b27e15ac0da8b039","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0-next.2.tgz","fileCount":30,"unpackedSize":81560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0UoPCRA9TVsSAnZWagAAUQUP/31L5AtrJmpDw5bh22yH\n+UjRRxU4PlcgdDsDvFRolfw0KMtFs+gYy3SwqL3cYT8IjOJ+FTANa5geF1nv\nFK4KDf/HtudMLJPyybAUtJyvT3ueeF2kj6YxBsJJmBo7VGW7pFDL4NMSp6hb\n+H/4w5U76SgzLJIkRH8yjr81SeSPX15/kxTbHB1hW3MuupVNIqqJ4x5KwnfQ\ng8Oc7a6L3UdFfN2Jg8lOdoC/COPWPfiu3NUrric9gtf7DSTqnuGy/oagZJl4\nt8ongzIXOy7v2FgXo+r+Jei7m/c1wwugOGIY7wKH499QEfA1NmXdOspJQgH1\nmjlTSipWOgMNil7cPe1ps7PW1X7W+tppXlYtQW0KJyP4cYoc9Hfb6Tzr3tjI\nrRhJB0EDDYHaJs8ek2AF0PKjvWULz2Ac9LUP3aGSp4Q+7u/cGilnZ8z95G5c\n3lS5oguODCTtMkB4a+gwe4D31eIbW87IVc4Ms+AvYNS95ZqNA6Fy4kXHf9/B\nJ7QrilYTsuYCGnFKiogDqNV1YE/7ESJQN8Z7YBDr4uRw8QgInR4KnaVR/4eD\nBqdfHp6dOJ6zejB9exvL0ppQLSMak/4+imsN/o62DNBwpOT3Nhs60HigJMAk\nYRo/Z3ByURKsS4ndNcyw0wvIhSYtk21FQvw9aok0ogeRU7M/aqkal36JFhaY\n4Ilm\r\n=soE9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrPGt1g9M9L0Z43zdv0e6TiWPvRXLhYl7+4lkM65b/6AIhALHTJ+QLZ9sRd+fY89HxMMJdW3uC1RzLOQf0438sC42w"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0-next.2_1607551502464_0.05158451694550714"},"_hasShrinkwrap":false},"0.1101.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0-next.3","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-xUIH49sou9tdXeW3bUk9SgabTmvlOiXCJ71SqtxC5w+9NRO8RDCJUG5HOeqDJY5JrdOHjEZPGBiATJ5Abwu4nw==","shasum":"ea25ee23d946a37f0ec42a0f2b345dc28c0c303b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0-next.3.tgz","fileCount":30,"unpackedSize":81560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24pnCRA9TVsSAnZWagAAL+gP/RTfdENl08VpPold8c/h\nt7ViP/ki/G6YpDb7fClYePPe73m7Yc00dVlUxSMJGC1mUUIdv2Pq/a3P0g7M\n0SmHtqkgP2Spph07vaH9nJtHIYCgatued7kY4FGoHFelrmrYUjAJNzkgVXaD\ngQ1qj/CJ00blC2Z4PL1J7kW9u7fFrYP9W0vT4aPD9U29dOOkbsfmN/eCPKxo\n9Qw9x2FD87Ho2KZXPcuBo+pZQVAg3n7w2gnnwgkkUZ6jqL622GE0SRGM61iw\n8Gar/e3bwML3gxvn/GSwCM+a7poWsweXCm0H9W+fbbJVlkbfPEGTICk3S+pX\nKp2sfwRuaInq5GZjh+cmCJWwFplV+a+wbYYhIfyESpZcqu+cnAQ/3EerpqmQ\nBxnKdcdqpC+JQl4q1dzDI5E7aSrEPkUb7b4QpZgUOfqLhodyHToah8NvAJtl\n6/9WSdEjBvkuSFmpbOHtvL40Q+Ir12+koj1tBzTLPm1RaEbg9lXzcjUFuv2D\nA1cfjI7yyaENyLqcKut9lM4Syp8GFFG/1L4Rr3fkl/RwvxgPizcIC91MeIoM\nGlTSOiqintJ8ueH/4D3Z2P5W0Fx1ALJig5cqMg/Wtxlx9S7HWjRpM+QmIuQo\nAsUgZ+1jc8lmOHdWsmwM+jzi3wcDRRDPNHh6iugVUq3yHt39LBE9kG15zsHd\n/3k/\r\n=A7z8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5P9+ZTPwsCvlerC3lr8R9/AkB4L+znNkJzd+0pJ9BJAiAw695I/DDltu3u1c2NdB6N3jogDlWjOb+BM4DOQOYzPA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0-next.3_1608223334941_0.24637185872139367"},"_hasShrinkwrap":false},"0.1100.5":{"name":"@angular-devkit/build-optimizer","version":"0.1100.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1100.5","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aKITFuiydR681eS1z84EIdOtqdxP/V5xGZuF3xjGmg5Ddwv36PweAHaCVJEB4btHSWH6uxMvW2hLXg2RTWbRNg==","shasum":"25de00e9cbea1444f911aa0a7a53a05800c90d62","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.5.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24t3CRA9TVsSAnZWagAAnnQP/RTFrayqudmiTcx0FJ52\nqUGtKkxCcrO7zJpQy3Ly8tHNu6zbGDc72Qo67tM+MBurB8uG43NEYw2hvpWt\nLVcjMS3DKLMgYc8wly9CoKo41J/Th2rkIcZY4Xwk6D3tcG21S8Yxe1DHSN/N\ndBap+5Rvcp3ayuVqf7DvV37bz1CQc828IbCqgeGRZgMiC4sjhqiareSLdeGg\npeJ1JistBlryZy4xSrC+xq+dEgSQY3+YA0Uv5pTAj/C3TFbMTQOLZ2hZB08f\nLDgXcdZMcMWStH1VnvbkvOtW+PeQkDEZs2eT+a5UUbeMZFqnau0hYqYUUPEa\nuiYQg5hwLGny/t2yF6T8xnKT5IVc0G4bla5IzFhnLhezkOVFaPvfLNpt1MuW\nHyjH+20HXpxKgUhMHFPh2ej6Ov534TNOAGtpltcX/Ng9Tm/Iu/ZnfhhumEzn\nvOEXgRxfQ4ng8in1alEEZm1y0ZokQMjAJANds8b/mUqX6R8XLl7bb8ycLZAk\nZKzSDVKFd3diM+WtrrZMTTpfJjdf2emZyhD2AOEjLx5MBx30UniFuXQF6G3e\nOpICsk7ARKJY1TsGvl8CQ0VMBt51aC43iqRYVKqNfxcJ2isrIy6RIXrY+HVs\ngIsn8+zTRtd/lNBsEAZrOCrTGx2xVLuodaegzfrwkVA+UnXgFZMG8XwuIUoK\n69Gd\r\n=5ADL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4HDkLpgT4rM9ycfPvGteIR/kFLDpxQMc0gIrF+yK9nAIhAOZ/XNUgtLiwCQI2nv757DogOBPBNLfgscOE+cSAU9W3"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.5_1608223606890_0.06692155296106139"},"_hasShrinkwrap":false},"0.901.13":{"name":"@angular-devkit/build-optimizer","version":"0.901.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.13","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-FbUt5xKks8MfUCpzbr3C8/uHr0GbQijHI3byrsoFvFNRd6e2ZO7qt6yvqqz5VVM7fW0o/RBl4i3WobVsw5QFDg==","shasum":"d117614b82452867eb638cedf5d418ec91fadb96","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.13.tgz","fileCount":34,"unpackedSize":93920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf241KCRA9TVsSAnZWagAAjJAP/0MgDulrOQsXIdGfHiBH\nmEkE6MC0OiSO9Lkuo7KFHpdZUHQWhMiWaYeCAOLTTfvc6Weu/1w0nw8eqlzB\nmSnG4vdanTiQ3vwMwpi7Kwhn6eAFaRDGzvcXBSJEYlrmmAJ6TETE+5HSvbcr\nDYIKbpY6KE6vHod3yjQieKpl+wDMTGj4RXGF11618yj2brdLn4SzQkGquBEv\nveGKrBI68XswLTX4b16LSeJlxwICwdvqez1MZRh9ol4y3vD/BXucJkCHB7bm\nzjE6nvOGW/lp/U/z/gbKoe278eWKrsI1kMKcZfzPThkRnmObe5Y+MAaF292m\nco2OALKbApEeP2V7U0Fr/x83JBf8UFNo/HIB/2UtXppW7bD7AOGwQ1T+ffgs\nEdiutl06dKkWQHg7AMkYxiGoPnq4lNIrb5YK7cPz0NGhsd/unYpFxDEHtmOB\n8ZpZq+UX7Uck9IaqYhcHo0GAesJICLdhuS5vp1/rpZ6MiVVmpToRVCpJCcRo\nUu9to/hhp+NvhepKxUsbLF+MWJ54w0ChyHFXw6eeBbpc7AhESKnaQvmqBOh7\nVI+4DLk0rtThyoplQvRa+zTlOaiRKdpksDzAkTNrrkeZA/hAjdbl1iAmg7Qv\nM2XL77mQq+lChH3s7oYpQ9yrAkAukJqv05jd9Fgd1/5jWBWDS1mJZXa3mbJn\n+3gf\r\n=bdUv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLSfnxqudT3R6+74HDtmGXf97NJTAIqBy9E+4CqJpJQAIgFDx6aEC96s5vbFnP3ZP3Og3XDEzcL+qQZoYTLGK5sEA="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.13_1608224074437_0.9487782256890023"},"_hasShrinkwrap":false},"0.1002.1":{"name":"@angular-devkit/build-optimizer","version":"0.1002.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1002.1","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-9TLbHVGlux/b/eAubiyd3MNS5xog+8MDABG/Y4vWQInWZVNfcSUY7fycbvlCAXLguSVUvjYP2AoPBGPow4mIMw==","shasum":"826e85b02cc456a66b863d54fcdff4c5f56c5b16","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.1.tgz","fileCount":30,"unpackedSize":82698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf249qCRA9TVsSAnZWagAA5L0P/i6XgPP934RxLoWOQnLq\ni0G7YMHStbTbS8KY3uXvj0+dq2efbRuM0KvMEcWXvI2yc0R7f6MPLalT8hQz\na0B6XnaUhpA9DS70PZtJn6ahhs+GWvfiJq2QM5nsgio/6YFx8OcBdT7b9rI6\n0L0uU9JuiobPN8jLp87mpuq7THEc0AiXdDJXFAYSxdmVEACcMdSNvKThxWKf\nxPLBT+Ujq3rD6ilwcPwkEsJIG4cwPrpeENTci+OhQq8sNAGBOD4Pl1gfVNDz\niFa3Aw9uXLpzWx9YowDn2D6kb0aBBWcrzZ/+di1DBOQgKYJ7jUVYXsSpVc3w\nr9lhirxKOzEBE98GMJbISnnsEs3q4RhDGKs2vcTHfQr1vnuXgIts9jyo2OSy\nP+WmJkWHJrhenVBqbpyhMElqnJyR5DypIJI3ZKXcaWtssbSccA1xxMbrTJV7\nwliyTs5vLGYidxb5rcZO2tN7riT18op+eIEyT62RhTlHUQmK2hVEbhEmsfZp\nKH5lVerEEZOIoOro+Me3z8aUiqThmFT1pYzA8SDto+7ysKyrgzyGjje4xwy8\nl2LJlUHszgpgDC3qAZuconM/0OR2rThxL23IbIEDMjeyp015TKdz4q2j6U4y\nt5n8UNVi889Gx8MECzL8w+2l+0OtJxWcIQJYjOfRWBiErUqrmk9W//e8fxqf\nSHY6\r\n=GHAx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRZ0awZ10YwCshpMv2dblegh12bBmnrf5EtC6QUe8g1AIgNsLLD5am2fmpuZ0/gUeS2BmRh2eJ+E2OEgirE1QJcUI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1002.1_1608224618250_0.3228304752810971"},"_hasShrinkwrap":false},"0.1101.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0-next.4","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/ngV7h8uaw14+kbVfZ/FzS3KQwbuRIdp4M2WJ9MF/bo+ODLIZfbdSc6UEFM8iRIHMQ2qoS3ubfK6FXqLK7u8/w==","shasum":"e60bd1bba3d4160b8ba66708d0b8d18be956a29a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0-next.4.tgz","fileCount":30,"unpackedSize":81560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9iyyCRA9TVsSAnZWagAA+9UP/jnkczQbio0bNcA9rM+o\n/v8xqbQdq7sJ+N2jAvP1odoyN+arNIXO4aTUsN9hqJb7W/peFk7ieH8nKWry\nqao5c9s4YljZXEWcJ6irBauiGY1zZn6hQVoEInVnRZeW+LgyPYb8adRjInSQ\nTyRPRiCn0tJL0xgNwxzqwY1oqV0I+XzRl7z8LTAS/6fDaJch3O8vwso8yyzo\nDfvw+EEC4/lTSs7pgORb8uSPX4QEE5Rzk2IQxWXCXrGwgm4Nb7T9xmGcosi0\nr2V+LarLuA8uBTr9GyijDv0j9TmDxk4n/OgG9ZxZCdGUwb7b0TEGtt+TteIj\nZ7kDJYt/IxWErOVVLjCDKw0MK433bW1G+t20DMuwAFM2tjjDfuEeq4PLFG8/\n6nFK8RZMTDU2V/vOEF1tZQXvHjEKeuWqcVnC/Cvgc5yfRNrYdqlzVxcnxrG4\n/a+sXVgX7JRTkc24EmBy4UevVcdlMrRZAEZsik/lQ33JDfl5rAbckNhnm5h9\nitW/gFajivfspiRxFuIjXy0Brio2VJw3Dmq/63AaWg3FzWr/oamcHPgCcB8L\nODPh1JJUR3BYpn2uYB3y/DPvjfza2pLhS3wFZCm/XzbR4IY8hb84SGePYylL\n/0ZBMgS3r4XfdVb2q8SJhcsjEIabacv3mD87x4r4nTd6xj/XODU9aI0wu5Fr\nMqtW\r\n=ch1C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiiUPIWtFY3bPBLeVOORly2pseQvIRpGkQ8AqP9jh4KgIhAPrqIy1X/PhRTARWxOxGEjAvljNvyyg84BeQebFtYFpc"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0-next.4_1609968817675_0.9157018452097623"},"_hasShrinkwrap":false},"0.1100.6":{"name":"@angular-devkit/build-optimizer","version":"0.1100.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1100.6","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Qkq7n6510N+nXmfZqpqpI0I6Td+b+06RRNmS7KftSNJntU1z5QYh4FggwlthZ5P0QUT92cnBQsnT8OgYqGnwbg==","shasum":"4d6712ae75eeae71d74fd161a0a18c08402dc527","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.6.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9i4OCRA9TVsSAnZWagAA/CYQAJ84Y5NgprMTlfqmPiip\nQ3sOTMNHxafL1wnvX3Tua5wVl66/rscdGycnfjCH4wXb2NaLmPqUVQNfinak\nLCcJ2O/9VgwZq+Wx3Ao2UgwGicut7OcPHY8Ll5zizEMKglmY113RTHgqCyYY\nCfeo+YmsiKOgrJ8JZVX80sRg0GAZoLW7JXM5xV8F6vgYsM9sjZvxr9RN/N4S\nJQy8YzK5pCj0cx9i3S9lubwX+rqsOzk+vLW13+N7mbKIqY6DCtBTpmYeUfGh\nFpdrL4Yyz8lzD33Edy8VPlwBjTzeazF99eUoyWWGXtpyB2EYSCDJBTbeNol6\nkJlx4sjvPAcbZR6Yskf2eATFXu+GFMujqeNPjpZDCQQw6U1NEXqj5ae0SfoK\nOlR30MOZhPTDHeEGq2zagemzr0dOhfyMWC9K+iEz7+6MgpiEaYLeNaZNbUri\nD3oViZIdh187A46IFYbAi/0yn5kSzYId5VKcLMWXb/Lx9B0meDur45EK92Kh\nD6Aa0u1PWLHd7LFYDO8bGnRr0B0NsArc/ZA5Ex97To7374J0UeUoVKAAuESP\nTT//CTNrpuKYpsaTVO7Ky9IZxzXancgJDVsB4Ol3MK7wK/jJW7hXvT6zOdKX\nYYlWGXpCakfbK0i+OSQ7JP+YXWoxd3XBpPSRgOiFdhQJskjiyepz7U5akYtP\nhri1\r\n=Qk84\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICU8si50dxRyoRPQw4Gurh8wOxrxMvOKS8YJmWB7xl5FAiEA5BuPwkunNUVXQ2IdC/AmPNP9t6fl15af/VGNMUSJY9Q="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.6_1609969166293_0.5458257288749964"},"_hasShrinkwrap":false},"0.1100.7":{"name":"@angular-devkit/build-optimizer","version":"0.1100.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.3","typescript":"4.0.5","webpack-sources":"2.0.1"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1100.7","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bHIIub0d1trVAmAX/EaNR6Zo4b7hkscewK394qYYp/w8VKQkLSAPMUbt2YTWN+erR9yyHnJ2y7tBabIui75Wdw==","shasum":"fef39c8db5d178f223d43bd1c6e3a566e19c24c1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.7.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/6CBCRA9TVsSAnZWagAAuxUQAJ1t0xSSyxHI/KKY728z\ncKIeC0Wg2KfDjE90f2NdoHFx0OetfK5Xl0Q1CoBgZXd9oE9HqRs25xaakjmW\nN1YV9ygYA94FxpkY5e4epqJAcTo75q4XsUJTdQOnYdP3JExApZG4KhL1coUb\nYEJDcaEB7dWVrBX79VGknu1UwgR1USLgjYe9t2rJx4a/+IsI/DF9Ja2mZp3D\nY+E5BsZiNIpU8ZSXTrSkOEyVk1IjtuSnNrMsDQY79TW0O0zpTZ06M9EatfVa\nhzDPJxKynHmLGujrhB46wJ07UyXJzp88RrMpaL/sLZR1+X9QNGb2WFs57SRX\nL72O03qobtFwZSRyzGAw1myfa+ojzps0xM/3aA6QQnTYZ3L852NjFBTvhgxt\nOHhlewc5EyOz4EVdTcV0cLdnbxGy+Wbc8bji0FBC93csvTZ0kknP5aTDGhC8\nQkWlMrJrLBA2WnuUMgnHHqzRCQIpMSdUKPLIiFO3QG4NNaNfIgfEVlOo+dXa\n9VGvsf/57VcvirGdbGm2GWvfsmbhL/M8dHRaJQZrpR7TfadIPXuTWK+lh55Y\nHSciSuYGAn6LsgV69dJR9e6DRJsFTmJN4awxeBiiq+EF8SnuoB/ZIeMqSS9E\nYo5Wfh7FtJpfyWV0SN8x8XYJcAV6H9Hnud3uZ0agKOK4+TF92L1mEa8SSeyj\nQJWq\r\n=sraM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFxb2Bqg2+rAjV0+qM7iLqtwC9ejeUAn6fmtg8tj6p7gIgOL90tkfld/26aUu9eJzRsPoMlcKyjZ3X31EhuWYkGYo="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1100.7_1610588288926_0.6745399712959519"},"_hasShrinkwrap":false},"0.1101.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0-rc.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-frk6mSEiNV42/2gnC2VfkSjh9IihGQtZ5uC1utBC5cmkzaxjY80DRDs7vTAoiyhiWOEi19DsbtVYGNCBA5ZZcw==","shasum":"9352e4bc38ebdaaa7e8df64e62292cbffedb8c20","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0-rc.0.tgz","fileCount":30,"unpackedSize":81558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAInDCRA9TVsSAnZWagAAYI0QAJHjdr062m+Mo/re4+Zc\nGjCOv6icrOgzANOx5R5xHRLSI7/ie1/oMfAdG5TsADulyWPctY7tSTrcsVV/\n1IocncO+7/nKgec17FuJF593RlF6Yf8GjiiOLO3MNMl944Wkfpz2rfX4UfXY\n7/iv5yK2yD7BEybmaWttL6ykne8WDwJPAueRIiRCGPpAvpGl5Oq7F4bXAcD9\nPJMDWRIG1h7ec0VOJtLP5al3oA0chwVehEbQCENrtXg3DN6Btx1V+yjELVjk\nE9Ph9Wd0iz+4WNQMMIW7gSn4hHqaJd4sh+31SWm0N8kShNqxyq4kl9YTuDdL\nZ4HGDw+jkIt6PRsAgZMiLxh+1Ycqw7k76DuwrxR/jrBpYUFPdcnkN3QJ7Es6\nbJH+3VMFyvwLReWDxoIk2XuL4b7focdLEMppJIBMaQhhWEjBJ+P+sxzKaMsh\nju1xNB3m7CyB/2kDg47YSqB65/MJQ8s9fF66IbYvFg5I9Ob7uVK6erVPN9tY\nLg22ue0ggglmtR2jkYbhUQqsLgcAXV+rMRHXN8ILrR9xtC2iXymQdciTKP5p\n3bcc+zKnEoZu6l87p2sZW0rsk0J/w1eHwh9rvfeX9cLGK0WBHdmd3E46I4Kl\n04oxjh8BmJUwrNz5E/EoBDSoFkY9ELYUk+t09yyCx7tLloeV+FAeQiq+aVD1\neVbg\r\n=kR9c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFB+h/FF9vLOj690fPxqimnwm1krGzQVUjcdXw4oF0UaAiEAuXuC2YIlPJMk1IwMtPd07SGPtP02BCJnkkQvHyis4Ew="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0-rc.0_1610648003226_0.6251490714906738"},"_hasShrinkwrap":false},"0.1101.0":{"name":"@angular-devkit/build-optimizer","version":"0.1101.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1101.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0hkb7fVBDOMBmLA0NC394PAAZmQ1xo12UeiDwfNN2LF9pYdASVj/OSCcZ3yEfnxzBZm5qeNLJG2c4l2xB5NFPQ==","shasum":"92f949a4384105eccc87da8fcb2dd40590e48ab0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCIrhCRA9TVsSAnZWagAASsQP/js5ejcc6NK+up7bi4wD\nZWFW8FegXrb0ZiQU9SzW28r1lNsL+1yrQT271IC5Py21LIBpLsqIP5FjUmUK\nePf8R0OaB+zcgswMePdw4/eY1Z9RHLKITTnjL2fdOlobXHCOW6UKwjGiDa+A\nNpzv3Vo7vMnRkNeUBzRmsiVCYyEYoKN7acTZyaaSwN8T96bvbVzIlCn5aRme\neQXorgp3Tq+E2fJBopTDIiM9RRtWEEUoHvZU3NKmck0yc6YqfCisWLheNWsg\nsQv+diV1j0VfLQ/zS7PjB4XmtrxWZZTtipjQGWu8FTK+CpjjqIbtUXT46HPZ\n453cFjYZ3VFxlCTiYYXILprKLkLHxQn4WZaatL0+CFoqYbhT+IXUfaPmRIoL\nsd6GKd7Zz2sQTonAgYBAlnn/Pmq5H3J1Mf23NBg+4VfaIedzgdEiRBp8ONMA\nRkAU4Tdx5+qXS8IPT31ST/eSjY/0yYQE9jkAF5X2091+mZ/VJbi3GxfzjVTA\ndMkWr4fUJehmC+AWMzCDYiujbRTcBv/ygNxhXqJcQJT3MnMYeMg12NMmiZXZ\nMe0zXZ7J3o4aksNWVe4nijn22WW3IC6f5qJFitq0eTZQBrztB548eRHVP+Al\nsmtcZghOTadEZsCAbfmbQiw43si4hGpciUtDpvgg0NhPwAmisNv+bfUqVrx8\njSIV\r\n=sf/7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFYOe2r8KvCP93B6a7Y+4/meosDaenZ1JWyOTQ0wX390AiBTeYygMvWOoJVjYI7Oa6Du8QKNxLVYyP9grPj6iRjHIA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.0_1611172576651_0.43924994252410676"},"_hasShrinkwrap":false},"0.1101.1":{"name":"@angular-devkit/build-optimizer","version":"0.1101.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1101.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kmzXmmjAOB0MdYFkx9gx+U80ZpVeKOHUCNPsR7/fNptP+O+anamSlT1vqQFkB+ykqYblXOzgJ06jMG7bFzTuxA==","shasum":"f930c4852bb95bb7bbdebff7639316d202891512","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.1.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgC0bwCRA9TVsSAnZWagAAY0cQAKGdU4pjrhzXHOJTkBP9\n9tIVBouEq/XomfU1v5M+nBXLGHs03ZtzI7LuT/8uU+G5jP4MclrRUkOzaOXC\nOb5rzMDJovzo117ORMkNzSnnLpSWjJWNSuRxNqlMMQdK7iaaWC1CatTjWET7\nlbSRxTTAlWVK+A1QOqNYKJfJSy8GojfidtLrYPbYCJpgUEPiwVOPSg9zDVvy\n6sRXgid5QvwvVS2xE17oUqQZ3teczadt36gCo5h+CcnclTfMYuZRkG+AKsbP\nHNPQvQfRA/e4pj9rczyvzKa3r+RjsGVmgY3fhr1n1MzGcmkT2hVkk+JtOGSn\nMgG1AARcpDsuTx7QXb0ZeTbDzWi+LcHGbSH7slelmSPvch6Jh5aggiNfPNkp\nc257PeMNfKcNNT8FyMzS6iAprFBAJ2n0u31i2pO9fStAMHWJes+IZ+AU2EaF\nvYfNAGPLOpN+c8QpP+kvryyU/U7FjV1fe43ksvqDXOia7ySMFFMlmYxx4cp5\njJ3xiO6P3H3d4mzFjKqSIqX3sxBOOG6O7ms21w/DPPBFcVCWvsGHIErf5lWS\ncjgr7rh3RHdnCs19ip/745aC2BJmy4NcHdwIHHRIsJDNb/IZr3e6QtukcS1S\nEOgpxOP8P8T8vIaM46jL9s3S8P1bmOjkzgjTcxpQJUDdSkq40uAHbThNG/RN\nzTNk\r\n=k5Sy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCead0w6iOzpfdnr6O6wrnMix4at+pZb5T/bfjqU8XRwIgGHcHAdZtBS1fJHROq4PxlvhRRao/n8vHf8Lv/Jo1EvM="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.1_1611351791853_0.2184246985155709"},"_hasShrinkwrap":false},"0.1102.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1102.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.0-next.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-dnrafGLJVe3aF2vxPaA2Eys76B4NnNwb+CU0F2U8UzF+DIa9JhZqQxtj6jZKTo/s2VFoapBgsXepI468DOG9sw==","shasum":"d9c470d85d112a5046a04a0c5ed8df50fdbb7dad","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.0-next.0.tgz","fileCount":30,"unpackedSize":81266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEiETCRA9TVsSAnZWagAACdoQAJ1ZdDdE7AGcxL4+q0sp\n/Imz5jpxrwuoRRMMmRAEV2q7mr+dW6v0p73L/BS8AE3ryddg9ARkhhv0ccO9\naW49K3RDuysAxxBeB5PUMugSx0rXu/Mu9g5dih/enrySudDxuEyTLkDKBJOC\nwUt2lRnc17jm0JPQOw7paD1JWuFVm0rDgGfthrgeID60bklML4dRB+5YL370\ndclkV7hcivgLD6hCm/j1ncs8QN6bWviXqvVniKrIUO4pX+d+mVOfugu1AxFd\nrFIAvZ0fBkb8F5X3n1KMNE5COucZrgVGM5hRQt8Xb5qZ8YQwgLyi/HbCnQ0W\n6tbY0skDwhYuxHvy+8hglTMU1WyEnFUgyZjSQvdib9rmaXhzIkvmMOiQxE+p\n0Sle08XJXt4LXVOMb1pgSNtRYkIg/8hreWoALWrzQnG2dWPL5cWLD8iGIMb8\nhsMCTMLy0FmFh4qC8MTnoKXFijRkIQSTVwFUniB2BkZ5gFFDpNWbJUL5xIkD\na1CnHX08Pef2Hbq1+jQ3eXvT39t9Z4N45HRNSK+mkcpy9cSu7bFru7vb7x2S\nDTCLQdEKuRp3l1Vd/Oipw/mHRuf3wgEPolQlbiQLGXhKBI5pNEMLKVUBMUbf\nxVZxc7ruY3uCL7f6Tp6c94pCsS8fam+GK/la5tko9jEW15fMulj/g5O2Y4+s\nbcK6\r\n=S7Dq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgS7pBoy+aPMEW/FriuvByCv/BzDKrO09BAKCyjWZF1AiBweolS9P/6BlvGyYIs6vfT5LS6E5D8DXUk8GKJdpc0jQ=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.0-next.0_1611800851321_0.9003096981388423"},"_hasShrinkwrap":false},"0.1101.2":{"name":"@angular-devkit/build-optimizer","version":"0.1101.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":">= 6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1101.2","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ARcUcEwaAR3n0gUq2hCx4eXONdnKKXTYSaw2GUHtraBDp+m/vFcE6Ufxyki453eHbHtaQ9yjXOcBqu86u1u8hA==","shasum":"15df570050dd264472f4e90718fddc3179cafce9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.2.tgz","fileCount":30,"unpackedSize":81553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgExAMCRA9TVsSAnZWagAA/9EP+gNQD25eRVOdm8EqudCa\nT970ANyEBVut1J27G5fyHy//dt6UY+GzAzpiTd3jUxcGQ9qrr4xhtu8Zn4sC\nOFAbfmtNqAX1qwbBMyRIZWdHM67Vgs1UtxkZlPuwbGnVlHhH7U0COO30PDH1\n9z/W8OFAhczFdXpiFLgN/lOooVX4MZmugj4foktMWacHg0zDGgUDFxLUSbwP\nw9lnlUZgibxrvEbP5kRYBMXgVuHbgObyu5P2XezttvQ7o1ACFxFRkHPPJetg\n6OLh1EDO77lX6pRm5A/1oy14YpfvRwJcD4khypn+nuybRzWbV/nGBLR7ouf3\ntfQpFY3fsWm8aAalvzMa46Fjo8JfSivvrgAdJffqNeKGRNB/BR5tPet8ydky\nlGsoTAC6wJaT8BKzdlPUuKtO3/HWOv07nKror1zEFUrJuHofSeAZd3svjnM7\ndHqy/3BGIDOTyGK73x4SV2e8CawdAwfJ5lFLOoGgzz9HYC+rK2iLgD9YKWqw\nJ871fGWPalrzHfYt4BQDOCyenSV2RCd4ToZ9j+HTZGdM8cvgqQaSvWVKE4yQ\njFLxlt0GrTP5KSkeS8GOSTPLswkzNynQ+awsDKnYxEbKlAVU9Gxl+ua03vG/\nn5azYbkrkcFPwveMNFXjfkHNodd9gKF3MWZkw/4WEDk9iHk0ulG7CM4fViqZ\nh/VI\r\n=d9bp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGULEAfyaMPdumlItFJ8mVJ4bb7mb4suyqezJkZ2NUDAiAqB/ZN38O+Oyql7Uti8Wf2wUO6c726zQxVt+Vu6uOSrA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.2_1611862028356_0.5281600373745214"},"_hasShrinkwrap":false},"0.1102.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1102.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.0-rc.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kLPXv0g3UDVnDcEasTPgFki13OPfeAQLPk3HAgviK+W4FuKsTBJH/PZv3YprbmLUYYkHCfGmGNoR1YwSFHpD0w==","shasum":"6de569f34a2fbfd6ce7c0796c03da1d1b2a617e1","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.0-rc.0.tgz","fileCount":30,"unpackedSize":81262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHI5zCRA9TVsSAnZWagAAtvcP/RGwZGWyVq8c6++mfsmN\nc9DrYhZmckuOUWx25daD+a97FYPTeNG6opdw5H0tP7BuAIQUmKu65qDByL+y\nPQRlScd66mgIf0R7Y419XMYCbTwvzOhy9K7c64DAxN/Jf3fwUo8WFD6OuAGc\nBxLEUyyDCTOyYOO1n/NbSv5TN/tkwS15/zkZBfuo51hR/joofRuO38eW153l\nCEMBTtvA1Bo/6XMXggEB4MKNJPq2BDISdHBl4FdMsh6uL2zYQlblhyeHHO4Y\nu8eY+PbNEgRix/FgMOuB2xonAyNx/6LN4ucq+yvYxPGGXdJ23z9nxKx3lNuf\nU1UZYjvpFVCXJJmEf/pAp7qUxWPVLLMmfnxl8gQhzs3hAsiDB5KoSFRlATJi\niQn7Xf47IuJYnzyHt5wenBEodIes0+ziM5P4aEyeaCPMwhmWO7ImIHaDAL7s\nEaQQt/lJhiwhX9U2vjxET1rMUpS4ELJGsFT0pI79zYr5HGVAQYrJ+QAZlyx7\nlCU/kDUikmLP3YGM14If/eAoMFm87FFoWtsukjDlsAwcdu+uJ+MYHSLUtloE\nl2yXR91lqJsYLtIdmlC1qLaIlz6rechMeDdFK/4mA9vDrmT6FU+2jmra6pI2\nN3y8e4Gcu2xwNlZPhieiKy4BONU2uP0ObV+k8PnbRThlqYQZVMDnZoPBR8Ol\nGAdC\r\n=8jBE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw3ImClsdNDRbURn/CtCHEP9oj4BHNUw/wytl3xEdxCwIhAK6qMJh7GtMXCvtSkN/QIzjo8cqkSvhHq+7jZnoRUR+T"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.0-rc.0_1612484210731_0.7171464099167841"},"_hasShrinkwrap":false},"0.1101.3":{"name":"@angular-devkit/build-optimizer","version":"0.1101.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1101.3","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Dg4e8FWDzKt7NrdG613bj/4IPThIdmQDxcmMtdiviAXduEPEGgNa9NtSS0Zfcw8sW00Puq/roDgMQ6VboUochg==","shasum":"6944ace07309c74d2b0bd5f47ba90623c9d2aaf4","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.3.tgz","fileCount":30,"unpackedSize":81551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHJKBCRA9TVsSAnZWagAAJQcP/2Pv7mm5f/ToqU4Q5bFj\nWYecuWObpywN/52FqOw5nPTPSQ7XtU6ALyRqZkF4+dFKW4oHDgo5QpAKfvfG\nS1coqkD0HQLlqlDEFlBpYIQqgh0k2bIv6PGSBnwHqhmlzErVZ5T32it+G5FO\ndh7d9pGskKQuN6CPKAR5yu2UJsyfaFFcN6FZR92bV/w3w+9yfEqzEVSh5zHF\nj7SJ3whuKghJdilWyrHX3Uro13CErODUxw1vWsjJUminnqvfgeGeOTdvgDwD\nKwMKWhmXOfSAElqkwcYk3SivQNPNKUWzA8LyNFKTxQDV8gIteo7+ZA7Uwz7y\nMAiG7aZuNJnIF/OHtwlQduxKpS8gBT/RXXrWAGTevT13TuXiQBoazc+OxVa3\nMXMfw+Fguekh8h6KX6kroV3rkdVgE9NbtqiKjZo8bEhIBFlstXU1qDdizfST\nw8d4fWDO5m9+cQyi/JBr8k0TrS3wfOxz4+j17wdfsA/9FbrH/lhS/ZWqJvdP\n/Amoh6rG/Y5/Hgj9Zl8Clq+ARd+wMevNhxcvsItXVW1GdLFPJE5EJ8jKs9zb\nnyey0Vx4rWdYsXnWPpWafUP34s3e62vwuzfCjTZ65U2jq+NFvQEtrJ/AjyCL\ng0D3dBSiG5+JqjnkF0GUSnH4cAxi+hp0E/9zKFkpiN8ZYKWl8eVxl32uyiHO\nBzRo\r\n=Yfvp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICM31kZ2WwMhNrS2vhOl1+SH/8CBxhZUSiVrVrvpEg82AiEAh6jWuAMIWGcvGho8cQEKgtonHpxEmdlL+HnBp4F1EdU="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.3_1612485249345_0.8998022082186516"},"_hasShrinkwrap":false},"0.1102.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.1102.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.0-rc.1","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LslX0srjVi1wSqqRFu04blkxbAaceooIAfM8sWA7v9Nw7i8H6m7lSaQB8PKabod+wVfAk/f3oGS0XJ5s3ff19A==","shasum":"ea83eee5ab71d5d2276394cdf2e26aff1802c639","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.0-rc.1.tgz","fileCount":30,"unpackedSize":81262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHZ83CRA9TVsSAnZWagAAQroP/2V8MI09WJXyCvOpUnVZ\nqrWJkf19RhBd/1a4Q+AbWDXhIkEopXgveLJ1uNn1XBfhAW668DS0UpYZaQzN\n60mQRD9MfbHn6phqtsSOR2RyFqdUcQs8TgHBO1VnFcYs034uAYc3/lpO9Tpx\nEa1ntwEllevs/RN4ln2+pY0F+a7qBPTZHM3uQI66exzToiOJFmfCaetVsHsW\nUo05QWrY7K54vJDYIda9fsHOYpeIKXXZgR4FiXjavsLvlxKSZ4RTNZr9nMGQ\nj+oA6z+RZZkAflmEwbnHGDchjKWisC01kaC3mejCIrQ8SlnEsluUC7/+Uhxn\nquS5w4j1kr4/yCADUBdmRJ+l2zaQFBdEjTwU7Ir7OY8oI51GXi0RAUnJ7Bat\nOWLPZ5PuGzTK2K3RccnrJJN29h+mfwRJrWNavGB3jMgZLMvYVOs7xKqRkkrv\nwR953j/UtB08uQ79fGK8L4zD9OFisAjfzdbK2tQHoAFY5Aemmf2WEPk8CM1j\n+bdz+gye9vOOWYV+HIDnEOiBy3OO7squ2fuJA+mooFBeCcWjS+BKT9qCcAcL\nyr7PIvu3f+2d53N00geikdPYtNgoHTYKY1/1uRmDibYmVMPI/vWunbcbfgZS\nx8deMKRl8jvBE1r/yAYsqQcEAXs87wfs7DYsnp5Cps/0vq1lfRSlXpM65k2P\nd/VT\r\n=kWo1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkb2n7Kgl735tNzKPEY/oTSi/Py6bGunxFNPLXoGwnqAIgMzBKWjsK+4779HRvswG11s0UHkbzBmytXMC+BDLf8bY="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.0-rc.1_1612554038451_0.09556450813950401"},"_hasShrinkwrap":false},"0.1101.4":{"name":"@angular-devkit/build-optimizer","version":"0.1101.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1101.4","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2IdpwftE4ERcfc4TynWVuZkSu5L7BHDgBVktNYjINheqo0zU0fw01Y6rn9R9lKzsn3ka4GWP2hwnA1T1WWGl9A==","shasum":"f462eb90db8be775dc1302f0b4a444b1812fa76a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.4.tgz","fileCount":30,"unpackedSize":81551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHaAsCRA9TVsSAnZWagAAbi0P/R62qhzPRGxSzB8rH1lL\nw2JiYwf1O5aEmu0dkvM1bUVRLQxKF8q1QgBpCrbVwijeh/V2eKTzggkXS7RG\nj+3MCosGrvFb+k9cwVh89xqx/bhDRE+8AXT8EQegZ7m55DQdxPmBHTYpkoFl\nVhfe/rJDHgej8BMQRcSwJHjhg+0dB/Rz3Xz15JLJT/9lta0Doi1//CerWc9Z\nqdn5Ozu39qgeV0ZuZgJCttiaYeIqw4xKscizQexarZENSrWZ837N81P8fsNf\n0S9WNphyfrtytiYflQNqUspqMqFyKJp+ZwEn47/zwrGHsqU3GJVl3jG6txHZ\ns4F/VsHFdevaCrwN3KRKtcSJTgcxT1u6yM0W+U0keUXPMbuS/tMpuGPACJ+6\nKMot4yRd+pGzZiq+jKqqDn6sPTFgzDJ3dou4ioKcU5wH/BTBjX65+RHmSQOg\nzqRgus3dxNmSpUiqy5f2WLkkU/qSHlcZrGzpMAtICGP1T6f7Ed+k09kL/L4o\nqP6a8roVxkbORqZ5wmF8CT9Qfl4qC0QwOOR48UQ8UX3s2bL+2aVcC7LTwAiz\nW7rRhbtH95gQiSPpc0zost8pnHNx2LtukHzY89mBnELjkw24eXgm/VXzeXWe\nuLxT+tf+6hdHtRVFpCKmhRlDGhJHKMhPqHmitRLuxRE7EGDpm4FZzK7dCw5q\nbRsV\r\n=jKN8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGtdklVCIfJXDFx+eS2mE3Wjw0qf0qzj7c7gh3boOR6OAiBdUB17nPqSMiNptxtksbe4I/WG3Ye3zK1o0rdmOsbd8Q=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1101.4_1612554283947_0.4162706284659219"},"_hasShrinkwrap":false},"0.1002.2":{"name":"@angular-devkit/build-optimizer","version":"0.1002.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1002.2","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-v2/33DHG3cKmYpyYQRlb+qc4Y+gTfYQZhgKOLX/tE+OR76OKb5yIzW0oBgwjc1EPgY6J3unSIu1N2QrQSxocPA==","shasum":"5eaa46969f83b183875a4599131e29db11c4dd59","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.2.tgz","fileCount":30,"unpackedSize":82696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHar3CRA9TVsSAnZWagAABHIP/3nc8FKcc5yAZrccgChs\nBKMDz0kTbpinDvkv7HnRfpaue7XHu68jUhIpFf69s99MpPXmKpE6uJek+jfx\nPYRQU65sPsBgZ9YzPBtpat9OjEbMYuxU9WgTY5dIBAdwU7nyh3vVqRJB0R7p\nl8/gq0+WjMkWvzfuyeTFVMeBxcFesPTAOQkItE3mbPUJLe6Y2yeGij73lF76\nTHtKCrMvyd5iLsXZZy1d6brDiEFlcVtBFUlSSBDjz5cZsNqKUYqh/D5kl4VD\nr88gvAghLHZT+3xzTmycSVj0DoZP/2e+9yA6HqbXS0VsFld4l20a4HHNCJlU\neZXwiteEwtFKnf/ZFUQ56WbgURqX45uHuYCDLocbsaz0IfTcPTGqAOdi3S2/\n9DoN2u3RLYlMgybUnh93OMKKKnRHjz2l2yKJ38R3NPNygqY8/UkXbZHAw4ns\nE7UHdv0Uo4C5hSAS+/IMqEizvnoKD16VvGB1tkmox+ef6XK8Yj+2uQDYX+ob\nkoGvvyCtTer57t7UC4MHDpFxD/Afsr3Nuj0Ww7qTJ/0IIcGs08W7szWLlee1\nLWae2Dz2NbPCQva1N7ck7FWUoHMHbkr1j/3rYDPtOMoq2XFnC74tE4yH4EKZ\nu1ZMCBfkCtPJGzdDULA5A0FtzgATdUeSDagmfNEY/xsAf1TZz23TovIfeDig\nugzG\r\n=vgVJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGDNfRtY4YdS/A6u9kJp9i1TEwwlQKi2POk2KUMsrN87AiEAiPVoqynibXC3CjR9u7dSFcclHjzXulg7o6kJ8FIYlFg="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1002.2_1612557047347_0.23565572400471213"},"_hasShrinkwrap":false},"0.901.14":{"name":"@angular-devkit/build-optimizer","version":"0.901.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.14","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wsD93IJV1e1osROeQxyFdxxHOsZAQ2E8Pg2JbXuSWH6T2hqGFRQGeIw+nN3htZRMyTZZ+4PueOBGjP5FCN6apQ==","shasum":"4d21027b899e1a7d312c6042757498cb0bf53956","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.14.tgz","fileCount":34,"unpackedSize":93918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHa0pCRA9TVsSAnZWagAAjBsP/iB3z1BinoAbnYPc/RBv\nPJ8bv0wLEuyDcSNwiJJb6MDAaPn9/yMbKajhlB8hGUKN53GJUBX/EjrDX0hZ\nM2nypf1eHPMwZ9/PMbOVC8JUp6ZFrTef3f4aW11a6gzNnThECCCyWtYixmwv\nWiOgo8SNP5Qe+BVBcNmPbb8/+SxvUs0VTQ3Wbx/yZz2ZZSWJctZwXs+X+R/v\ngU/oERYXphBLcwHbtAWWsa/1N+SobO7ZC9jzD2rC3lGQl1o/7/HhlYEkjZly\nmSIqsYRvpDLGgfZZQ1y66Zs6QdazY7GHaGtT8AKGzF9Ad+j18A7PVv8wsbbN\nJCKgBRH7xkbwNcvJhRoziGC7LG61Dpnn5Ho0yvQ4hjeXt4jHfjqTMwBk9OhY\nLRSdRjTnMCwddsZiLBfu0SJvrmsEArit8/jZBwq2DK8rjrjohigFDJ1VOSNs\nPP8qhtR652Vj46NAQnCohG5zD217Y4fPeHTRrnw74p0gK/vwnPf6PLzKS05D\npMlulwR2d8PDC2U6tNo6+ajGNn4mKXTxQdm9P+h4Y+fEtuAnBLoqtL9ZM5dz\n2sNgqb2CuNPq19BweWVpXjRMSFGKkyOVdEasNN1yd6Wcau6Ln9Isi+Dvxr+Z\n4FSwbUlQO9oGHllcc6kcZ1UyS5P5HAXPq8Ajw50nwb8e6Ne3+MWJ67dfsqoS\nEIp3\r\n=+t1R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhnOufmD2yvL6UVQKMSDqjADo+ooTKm/bvASuJQpMDxAiB/MGTwl+05uueeJH2EirZKlBNq6luqfGUnQQjuZ0c/+g=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.14_1612557609097_0.8754948562696356"},"_hasShrinkwrap":false},"0.1102.0":{"name":"@angular-devkit/build-optimizer","version":"0.1102.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0Xb7xR0iUrbo/BnKJPTsy5IuodfFUWbvXUu9qeKc+oHzwxObX4Y32X0yyRpIJc5UK7Ce43HkopRQ/tHdoJp2fQ==","shasum":"22e84487e915d3a3590fc8ef3b0025ce7f846301","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.0.tgz","fileCount":30,"unpackedSize":81257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJaJcCRA9TVsSAnZWagAAAlcQAJ4W//a90SMEfqHDw3jQ\ng5d1PZ6quF7iIZgC1eNh4cfrHP9HaJ0JPN4dfMuPgA5S4dsUp3O7se5e+vlM\nIWvsIiO9xJhSssRpZpLldJyeg7aCUyx8e5NoC8aHUc6ZnCMNcPt/BNmrOhS4\nfKemKLmGEi7B5rhM5p+YHYcae7HrabJSo6eu+tWje//C2QBxxeBy4oCxWB9u\nvfC3a1muWyfmdPz38cahfKHwCIjMx3e244DqYku2cRuemU+VILiaBD6MIXKd\n+Aab2K3NNTNC5p3D3Z8YbbC4liMaV7Z3jKe3+ECFvSnyICTS+tdh7bG14MHK\nIiG8MJeiqQ/Rat33hJ0AOCgnbMfx27U8YU4OMEkqM28kiZ9fjNs2AmXK4SRc\ng5M02wLQYQmBwiOP7iAaNt7HAPEkr/EeMYsTRkeUHEQkhXpxLaeWMZByf69+\nHCG2R5rGLXP0lRb28Aa/2hVMUBI7o4wVPyZ8HmJ1pWnNYzcr/0LnQ0ksRFwb\n2aCBjlggyny4QrhRgk+P6FsC/5fPw+rfjCpgnXBGb650yQkpo5auAuad0b1v\nCUNN2jxD6BcrlzRM2gWYgD8aq3amrXYZHXkN6wFxmufMU52U3O086WBN/CDv\n5Nx9q8uchfNc54Pm+FsxqfEyDuHUX2nhS0QeXPb2TeDkLb3kBZUve1vNytui\n1vtc\r\n=9nCX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgfymM6B0NtcY/iXFhAV2TpT+g+0bPw4mGDCo02Q5vwQIgYmz7xhmNMdGQR0F2CpAih1tvmw4pPhUSjFAI6u/6Xf4="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.0_1613079131563_0.07743046390901953"},"_hasShrinkwrap":false},"0.1200.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-IIdUQ6cZK1npiDV2Ys6W2ZSZR26CGp6SDfbx/anJJ/9XOAhMlUS22/kOwWpgOT7WjBaH8hSnznbD6qByKWX6cw==","shasum":"a40d9c71829199d0bcf395fa93dc24960bb41552","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.0.tgz","fileCount":30,"unpackedSize":81264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJcI2CRA9TVsSAnZWagAAzsIQAJnncb/uqY4GEbQP/voh\nasDxB9DA1jJhdNwgU8YglmLAehHzG2CH+ynz9SwQDjxPIe9UinwgypXSiUmC\n2uegNCFztV87vJoNd02/NuRh4w6GDZk+Zygm/e1Qn/+VmRCRcd8dw947Ma4k\n/hX0RDEOaAnQ/ZB+cKIrQMCgcSbmXAS3B0bHq5V9AsSTMMXSK7DCuBjN+flH\n4dusXwz3uDX0Sp3lU9kiIxNANt7+GgEeVz0WyzBRzvKACn8pBMixszXpFNOC\nsq9aFx/KA0oy1YstUOO0gomLnhC3J+PTcTT4WErJDuRtJ0ywNoo2IIythcIt\nNFMkydTMshgynq6iVcX5qRAui9L1CALJsZUP0zwbA4aiA535Wjp2bMcpIUhX\nJGvLFYvleAZs3vbSqfE/JSBQnSvm1+RW4qchfJ1H9gNy4yUith3HIMC+M6LD\nlpuZ/Hyt6N/vwZnX2/QPMpTczhx557p1yGU03EFHtp6q52iWNtGELCvQO3pM\nqfTtV4hdUNvqhsCleckryhcWII7Mtdeky/cdcKtu0aVMVibRQytFNgGamoGo\nA6rZZ6wNtM+xdWa0DUXqkc99B+3u15B/vN9yI5UbGIin8FzCYhxydtLWsvC+\nfaNYgGyua2GTlCr1Ux4oD595N8u3U8AaADI0JGLX4dLwsk8zS+Dzx35CMdxa\n/1iI\r\n=8na6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMcxArV++S+ufGf/rJyCv/rsyqmvLFOHZRQ3CDxdsvPAiEAjbfdg4N4g2/h0APeiSJnlUjlJ0Ot6uitvNsNnVw4180="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.0_1613087285748_0.08517583096702563"},"_hasShrinkwrap":false},"0.1200.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.1","_nodeVersion":"12.20.2","_npmVersion":"7.5.4","dist":{"integrity":"sha512-okmjccc7Y9d596aIiUkVLKO0RwkFeD4BxCb8I0L3t7ZNgHddFMd0hj0OKUYuSZeRsWyj6/AfQ20PEvI5O04I+A==","shasum":"fea746c1ac2de2e5f04520719eacd2eb4ace2ced","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.1.tgz","fileCount":30,"unpackedSize":81115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLW/uCRA9TVsSAnZWagAAnz4P/3n4nJwf2eitzNOcIJQh\nnOGCXNrRdX2Osen+VlBG47HTdLS9TKRoEhy2IuJM6vOUzSqf0K/74ZevRV4Q\n0fOLB7QL9cwg8rSBwHB76LYimV/oV2pzRTuqChP39szt5DAGT3wdwjcsMKb9\nU/uyjydCSDh8syZUBS6TtnL7n6AsvZ4qQlXRav3EVRcz7zdOXWUY568qVT4y\n896yDHuR8JffbYgXdt8ID7eEkWq8Bm9Xk/Pm+LPESTWZqs4dqMKpJNxJD8jP\naE/4oma3MxASwrIcithLkiXWwBOL7nNNWUk4PX8na7sDNEmitC3Rt/oNkl0V\ngFyGljAltQ6bL1JIA5hiBCdh2wv2VVOBgCd3YR9UkxyJggsGO8oL2j5OwAyN\nnlYVBhd7CB58Bxe8nvNypSsRJOApojKeme9gU7mykS8zyKkQGeiyzDxjNtV7\njbGnPeYDyn5LRRRaTynqOprBXVBELm4RMLHLtPbIsYwK295pQIhmAeuQ4f7e\nTMAPlGuHhg4L6SE6nz+1UKAcoK3tjO4uFHOP42HOz8x9FU0YTXqcYv6EYDuX\nVrMgrfOJN1CABl6p7RfjnDOgQbWxxP2t3n2cW7iF60Nj2KpJuAEmtE0DfjDY\nuL/wcr/UUNlubFx46mlkDJR87sLrfmiISI6JJkGZcXnanOyOp9+dhn0ofjvJ\nOQ5T\r\n=Rk18\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQcc3HxTIGvirGT0B10iG5K4XnZoJ/VXNrIUI4FDVHrAiEA4YaJOrj0Tk+eu/zgZ8pgbqABJvg+2wuMmn3Y3B1EbMQ="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.1_1613590509607_0.7251440531467297"},"_hasShrinkwrap":false},"0.1102.1":{"name":"@angular-devkit/build-optimizer","version":"0.1102.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.1","_nodeVersion":"12.20.2","_npmVersion":"7.5.4","dist":{"integrity":"sha512-/VXu76P5LWKxT7+x3P/xsRr1P22y+7erpKX1V6Y07b6KwMoButH/hch8cBPsLPc9QWoVxSuyBzouXQPbXlT/LA==","shasum":"239ae1498c43bdc469e6886bd8dd0bd80f132ae2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.1.tgz","fileCount":30,"unpackedSize":81257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLXHZCRA9TVsSAnZWagAABysP/jGB4m73wFLgupJyxKkp\ndjJOt1A4PvY6MZV2QFfBwi25VVYmde0w4oOCnsBCdnLuPVsWB7YYMc1VDqFm\naq+ghHCCNkebTbhogJHu+zNSF/TyqLAebIH0epXWbdNRL7HoTFDWh79V+xLQ\nHIBFdox2pXmKutNWY40hZzdaNBhJFmcr3rWna7UXOnmAdKIIgRMtOn+fzGJj\nPaLmy8r53jIB/S9UuRVHNrsfkMcgMG7CkDWoMSbkyJZ/2FGsQzFlo6GUfLgg\ntA8uw6OGCOt55841eOE8Ql9CIpme+vJwJ8KJpLcV/f5BOOSm+Ilfq3MYvofg\n0QALRGqamT35mwwCGxSNAPv4pc7U8P7gamXED3HtZU/oGPJgFjYxL/Xy+4cs\n+FsueP8RgXez38I49xgNkx/sYR0qsw/8GNUJ11v76QvlvmM+qQXv004XRQ4L\nSLDaFA/CeKxAiLrSDispfbQ8kZQpUTqmtUo6wtbNK2tLcE+XKHOLsOb2cjt0\no5Bdd4D8i+uW/9gTHsSrDuvVjPhthMVEcnDm0+bzUS46n4eVdo14qBIXBAiU\nfJ+KdP18KCQaSbREb5enl8ft2zf/lJ4/e/nvrePK4szWpWjT/e5w/kqlC6hO\nicNvfP7CaPgJpZJ0sL2JkIXfvI8/8XpK3Gv6dWaLOHn8zpfFDw4Z7e/GKLbv\nIw5O\r\n=lK2r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrZIR/8AKqyeyR3u3FCT/DA2/8OAJzaqH+vO/AjCyJCAiEA8vTBMM148ohlgJohTrNSRKx8KidlKBnkglZqdQywFxM="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.1_1613591000660_0.5510828327443753"},"_hasShrinkwrap":false},"0.1200.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.2","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3xudahqg6M24QnfJq66pMe/RotdmIZzC1cCWuiOedtL8TvvC+QlJDvKpZl2LCyLlJQ4DPddKGL95aK3hiSwyMA==","shasum":"1339cb5ebc812f5e62fffc87a6858201d997068e","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.2.tgz","fileCount":31,"unpackedSize":81592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNtekCRA9TVsSAnZWagAAM40QAKOlfx/dqy/lZPhPtMlt\nn+5ns5+k/ICq2XNfTA+dZB57X7pzkFNk8Epl416VVM6av6oKtbdZTZFGuKbE\nofK/M+Cyy312iQyKi7ilQKpCowVl3OJV0Y2Md9bW50WAJm2aGBt2yRfutWzt\nch8B3IZZAJmsjCDSm3yFID6KlGauZhD2T0ColrPSgMFLQdrfvLMkARjHgDoz\nQLzI4TpS4UyK+xyFVu5jyHC/JE8POZJYZ94d6kcaqREDkgyb16U6eAT8lQ6Q\n4n5WEjwfcaelHrM3ad3v0H0ZpKiIoyy5osKX7d/tXQmrGg5HlP9LBOEZuK/G\nWR98vBQ6fM4uemm1+fcsPOsxeKB8HeSPV9dTUjTNsSVxo3CUlbxpTsmWikXe\nM268NIFj7DcsAgzyAoduor/vAYz7IO/nD/fWQ8lkAp/AfEAcp0Ndlzg9V5B6\nhIv09MZnV+tlk3O2nkbL4nC+Jj+t+A42Ybw6c1R3uJEzi+w/ObRB7paRRAAK\n4WKttI3M/JC7K+V5JFNRinkV4ajdqM4+4Q7MoScQ7a5WAkCjNEG2pDu3N8IR\ngMMRB+i63DrvoJlipkxi6NDmknIk+Y89yoXj/Q2gCSO28pIKlrtaEiH0Y5jJ\nOho7YuU0ukDGBmhExvr0PGOSP0/Ftofj9qDSH2G+w9QdTa66BKLUbD0MNCs/\ntJ68\r\n=J8uw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcBGENKn03mTx7OlYBKtGOGHP9XY0YGLSy6iSYXQPKOAiEAtsPiBOEjzZrejpib94j2xlJnVKKPPwiRS+pCtCRwu6c="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.2_1614206884217_0.8579757117510944"},"_hasShrinkwrap":false},"0.1102.2":{"name":"@angular-devkit/build-optimizer","version":"0.1102.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.3","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.2","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-TCWWqAe+pWZzLp/g2gG8Z5NC8JSgDNfyEuMBWxEUfo1Sm3BluXoz0BbmnietuhXJZ+fPAp9rLLzEGZlHvOlmOA==","shasum":"a306fee0bc648983405320953f05ad1fc60b6b84","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.2.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNtigCRA9TVsSAnZWagAAAZIQAKBTP33HD0jxhB9FxgYu\ny4KoJXxfwA8PL85tejqoGligzc0sfP0ocsParKsuhbpRgTQRKKiRV3sjK5yu\nBBmhzYrG66nk/6LSA1MtSgGSDboBjPi0qH+kj5d1SbEJExD0fphaSZyCt13F\nCp0KmAio/HMwR0emHScH2zhlF2PhjliCeGWkjSfSWxFoUpqomSQGKEj1NFFX\nw89nWCLkJghO8EKm1L1ewFwTGHlbyl3YFF3GpjY9jMtiKvRJZDl/itWk0PH4\nnev1KfVgCk9GrZMbD152xxjbEAn+2K88ew9XL0H+kuiR0jBHMIvZsdxqplAt\npt2ur5m9MuSsWk4URU51hSj6ZjMjNGJLa7xUc+rSGzs0Oljo1cuLPIcKHz6s\nnMwQySJHObbIQNjQ/UjL/jyPn/sE23FoRLPrWxXdWexClwGJuXBnOrdQ/Xdu\nxHo4HhSurqnXbYfGjbuRSF1MOsAE3XPZqllfdu6TgZnNYF7NhOHuAEcCWgB/\n+txaaHphQAvE1ZEJUMyH9gz7TVT+ZuYdyNZIDUqnOfEwjwKLJ6vCqEM4T5Km\nUeTIPqJ91qD3x0dBSkJ2939u4iD3jRcqTwBVtD0RpJctx5Nc8DMgcqkj68uv\nR3c5fm4h7B3MW7VkEMzBsup2R8aMQzHIFAsPW0WDHThztulB6XaMkaUDd4Gh\nP91k\r\n=kmdq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCevzjVCAVKQYXhrM8shObH8pIC5ZR6OH+NT/bbxH+QSQIhAJJ9P0xzHsDKbgNDa4Auln2d7cw2H/nXmXekvLGB5ZYQ"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.2_1614207136382_0.07473269104434"},"_hasShrinkwrap":false},"0.1002.3":{"name":"@angular-devkit/build-optimizer","version":"0.1002.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1002.3","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/0KbxVmmvt3S7ghk5zUH8/PWjW8ki0uSmPsnjopY8jRgAxuXN/7PXZbqswItNlUBoEj34hj2UADBUJVic7fcnQ==","shasum":"797822cdde3e0e9892670ac515c6f4a7caa0854b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.3.tgz","fileCount":30,"unpackedSize":82706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN0PYCRA9TVsSAnZWagAAIb0QAI+DkRs0Z66xt0ibvVnK\nVyeb8oTqJWQRA1+sMa1GGoUuckNhtQVZDvBjK0obVyVIW07rN3qfY+CGTLNU\n7V4awIfeyVGRqvrjYcucZieGwdc8KKy93VZ8VLVp0xw0ub9Y++JKb5u2xxP/\n4g4K9LHcfTte6mAAQ5FdHeMXR2i6gu/PBqpAZ+oNeumSSS6d/WfO7+qHi56l\n/+yAT2OZsXqSoFUyPhauO+VezTENF/b1P6O5Nma75naSVIMmbznkM5YkUi1o\n6P2QgrMuMxF49n9EYXiySwpbgwkdQy9n5pYaSyIy4Q5MkBwSNQJqcElw8Kx/\nxMnsA/DM/uy6N+EH+J/gDSqZqmr7yHn3N/9ROtIi/NVIl4YjvvBVxh6LD0zQ\nUj5uBPmMv364YYZTyHSWWa5QDvCLm0QVLxYGzXF7MfQiamvYiSPMRCWM6XsU\nkgSBg+FleM/4CcaxfvOz3WOJUJzrTZ3nP2H4rRvlsQFbcdh1uEN/GzTNc3dl\ntluLTZ4vCjkIODU1JUCInlnyulsVyrv6s+KE2xUEZ8XdzTKt5W2g6e5EKUh/\nvL5eyn+CBRxlFjUjt8FZb2Dv2xXUnuJM83jSKX64+s7CjMyG7XsTasktF20n\n0m0N4sQOUuHR3YmhqIBxjrOOMictVVkt56h7rrwHg1agvJbQC5JgLcokAXkf\nWk0K\r\n=76Jn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEgDRiohTW8hyBYvsw+j4IwThk1AOxfGrBPTeYWdokZxAiEAgzkS7plr4jRhdSFYAopNAniqmtIr9DUQSdM9hAKnMcU="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1002.3_1614234583855_0.5605184309336517"},"_hasShrinkwrap":false},"0.901.15":{"name":"@angular-devkit/build-optimizer","version":"0.901.15","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"1.11.1","typescript":"3.6.5","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.901.15","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-fCX27AAaM91UlNtjwUhqBFTvL3U0PexeVpQORJ7hAr4DG1z3DUHJS4RHCjlgM060ny0fj1V5gu21j1QAQx52vA==","shasum":"3160a5feebaac391967870e4b0a8483e8d31f882","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.15.tgz","fileCount":34,"unpackedSize":93928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOANbCRA9TVsSAnZWagAAyqwP/1UsYDb7FvAkiLRh6Ser\nwxnWJ47rDsm5ZWpIRiyQmPQi+gz5DvVlo7xUey0OaNr1H/r3HU42UJWSCx5w\nfe2jbQ1ltk5+i9Z5ocN7z0FOkL19AsrjPkKGfjQ9z/v3YYdxNK4WjbXXQ0FR\nFnzGIbiQQY5ZY4UAZftJmw1HHBSfsmLH6iDsIziKZo9F3DtsS4osKcyQha42\nLuBW53PV13i7If7Heg7PFzl/qlTXPQiUrebsQ2UUo46cSfHV5xRsRZQDADNj\n+0J0vk/wi0c3xNNo3RGS4LAw+uFsV43tjYFDTRWiMo4j19EGAj2mfUNfFaka\nYOG4LVOLQEaWNT1Gl8M0as3ITnGcRpL4OEWtpiZlV9ahmv8VMwNB9tSaEaEs\n5H1t5AwSxDU9qJVH/9ch6IxFwP0tbVgqKEL+JlYFoMJo1MYBZKcAPAP7ty55\nr4Dl2cehjXxCtaipuCHL+i6hBQQu471vY4JN2WsluBdQwSpWMzi0W9UScFZe\nMMfe/uAB1D/unz33NbZSEivIKsgDU3P7zYdl7qVReW/sYpYYGJBPYFMxywD2\naXBt9uqEtik2Q279MsnVT8i04zgpRu8o+sIIcTt8ln1MGWf8W8pAmjaw2p72\n1czFU0erSq4hcjgfg7hjV2MaVLEWvNif7h2/4E60kWEq5GGlqimvn3nM1Fgg\nZPzz\r\n=WDwx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaTns83HU/umyJJlCd7fMroFMc89ET7ZliSZSvl5Kj1AIhAIc7es9idzwaMdmIWIggSf9hhnd5QDJwsDvlQjcOin51"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.901.15_1614283611434_0.7550848664795298"},"_hasShrinkwrap":false},"0.1102.3":{"name":"@angular-devkit/build-optimizer","version":"0.1102.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.3","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-MisroE3Zwgp3rFMZstJxFGfLkYJ2Et78HAycYmD4FYvu5KPUbUJqOB9CcVO3R+WKMzb+/dH+da7eaJ3uJhIbBg==","shasum":"f9432ac8e6b93ea60628ecbb0259e1d46bc46e7a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.3.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQBtjCRA9TVsSAnZWagAANZAP/RB9fWOHpWLtuxm5g1iR\nuEzSY3Av5DWriuLpJkVTRQ6vp7O8KZXgy33zuSPr1ZUhlujoMHGRxo6YaUt2\n4E8SEopOBbrtuSosnuAHGGHHfaEeH/cfyqOUSOZpmVWC2SYwQuZMH+atbPtX\nZyA0wLz97EEI+LibFQ35c4TLkAB0/Gg/qL8wu1cVu44f4mcEw2BUmZgu+yAw\nnkG1AkmCUnn/sp7SZhsVf9zcdL71c8ag35TAotQgKrl7Xcx8oWJbWFbGeKp7\nAnOULKKpgyxzmTE+F9lpHIAPeUXY+Rn7yVCEt8BPj2roSLW4DRbLConC9Lh/\n99uKvySc661caQpK6mdy+FqA1+VzzThE1BN+U8qGfIPzFd2iEOtOMKJ94Mi4\nfe+QemAiq/zqsuDZFI2p0jUNiHtXhEmAz1S4qioxqUbN7YFHyMehSTkbsRRh\noCWxLRTmZhRwtYXHTfAKMpr/V8qNfhO/YtzonhUr0e9M5pvguAtuhDmxn5Xb\nKGoG6KSkNa1O5MmYBtzm728EGLY66aDPJrfg+h4oI4sQLal9JGR4gP+SwvIh\niMzYmysPBu3fA2ELKQncDN/miR+037Lh/hGtVz0F10+eaTUn8LmI/7i/aagt\nVtPl+Sp6vP1D1l1U9letiTZrQ0TDtxUnUl2ekD1lBsqiao5u02dWOBl59sgk\n5N+i\r\n=F5Dr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQkwU49jBDde3Ca3eVWstsM2P5IJ4T91Z01jiwSBO/LQIhAJ/EdLsFjlLiVELT9QEjcr0mPhb+GapgB88DjLa4cmTX"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.3_1614814050661_0.9524790080224357"},"_hasShrinkwrap":false},"0.1200.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.3","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-8WhqZVlcvgBy3A1eqiRsbM5ZrSqE0cJ0tPTrVIzgO1svnAVecHzJ1RlcwAPgPRior46Asf59WYxGTDOl/xgAkg==","shasum":"8f098061f266f46073f03ce07a3792b1e5f35ff9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.3.tgz","fileCount":31,"unpackedSize":81592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQBzOCRA9TVsSAnZWagAA9gQP/0P7vTBSsdx0WR6bySDS\nqyTbTegiJPFVjUpb7IDxSJgHltCF3MQMOfS4Nedp+fs7C+lhHObNV79O5nrd\ncxMjoQW/RUum9eJ0WYhh/pbefhxfJTTAhGxYD6MOcWl4H/s0NvksK37In0cD\n9iCuNbGykps/ctjS2AJXy0NOORZ3O20BZwa5+xSeXQCX2k21W6nE22z+a/L3\n2Dza/w5KQdx2XrvZFN1IrsPD9BBlIVflqq0qgFnk9+4rfrqP40krH0gSeu4o\n5I4pdVw2Vuz1L+o1uStivBvKFS8Ut6XgXfaOq/A4nsjUtCf2nL1EKNK9Yac6\n4JjC98lkA9PGz4/WHKdsNrA/pnok96UdMumEqjjtM6mENSMzns6IOxQ+JsNr\n9sF1GumIiAluC3Wkvn7tlntDyx2Ec6IPQuL8WZiIMol4CL9zFY5YmT82VTVJ\niHU45SykajC06MQs+ZsbJJr05KVSp3eYmjzjnOSJnk+HxaYDW6jK4/mR0NON\n5Hvx5FiTX3G80kbkeSRZ3HHCOQHpmUoSdvyzmLJLjncJ1fsVyYfUIkzSPVUF\nDaAIchxCLoejbn4oUT+sOrdpjiKo2IZkiCjHTeadlMl2vGu227aUTSPN1NLl\n3MuiCjMnb2n78rtJqjj4oiD3Rr/JJl2hc+W7QALTjNWCOe0tZWVfE2Uyb3dH\nAx38\r\n=kziC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9qsR6KH4lA6GcRv4IeQ5hGGI/iV0kQyPofC1JOhd7egIhAKfGZw/7CIGP/ljrlJPsQC0/VhX8jfJ6+VZyh24nLEii"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.3_1614814414052_0.6795867082027671"},"_hasShrinkwrap":false},"0.1102.4":{"name":"@angular-devkit/build-optimizer","version":"0.1102.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.4","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-8jsF1L11tcPJCvEdMxLctPz+D479vuh8voBqlm3I7RnYXvXpNzdZqGrJbTnq6zg1/7cxS1+g6qHmne8TwFl0bw==","shasum":"4e0031abbc40aa832de136b542065a04aecfa708","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.4.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSSzYCRA9TVsSAnZWagAAr7kP+gOtDoruvKC+Pt6GSLvZ\n63z7CDEp/6bcYHtmgYFTNWEjiHNus9QF0PfQeUlqrHmJzS0DAMgCoQ0HirIq\nhtWBVFNXx7MPKBlO+rwWDHkFezDTI+MPB+zm61XxyQpduAx6XOY/8nrryO2S\nKcx59Kp7re8EsGwMqBPdWKHLgon89FJxo6BeESWwtFA4zAgh6D9ygOp/6CYd\ndjheN2GDfpqKSo51A0pz0WZcPzyqYIE0qavrF7gMhi2aevdsMM3KvVOCTYI5\nQKoJ1AwfGWJvycsnK0YgrSXrzPImOtOvhV1RjIlZi0YlttS+Vw/Ra1ZalTHK\n12jvc7MXK5xNNxqeW8Cob9r4kBEjBUs69VEtEypwZZ3HAU8f9tCzZHwjSsTT\nTOknscZudo3hHsnd+8+CEDWRycwNFJ3SUP4OcmV2+EU3Zu+55udZS2KP99/b\noVbyEpTyMNcFeJov6koLfcW6rcBn8+Q48Eq6/M1GR8yFzY5EboTy0gnN/e6d\ncygj8ei/JmwZE1AjP6iB0+mw9nzOLXrw6cvlvjWItf2vrEgka/oyfaX3i9nu\nXihc+qfLBeXus6JNcCXNADMsSNqLcws9tNcNrdv29AFs1iZz0XXBFVDVKUh/\nbMp8fUOmjMEOKdSPJ/Ns1HPrXBk5pqFW/qCvYvP7UAWI4RJjLGzqOglkGEcD\nYY7u\r\n=f4L1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBwf9INqzwR5QDWRZ4sTCaTHK77HAmxhvKbKFSCH8HplAiBW79lFykc8LRIIoFt57zg2c5IA/OQbNACptpLayOcrbg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.4_1615408343534_0.7487090272699384"},"_hasShrinkwrap":false},"0.1200.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.4","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ZO50ImbpVCG++F8uEnpDfG/xHDiluYuM21eh9X4FIZEeyC7xcZBoCXIiE2LrEYDiaVYNrYw0T6x2F+3naj1Q8Q==","shasum":"70fe590c651f1e4ad83ac299d69c46c2703fc8bb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.4.tgz","fileCount":31,"unpackedSize":81592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSTcMCRA9TVsSAnZWagAAM4kP/1WzwbsXDc6PT+ltG6sf\nIc8y14Lsj410asPpXQq4907suM/pAzwHS+i7x3W7tMWOtwErm1h4Z1ayREba\niQ8XXvW4/h0oBhyFsPjQY6xNExV2pQxN55U5fAY8yFmGZhdOz5MS4vwdbJkE\nbyeu8PaotUUC12H7qazQhClCne7WrUEWkdC2h7N8wOP687D/2jmKRpbkNIZ8\nBXIPz4U/jL3RqIMhAXwD4b1Q1ZpF+3Ttaic5fiIw0fCUbYI9aDuXC1F/SxZJ\nIJGQZyOcHBU8Zz5/iYgc9k/CtWStycG/3AITEb74cSUVfJBfGd1q7rgmg+x4\n+ka40CiA8TRY1QzUgW5C6TQsGy0PY8QrOrGXpWZYu6ZF8jM0nh1qovQqQhwy\nOtMnvLCF5n1xUW0YBKg4MTBTeePdbMK9xW9hVL2ywnFEk7NKI07HI6X8IN12\nesx8abSGxReGAtqlTyte9+1Zk99INzOfw2wjELAcJ7Hqfndz4AkKDPPwUzlx\ny1jmx4tPQ1kn7We0q3fYygb5YSUJbkfRPf932LfkUP1YFb6iZEZsNY/qinQF\npTBNqDL/HQh5G7OBncjM+jZOVmzO8Li9c0hce02UwvBV3LdiW03nh43jBsCa\ngK3SWDhTol6GhqOxGFbFokGlO4mHyzYOyPm8ZIg1h9VoteZL4mB7yOp22k3f\nk9nU\r\n=PQgi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkjzlVieqoiV23rYpuAxOFbuBgh8n5ZTcv6eydHYjGTAiBupkFk1TNbPBCYsLGMgLOrR0tLCYI2yfog4BvzVmcxqw=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.4_1615410956306_0.14446387594468013"},"_hasShrinkwrap":false},"0.1102.5":{"name":"@angular-devkit/build-optimizer","version":"0.1102.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.5","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ujTwrevgMRNyWir4IdnJEdDRkVSLqugRpL6cU9OeqGn6Bu+zEzZQokLkMZvbw00eEKlf5Siej4hEeF1Hnx+LUA==","shasum":"5c17d82a8c4f03ec0a14110838c2c3da6cb24dfd","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.5.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUnJ/CRA9TVsSAnZWagAAL3YP/i32O/mh2aJcNFOfuEm/\nTqoHSQK376n6OfonZYT//4URiy8Qe5RJzk/k4L+Dv8ywUGMnS42uXSuzmXnn\nX3I1XFxHUJDF4x/4TVB3pNmMqfzb9wpt2iFw1BYgGWh0G2jYAJ0u46yXXOOV\nh6gzY/xbJuBezzgT2G2gMcYc3lksQRzWYe8aDgEynODgieFqk/wnYV4OTPPY\nNSsJNSNClWBpF37BRnkgU8701kYeHAH5xe5Wd5AW0dMAa3Rbcd51j4L/kN51\nVVegBOO7NrpvNgOXrS1KkWbzlIABgdHgDnFvbHv1pSSfqzehrnCTMr0Y7kAE\n3zmgFb0d6C4IbhKKA0N+9ppi4H/AHgw8VVzEK7SzkeInWAE/GotPJ6dEq1zR\nJbWqmJiyOHves89/18XE7eP3lXiD3IGcjjEtKse/SeUn9acXpL9cOYS4DbEn\nKnfjhkETDkbTwVmLaugf9tHzLsXDWsgcauEacDZt6XG3SwDFCE+RY/VRpA49\nCA9IiLqU+IBg6bctOUQP36MW+hauoPyKg4RZwZtdY9I+tbPniOtoKcpWhCO+\nvaRh8I+T3IEtUfsITEnenGo+UnIsn5ytT6C8IUVfMgqYc0y0xoU1/V8yKRtj\n/NmoWWDljrMP0H2r3r1OUkW/Njsb+OzHJSU4OxYxGQPbcl+G3f/SXXp0UX6S\neeMY\r\n=5dc6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYIoI5pmr/8bvxiObceOpio6U3fk/uvVT0Yfurmk92mAiEA6ThEiyEVXkbe8OBurkOn6QFtwQanUqtXw9mrZZRWbcs="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.5_1616015999329_0.720608954572509"},"_hasShrinkwrap":false},"0.1200.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.2.3","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.5","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-WEqxQeOvf/M48ReGGMR3/69MLnlG0CyFQEjjiv3kCavNOOnYrQd4NEjzbCYb55Q2RTotZqOLy4XZ33uZ9oHwsg==","shasum":"ff5f7d2a3a79abf47261a7f133e1bce22869157f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.5.tgz","fileCount":31,"unpackedSize":81604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU71KCRA9TVsSAnZWagAAqugP/0rzCjpgGmcmL6y/Exgx\nAN4+5Ah4SypfFX51xQF+PF4+KjPWYF1tgmi5322+NZHxlHrdyNkfmmfEYUO8\n/BZ2p2CK/vUItWD4WeSPgBl4PUZ1HY/xncEtzLrDvHFtn0eQbv93CwEHoKSr\nHweRb3mXHGJZoMjLAiqMZmOKYCtVzJmuDGXPAl2wPGk1MH94YGCyB4o/hxLG\ns/0RyLec1EKgpU038Bs85RNnGz4wO1xng7EknrglPU6JSUU6Zy+ZT+CgvpG4\nJmaS4jg6NdIesoaPWA4TVsLaC9gmzWCJ0u55V+P/WOqE5qs4t9DDh/9IhN8Z\nKLcujLdY8DbWCy0vDzOKTYUxpc+CvbNd/iaxDzAdSgDKKRWQPvoRoVrVpcZL\nTDBe3NOLdLRfLETRDFrDp/B2uBtJTeXI5Qswl6Z/keazPPPGqhzyHV1SZG9/\nGscE8fFthpbgLIcvi/eNTXrR3ICC0vop5MDvejVfl4XcWaePWH6EKh47ayfD\nUJEJkN8hJMnurk9PwhB232qUYPG3tKstJmIS3YNlul2BrW5xNUl7DIspHB0i\nTH+kg3xJWILrDZoXfAsoQRjAvcYx7K3eW64502OaKGmvXsChnXNpdx1E1r3X\nR6lp2R7wE1nfipBe44+x03MmJKUb3tfpniAKg9avc00eaNw6lkxw6l0kwqee\nJUA+\r\n=icj8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID52xxCVyd+Xk7fLSBV+TJK+0GA+RMX95BphSuz0xAAZAiBti6VC4d6HmOILiF3czvfOlkycr1snMi2yl3NKDr7r7w=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.5_1616100681691_0.07071321995385782"},"_hasShrinkwrap":false},"0.1200.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.2.3","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.6","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-pMdHevSUYEwJ5l9Opeg4fcyPB68Oi8+xxMn89nfG/uU06g01Yeo2vZIbkupvjotTRThbogStJOINH8UobIAzug==","shasum":"b33fd762689b94c6b0a9924cfa6caf71bb3044ef","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.6.tgz","fileCount":31,"unpackedSize":81604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW4LACRA9TVsSAnZWagAAFEcQAIvc7yj5Nv4W49hQxWNH\nkPdhHIcZqeYxwQwkW8rN5Q5CTQKjEUz8JjiW9Cf7YitKxSNNWJm7IBA3s878\nR3ck+6Dr6Cttsv0QtTaLSABq/LVP6JB90plsqyRfG7mD1hAEIqGhdM4Qu/W8\n2P/jFHtS0hgXFlCnrukJjiyLmkpWEiVW1zUd3Mlzsc7zNyZd1+USEy58uUEQ\nTnDtZhjOYDMEm44FkOEHvVaRFAPrfXJLDGsmbfztkC+MTXT+kn8yyOB2769L\n085l0V7q2JtCkXFePiZXY5NR1FokXYatcd0y31yK+VR8gdDEmurZJKktLWfo\n9ugJYxx0YGJCckdtEy+AJyOn2P/p/ezq9e/YOO59VWfPapWlFPfgMruUkovN\nvb8PGL104Rof2WZOtPDYal8h7e5wY34twIuhW9aZm97okmAdsj+XtUuo0WsA\nXWXPDpT2jJIExW84A2NbpX5wDW2h8MEXY8/fK72DA9oEaSLMtm4oj88ug/3w\nfxODw2U4WE7sza8ZeYxdXgpzlXZPC2Al/FYClqVOmFQExs2gUP399godNA36\nq9rM+UG8yLH82d6HLphCFgz5G+eDHI6hNGcTU+/N0rlHPofaB79UsOZbGYpm\noU0lsP6DLFEfKWcWZ59o/X9x6hB3vmmPkFFWNnubgFDsuuiF32w7hv9JOpKn\nw0Xu\r\n=cLmi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQjzJLx/zNs8JT3oi9TWopU8UsMVYRnYwypVpxb1U6bAiEAqz+va2DtNQjD73h53m5LOilGNaiaLXp+U+/u27bMeBg="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.6_1616609984158_0.30361986222268333"},"_hasShrinkwrap":false},"0.1102.6":{"name":"@angular-devkit/build-optimizer","version":"0.1102.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.6","_nodeVersion":"12.21.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-IFulN/QcuDTQ5U93aopvcjZtHuSHE0flqb42ixuUd6zhy7y8VzBWPDFUNApt/pW7pTcwg8eDqSZkBRywl3BxYw==","shasum":"b055424cd0a6d7862f5e8818f3f48d1fed668d96","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.6.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW5ABCRA9TVsSAnZWagAAV4wP/1QZ1m7wpTdKXuoJcOam\nb538JlYXuXu649jR+DBu1nec/vcH6hb0piJMjxueFu7F9jE9awELD7iW/fw2\nVFcZCUkzbrOFe6jt87oLJp8C+Y5KcC1MNtTBtymRgqMs+FoOn0H1W0laR5zm\nPG7EE0QNH8EOHU22wny0pOdeniiOwCd8LBMa492KiqnARuTYFkQTlpEFkyDG\nnu6cPMSIVUXdSPvS3qmW7FYRlZ/MyYq2QKV621yGSAeh0nKLdU95gqqU0OMQ\nVPnjch1LNlw0NElFQRVv3YMvXRUC84IV2qLl2nYS0sdE+tFl1OhRD/uqMn4l\nkr+SF8GYgsN5xvFVoEX62c9Xxb1FazyL5UrL5G9RgGLEljAKOYj+XnWKzTdv\nib0+BBzAdeoNuAW0q2VKiiK51rX+EcJTw+pAx6q8s/RfQFMjz4BjEMk+qB3C\ntJT76wEczLJfahMUldHTE/QhJtlt9Fsx15bT2R00ErvY9wcW/9DSzjW0VYKc\nozCljeDqtms/+lQzJSGzKhETJfXMZy+xIXCtTu5VXXsZ1WNnyXnoVdvvQfGg\n8WOP1L+M1Bj7obONUn9HWzeuVrhCSV7XW+RCGmily1pbkjHJpbaBKPxnMVxj\nhgjH7+Pat/2XxDYrIt67rmLqmQ2L9qkMhu46UR+qvlOsNE7CoNviZ3zlAdJR\nLSx9\r\n=6tnF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd+MPtME0VEdEbmAX2dXVpWZ+bCpwIXq4QyL+CEmBkDgIhAIStFdLOaYn4yXiD58dKaniZS88/6HtiYtId7JUPF5Ff"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.6_1616613377333_0.5544742928467687"},"_hasShrinkwrap":false},"0.1200.0-next.7":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.2.3","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.7","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-hJM4NO3N535ZxUH0RAdfhPmROu5Q8TIjh5UlTCzSDdWfeU4Udx4JvBggE0BfYx6l+U6pMfNpAxUtKykK4q48ew==","shasum":"90c01d6f74896244afc986dbfcc38e2b50f01929","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.7.tgz","fileCount":31,"unpackedSize":81275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ1u8CRA9TVsSAnZWagAAULEP/09lWeYyPhCfwjOlegYU\nRLjF0AKXGGuZtP3JAWXF006PFPEeDPA7fjrvfobHOjfQizhOwDpry9D9hYUG\nvowQrJiSptLG/A4Hy+/9RS6XiOBNUrBoqzYTS8ntvmusnu4EUdgupMJwACJR\nr0oZQ0i97w8LFy0btdid4NSp1MZtSy0kVEtzvSt/W+KKcjcx1OsJr8uQaH//\nfSBnnzV3WUFuAM0BjZbaxTDDbAw+3YdI9FdO8tGzJp+o62heaxgm15tou3IZ\n81X2uXHblSLSfyiHorfzNh2IywtQ4rfjK2thY7m/T/JqbGjpE84+hiPLU7u5\ntvMgTz2rG0wzluISZwEBID5D/iMttG6P2h4cimW37wJctbGgeKZU8OjqHN8s\nnpjZ1vmHsdipS26K2uyI/rjDC3rBAGM9FSdB/fryXOxYTcUl27JTK3rMbaQx\n2EAY/lluhbKuxMcNlxN9jAFKsnuNPUYQ7LEMU8BSIn4iO2ePFydXdWgv29y0\nyWh3TiD1ws74YSx0aap+B9O2R2cfjzVoWS8nc1FKnsOujfxQFtpHC23Zbxfg\nxHUM2CBA6rgWaiv7eBQjij3z3VnbTPyxPDb62QjUX0a637doCb0w2/j+O9zJ\ndDtsUc6O+DpiRV4STgQ4GTIDnTN3zTqJKWfI/gKCED66R6hWmPmJGec+ual4\n29uV\r\n=G8f2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwfbEZZu9CZAsZamoO2oQjf66kR0uMHS4MRKt5/+z6zAIhAN9qt0yz49j8W9BhJfeNTi2f+PsjfqUxh/og5ya+oZoH"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.7_1617386427608_0.4015016988424338"},"_hasShrinkwrap":false},"0.1102.7":{"name":"@angular-devkit/build-optimizer","version":"0.1102.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.7","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OC+2TmkBon7KxeBurtYBmzecUsRMKP8JI0c39HnWePPoQU6yMnYmEeU/3zuIX5hOaxriQwPAx76R7u+9N1dF9w==","shasum":"d2da35401b65cc92f7a80ab9ff36e8a327369256","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.7.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ13JCRA9TVsSAnZWagAADVQP/j8xvwKs7Y1EncmiJVH+\nyWiP7FQ/FhZNRivFnDw5pp0xCZSzkqrwUBhZMv1nxDQawAUPRKxwEsW1m6z9\nF6/lO1P3BWgZZ+PYl9WqArXyiqw4QXcwJg30hNhxLZ6DYmqQWiCuJzEgypE8\nv4jrU5tExx1LpVYCBeCcbTSHLi932rOCs4bZ6FCo7RGApySHEoeSnxQ7ofg0\n7jPt8Bva6/vAAP+4kWqrOZQHskbPs25+8F8X/kH9qE1JF7eZ5pHr5Khy4w+l\nGzE2WphRdzZAccXR2MN3YeJ1Hrv1uIpvnTDokFaaVRBx7P+XyRhEp1YmZT/E\nay0oeM7OJb5zmmp+NQ75xXt0GR79uR+mQRlAkt0yBnCNSKt/3L0Dpr4rgUXI\nv8TnjC1Qyd7nx/xaMm3djA+A9BDL+tqq5PBEKHQExDRBfJBcniWsKXKmNZT7\nqffr7CmLfVoCgaESpCBlBb7alPkmBQDM2fVEj5TgR73Q2tu6erm0Ay3moIWx\nboF7yDTU0Awa2llqkYGdVI/zo+KCeL19moaoqEhSrRx9TYG9ncAhMWOVYVWV\ncl1QEAnrzNR7+zK97vOzDkkeEexU0SbbSdIl+xmaDf7c8sO5qsJs9bGLipFI\noO9/Japk3NuU1XuOe8DVVdnvhhFcwCUwgrycxmSqE/AUAZwyxzpQYwjN3/JP\nALwz\r\n=gnJl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2Dhjy/lUotCLOxLqAvSTBvQ6jLnSuNUxoZlUEt2YfJAiEAgV+Ik81vZ0xO7iL7h9+/GhHNDEWo7ggTBrbRsBFu4O8="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.7_1617386952770_0.6533201112899669"},"_hasShrinkwrap":false},"0.1102.8":{"name":"@angular-devkit/build-optimizer","version":"0.1102.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.8","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-a5IK3yc7XXHc3obdFc8rhm9neO9LHSJZ1AqusLq/2tmHhFBrLevG4ylG+n9ZnM+bh4PIoUwFN82dneH9C7IBpA==","shasum":"32ac9226ff6cbb5ba7e0a66f6a0dc800698b8d8c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.8.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbjq7CRA9TVsSAnZWagAA0HUP/0eEFpe4psftRjppP4Dj\n3ijxohdw6KDzcmVNCfxyyMSv14f23+THvMhMWRhuKhF2ZOcDyCL82H9Ur19d\nq8WzX0BjYi+q83MdM/kNDAvkZKgBg2qVdtl6/y406eleMY7tHimaO1xv+bWV\nKKFTJ9hixt1xWs4H6XF74w4JKqL9ywPD5EXDTlYqq7Nt7SZuLsxgjDEjc+ca\nvkjwGyDiaOOXspr4xF8UJElFw0M5dSXLxkKL5TgICep7WQRXEblDxz9iaruX\nnvTjlVYLbR9Bpq7MM5bd/5FwkACzUa2idKzmIm/G0mZY+GFITgvJgE6IU1LY\nMUTymsJDzVKt+4G0qcvNbRlce0iykQVCBLbB3SmYQwlkMikQkM4yUMlwvRnb\nCCOveYD9mVjKl0F2inW8gVpO5WrwibIttDZ7Bo4r24L4QfmkBISLfAtn40eK\nXHe6D/+fX0KnNMAyuYB3GINj7OUawBzBSn76TA79GzbtocIQJqG06FFia4Cv\nI3pvAYjp8Rf6curxJNKafYR8GsMTds7L51/jO6zwRi/avBFPt7hjjHvSnfGy\n1eAxEDp+jDEnzgjWpZLUdt0A+oc1vjdU2P83Hq/F3gjEGbhr439KN8QJtE1x\nIAszgoDHysQTEBHD/lQfqE9MKVbwUAmDA6NOdTg/Vbs49Ksf1tMO75R7sSmx\nXEkY\r\n=2Jv0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN/oiAXtsspZR90r7+yrXIOcqP1tsY1WUOY9XDBCC8hQIgC6yErTyLGNOFmsPiQfRZG75z6auFCMzQWAbnQfppDa8="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.8_1617836731225_0.947172326224148"},"_hasShrinkwrap":false},"0.1200.0-next.8":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.3","webpack-sources":"2.2.0"},"peerDependencies":{"webpack":"^4.0.0 || ^5.20.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.8","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kcPjsPzWxmyiI1zpMMzCHoz4g2S0ru3XN2C/JIEdqapHQ34fE0yplkB67w5ZF6pYLs/RfkdL0cYv0FzeHGwkTA==","shasum":"6b68df355a3240f6b2ee2af8952b3ac498d1ab4a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.8.tgz","fileCount":31,"unpackedSize":81275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbjucCRA9TVsSAnZWagAAg1MP/3bO+m2F3aiKcVZ4fPV0\nXsGkLtCBxBIWVbWXGx5u9/z15iRe8EmrLMUAuh+6Zc6Cg5LtOqkgE+QC4Bz+\ncGE9PQCliYwqCNBmSq2bSJZDEwlwLrJg6dREr/9LZwpbJNO/O0NWSZ8bVpJP\nKpARbxwo6/aUJINVKRpn2p2gK47v9XDrQRw1ESu4TR1xSJJnE3FyIximxhQi\nKf7UwC+oGQVVjxO17MGgUUjEzoXao4+ytMbZn0SWZAGbI7HLQJUIzFtZAr/Y\nngefaRwU2WwjO8vLtm3BDECjFEJKsUSZcYDt33OSVCPTofSk9zIGuWHzFAEm\n3qrmqxPo6LPk7Pu9GnVXTCA9/BPez+XgLpR8OpdJqYfVdLjBUuEY3CftXAFz\nRwMVenmy+mqXMStofCRycOScg8e74+LnHpP88hq30tHR5xHAqWr0F6vm2SHb\nL77YPYl1MzyTF5+fIXmBkqGp94Zs2AOIRNkPzyEsgtLZb1x91TxJtHoWmMuc\nz6fvXoaeWNVjoqq8PDJOCXDx9f/i3pN1iszktN1eCadJaP14C0NxIKnRDIKc\nkTEJBUSVaVESfkPa0YHdXjKM/Jgb+ilcRvpXNISf4ibSyAM47RORRnKOk4fD\nVz/k0rlGOsIIks1HfjqbAQykgA9taw5PZqSalFnK/7UI9+y1XOl3zYx+qZBm\nN+yP\r\n=QmFo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEi4Ui6pHx9LT7uLqSzIHf921YZzDV4aVvVKOC1MMQmYAiEArkrYWMg5UJufqMqr0h5KLAh2kEHPtu5gL+vLqbLhK9A="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.8_1617836956387_0.35690585254601315"},"_hasShrinkwrap":false},"0.1102.9":{"name":"@angular-devkit/build-optimizer","version":"0.1102.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.9","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-Nlup25swf7pSfBytZCQs5zUl4RC3Z07RVkaJvIK7qG5gvoq4Ae1vPgBT24gzCcX43UqRd3ywsF1+8I3CGOD8VA==","shasum":"e1db08f6ae270f82ac8633e50f4d02bd4b4c9dcc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.9.tgz","fileCount":30,"unpackedSize":81267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd2g9CRA9TVsSAnZWagAAJqgP/2HTZEMsT3qgeNvmVi+X\nY3j4RKh4xaBIKOnH0e26ED59Fe73Rx8NeJRHY49Ldp5GlhxeDQ5EQ+JeGgGG\nPrZRJXMO4MUcZbfXJxbiddZPbK4fTMMy8Q0Rp/n+1cVASlVyVVDAnpTu+fTy\nqmgPiNfkXIw8MszBC8IhvBMpI4cInlMOQs7cWEI8hR5fRJxISVGbmq7XFcdS\nv5I/VRUhcenoI4MKD96LzIw3f+ES9cRfj3tPNwwo7wxiL50utAPuH9UwwY2F\n5vjcztr26mzLc2yH+bFpTWBNCLEcavaYxVLv9nfVRxB8+DBZwON6cOwmTdxd\nE2OkvB+t3MfoNfTmr6jq5nkk4ed92P6QaezCo3KQW/z1EAEba8q100944970\n8q++RW88rsy6fB12LvUeZMo8eCHJ+GVGsfTi+m3S1mDoTtmlCOiwDgA53KdG\nazKwMYWBxRmFIzuCTtTH0aBm9OsGmF0mko+NZbDDm51NUQdaOFpcjLKkIxAQ\n8TuhaWdqPpD1FA/xdxrtVIJvFcYm7Y8tufJ8mYNwHL0OK85O2jIr52sMb68j\noL9f/DjcANwDTSo1nEdyFqHx4d9cK1gIuOwsCnYLutWUd3X0eHrLw8pFfK4j\n2DjkotdrT/e8/rcUd7rbkbvBAxZzChSFO9G19K6/UiuUHTvF2e6OZSaZHJOI\nT8Vi\r\n=AQ/q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDleDyWBLptCcRkuq+PtKmgImMkV9+FMwH7NuU9Wi83gQIhAMqHiUY5DWR3PXtMaiRXsqJDZiLvvNCScpfX5f4Fmn41"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.9_1618438204728_0.45535903822530366"},"_hasShrinkwrap":false},"0.1200.0-next.9":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-next.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-next.9","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7BZ/OgbcR8ZPjD8KJGKeAoIPSljjMFgtPwgTS7YHdJVGAo3uFvfjJmhhXW+/bXXyTN3eG/LlOMVHljQ3RVG5GQ==","shasum":"beed785553e251d341071ba1c50cb3753ab3a873","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-next.9.tgz","fileCount":30,"unpackedSize":80746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd3+HCRA9TVsSAnZWagAAEpEQAKP5RRuTfG81PR7zIzr2\nI9EEKK0gr54dkZk/PmHlMF1j31DbIZaUXKsBn3dIDOSMjuCB16I267t8XAKD\nRY9KOp+tMWUjWEC8jMWsVBQHA5tnhund/Mq68qbRUk4IFS5qKfZCUeLsxON3\n3JrhvcjV+vkIJ1uuQ/XcBFoAtG9tsR6aTwQONqiuSkaNTXXKtYs5YQHOTC33\nv1gAF7aPb1y890cQ7Qrvx6vffCvKB/CMWBWyYyTMKuQs9bsNRM9NwlrwWAEh\n256sz24lvRvny+ypNJ1J2T+vVIQ7F8PdQqwZJnq8pWXHqBacdEB9I/Ux6799\nzOFCnphzm7o6l3aQ3jrQTgwfsIr570MADeukCQqxlBK4ef3VMx9FKrhOyQQ8\nx5HjgReybPeDecyLxwZjw63/VxphN7wL32K610ApyTbAFPZtLRsi6NjcTGQJ\nJpgFYBEsx8b41cOeiMYwPJ97LXANX4tsXk1JAWRGwHTynK9uajSYYG57QrPv\ndMcW2l8L2rneXJnKBiPTQt7f8xMAP3BSEDgx1oRpsslElwt0XxV7ustIVU9b\nlpjiCOFtcxUU5vnSnKFuTgVWIBUnGiTMkn9PRfCt5zSdwbasXxszlOkmSCXW\npKtK7QPYVsz21Sspa7Y/rBK9Ot677DT68LZ56cOyU8n/jDk7ol6d0fMziwbU\naK76\r\n=i+IP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGJGJhFOE3uhbgVNeLnyWGC0pYFaittJbAQkFi7IqHS7AiBukVWO/mkKp98g5m1EOK983N7Cnvdp+PDqjDStKd9Lzg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-next.9_1618444166991_0.6454860105005273"},"_hasShrinkwrap":false},"0.1102.10":{"name":"@angular-devkit/build-optimizer","version":"0.1102.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.10","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-6EEWq9VDBXtZ6nuHs4ljYrB4JIH+GRhgUm+M4x44Qo9CXxbBmNIswrTpYozdqzdMW4SqqIWVmTqyRzQYSMX+Vg==","shasum":"a120f58ef37b93f74f93695de9d943f7c59c2a66","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.10.tgz","fileCount":30,"unpackedSize":81268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggKMeCRA9TVsSAnZWagAANlkP/R7Rn1N8Uow8jbR6jVAq\nySe8PCpAowLIifd3jq1NgCVXZL1q5pe+nkEr9SrRMEN/PBFyeARJWZN4CtLb\nwDX/zH8nzHea6aiKrE8vT3iw23JV6Lr5CzoR0lnQfVve6hb2nM5DQnrSeR+8\nE4qX4hH/YmZkv+BpMOvaCKVXeS3lPSGsqvvt/KbCt76HLAsK+836nzmfUXiv\nPyByhOAPQyvh1f3/1L0STB2Nd8Vm6aZneN7/s7E8e7ALmsTv13sW+Z39Z0Ew\nyByr78ghdflafBDAYUEyJhzF3hA7KdXnsyMwyDqcQLdXul9dWGRxlxICox7/\npjOpK9d9PUokPEK0o9mgIiFf4GqFi0d/krDdNPndvYhLCAeuOMRvpk7Bt3Z2\nMoCnIE9xTnbnGNyozfd8dJsGA7jJ51DEeMQ+hZE9g8ZejAilqsMYjDqhL9Qn\npHAJB7AwfswPN5iZS0Jkn7m/TveX9wCxsV1HV7Hpqr4/Rz54aieyDkQuVUNv\nkZg+zGuhkdKJSAiKhPxOOJ1dOowyCJCI9GPxoMw4LZJTemxbsfsV+wtXUipn\n35IEx+PVzseCHg8tC1zFdAjzXqFHV1uWxZylqem+o7y7aFhmi3A8s0Zjzboj\nZj8gYnSNdiIw59n1ZWJgnH6E/Mblg0GjGgxnPpqwzVS4RoxnAu/3b0yLZguu\nT3nc\r\n=z+pS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQ/67MnT/fpiVFpzQLRIbuNwcC1Ya+uSG/vNr/4oy2IAiA7zC5D8WZqENbtbv1wNpzO7cIrnaC3tRMyhjFJEnFO/w=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.10_1619043102275_0.02706006633338731"},"_hasShrinkwrap":false},"0.1200.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 12.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-rc.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-s6Fy/hL/2icyRQrIZZSMVT0P54oDq0muOE7XoVQI+s0YRAP7IhI7NqJ0uoO6m6v/G5TNM8daIcz91FmExnByLw==","shasum":"a562b394e0202b99fdbd4e481364eedf094208b9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-rc.0.tgz","fileCount":30,"unpackedSize":80744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggKQNCRA9TVsSAnZWagAAi5gQAJAFl4Tan9PObY0d0tD+\nYF54GK1f4D/nioycDVtaD7k4ebP2hLyjJy2AcC3Zy/jIqDQuxsAwyusm7/Hr\nn37jnZbLDT0y272f68Dj78f6XNLkY2gUdyHqPdUddJw/fjvorz6XEqdioE6H\nzIVJO557fxN1j5kyLi9KyJ50R/eGs3hpQAGgi9ux56Yt/Go26muzsmVAw+xC\nvklHV37o5DJlqsWG4qfHDNrDKvXp032OIC5OIM1ZQWrCrFnvWzf/NYOolDsl\nuCGZTGMv+CPyL+ulqSw51RK0380GUC1tOjrAbYF1XePJ7g/Oubk0k0lWhcdB\nuIn5GLtJGrtR8yae+Sr2N0z+j4y7iY4V3iRsBWeiLrW2e8oQTILqwPXWWnx1\n7DZotJP2Dr7i2Kx2+vZdBg4w0ILQUrXnhhn4YKNv1g01kk2Rz47kxZz2Jl4C\namzWHFw4lRSGEAASET+j2rlugRamV1Wz8ccKxPyD5XlKGUsMFuQI8MIdBGDi\nMXVfvcjJUmGZC2PCIzIdMkhxanX1r1sbfBd/10Dodj4b7I+d0ZTZtZRloPT1\nsMXc/PS7xZxmqtgnYnU86r82MQmUzM92n6D2Od31CgyCEdhpp/7rS12qSRPc\nlKgKQZ6PRgycoFoOHDU54F4i+XirlJ9Sxcgq7fwMoViApYpn9RksEv777Siv\nQfe/\r\n=/xM7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICT4dSTlY/qqoAToeGSZc9bbst8og6D1s0ROgm2Wuvq0AiEA4npXJGjy0eiRPUViE606a6tmcFnTskne1kK9CewXaa8="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-rc.0_1619043341204_0.01782242322565364"},"_hasShrinkwrap":false},"0.1200.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-rc.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PRRYaGlqu51g9lMRMaIkYXbCEk0Xlxc3sbSZOKiYKDnVuWvKj5enj1d77whR7KtrtnjXj2zrABINq7v+lD+2pg==","shasum":"7bae63a018affd17207ec31906f5860d8c1d99a6","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-rc.1.tgz","fileCount":30,"unpackedSize":82396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgieJ2CRA9TVsSAnZWagAAfWIP/3H4ZepkPhvAdryYcjj9\nzhNPU0QTSTlI0iSMIMuGGab0W1NdJCT94Xhv05vT2d5lwkxnc+iAB2wJHZfy\nlw9wXzSS47Cg/88RF6YrSZoX1q8jNZVg7HWqz/JP6cnmwa7gt7HHCKA2u/aG\nJ0U9g0deC40VY8pKJdVjVarF9TGA/1G0GRJoOzA1uPMmv1yYwti6aGvsbOlk\nhbYF1PDIRJ1ROvAKdVwHgImfJ5bbtnjJCv3nMCfB3TIdkXmjiHQhnxV3ahdI\nMi8D380Uf8YffRuW7kblWI5S3NYCKnPv//lHiYh/ja+yF/gPVg48DbQvXKeQ\na49z3wjA5RcAYVYO4sbwIwAsg3LOW/d/zjcjzL+k/nD+P7ZoUQjcDD8H932M\n+85dQQai9AAQFVvNWPAhK8PeD4KGuRP6NvHile761I974ChmVzznkKXolvDQ\n+7eKJ0dRZ+iFl0Da0BSxNbkEcQ03MPm70oO1HXKV5QOpSXsHRIvJIuyDtL7P\nAY/jIhVJZE92U0gYk3Yg/imbafx+ADy+sYjctWkpW9JnfCC7o5Qu2FFkEyz8\n6jA9InFgNVXxvLH1AHuWj2qclJwqDfmnWtT7DdXDnq2U/AXwWH5xlr5na1iF\npjHpTkMPBPpRPFaBSXqyOH7A8687tbe4e1n0tXrXZE3uhhbSEM8YI5dmpB4w\nGk7W\r\n=pW6J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGFf8oRV5W0MdfHZvhj2Fl93UcNVBszEMmpZ70f5BhdQIhAItTTTzd8UAT4uJw0wS4FeNtVTsfTmNEw3n+y+OpA/s4"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-rc.1_1619649142174_0.3220237912696937"},"_hasShrinkwrap":false},"0.1102.11":{"name":"@angular-devkit/build-optimizer","version":"0.1102.11","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.11","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-YB9VcImGAuNkaNsDqVWDiBqpyxnAhV0gyHIVAQTEBjyebvzKCSbrmzsnDzvD5eXyDDJQ2InaD6/1HpDGQ5YPQw==","shasum":"a752c2024e7df67cb88cba18e1f6fcca10faef9b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.11.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgieNYCRA9TVsSAnZWagAAypQP/AiILJ4nBeFHsRlKVIM7\nKhBWq3qElySU6xC89nDRmfnzYYlaZBCX23KJbeg0Xt1C++k4Rm/qM2s9Yk4z\nFm+qbwf0ub4bTEXO/VthgPLQVQdKwdXAQEQyZWbV8PqXGQTZ4b7ZxKT3fABD\nnImHHF+AgcNhwg5/OB5jxCpqVaCQne0VWUV1Rk7TqA1+YMwHkN0iZRmRE8KT\nhhiWXm6kd/1mpoph9V3CL5r/t06AF4C56nd7gyi6zaTOm+S9SIj/hCbq/eIp\nPG94Rgm69IPYK8qZdXdYdNaQzn5R8WgIsV+T3a3UKbKGk2uz/1le0GpHBGZ9\nxoXOw0ElAF+1ze0TlI8iyHmYWJHtmjNlgeMedO4+j6mJn/Lc9NQSfhJgPTLC\nDIPfdu0Kh4yjlAFwSHDFz0ehIvdpZD5IHsVXo2jpDIflIDpSPlGrPBVw8E47\n8WVnkOTp9Z7pWfmFjUPPxglSj13ySUUhYCAalOIaOd/kWEtW0Su/KGY5qjrt\nShJ1GmkpNRUAAFFeWX6e1Ltwhxu1+WplnX6pwUYyXc+HhpoddVzxUjxanr/s\n0NZjYqFTZwj1U7S5yeq1b3Fx0wLaR6BeS2rFbX+D7b652h+hzEP7q8Gt2Ah7\ngjvX7Oy3F2xx+Pr5fHLPMYFOrVIVJsMwTV7w8tKBugI7XnIBUNH4usQCfDk5\nRmID\r\n=MKBi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICW/fpQ/rRBoYmaYyn3dYFhK8dxowhSinKC5rjSJlzawAiAodI8L8pDOACR7/v43bliz3wMJHfyThPyhv1xG6jalvQ=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.11_1619649367978_0.32798402137177307"},"_hasShrinkwrap":false},"0.1102.12":{"name":"@angular-devkit/build-optimizer","version":"0.1102.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1102.12","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-4aQ4t7iDagrsNrF5JDS3bZw+uIn4z0llyau7GQQwZm1OmpRcl33hXOIHSFUJoRPP6pI5liNVuffF3lrAoC6sZA==","shasum":"4d5c164ba7152db223ddcecdbb5a270a73b5cc14","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.12.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkzJQCRA9TVsSAnZWagAAQ8EP/iwdmxVgqYelzw26++5V\nZh25f2AFKPfX/bjBFoNciQqzbzxriLmrPiu9oN5NtRGfGrYElse7wJdvF1hX\nWherCS2seV1gB/CBthZyqj3nASyMMhHzadM3lLZl4Lx2LoXwS8+Ztw3ZPZ0p\n70ecX41X/OVNfd+6fBNlXTLetjaQr20HwAK21C9JIrsLxBgijZSYJbUbN1nt\nT8U4rupG1/pRDlDUdsran7jYMmBZMfU/OvY5B53M3D4qq6z7mss2e6BXVphb\n0f4rfwbZ2fuliR+CGJsuy9iO/OI55hBk3JyO2ctO4o3JfGMYwzAzxSlBaVt/\nD5bGKv3J7FdLZRldL/qNmKWF8sAaY/dDRVqS0XlIbBAGbd1d03sGbgBRb9xM\nmAewqZWGCirWzwcFlod6pN+oRR5pq3sj6c+MxlzIbulSgo0XTMvu9mLb3vbo\n8KCeHRcxVw+0FdvhmuiELRG55QiNxv8oWFv9BGpEgM3JPnMR2kVSVdmVi2Z6\nIM2WNVN6A9nz1+a/sQptodtYWXWcL0cJHrB+gwS15Nca1muNcaNyZwHKQT0b\nL6qbMNco9qOdXOITwoIgomEY6MMvPbOoN/RAg6hgBiNYcqVPFgin4o5p0tPT\n1RDa9YO0ZZqjy40fbdjo9kMIKvytGo5ySO7HL52/LWScHbCOrXi13pi/rzlr\nqoVW\r\n=HmA7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuFdYOLHDR6cQPYdDGqDyJuTOfmQ9SxYLxz5YeSg7HrAiEA/+Mm3/xFqeN3FJ5wtSt6S6DEmUuD9iHC+4dEZhRyzgs="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.12_1620259407493_0.41965441951013926"},"_hasShrinkwrap":false},"0.1200.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-rc.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-rc.2","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-6w1Az1VkUdOhYEI3VHfK1F/ckJOW2EN+/n1pvd68sx+cobH8Btv6mRDySx9B3bo5lHKf3kM0eKezeHh+9uljTA==","shasum":"70fa177d3e782cb2c7d91d96977b129c0d1390e3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-rc.2.tgz","fileCount":30,"unpackedSize":82176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkzRHCRA9TVsSAnZWagAARCIQAIhyKtulnZ463DR+Z31A\nplk61FZisXmZ6hQvzZnq2cYr4DSKaBy/j+lgr7pe8/MtUHBhNX/GmP6UdSB/\n8FFx1AgYiQLjbRGjqm6CEO/lQ+/SMEJL2R4BKF992/0mxXDtJgmEufZOes2m\nn2bLrj9e8fpiRmJJLf65F8ZlPMvm6c8v400SmK243K1f4rPCNnmltXIOXMKk\ndtZ7WC8oxkZrK+aVRlGzsxTFBIQrQCgTLJHApUSW26kASHMq2C6OE5lUSHwK\nmDJ1nNjWqpq4bR5LiWXEXQQ9aTNrKDVFn2Ie68mD/inlQNrtF4CbdNurPk1y\nK+uHHqL/f/rAznE12G74K3wT3BsSslBC9XhSXJeve8NkBUffzQCHrP+GU0nn\n+e9bhGm/Py9jRH+15O8odpWqcoJxx0sdLKdxCj3CYOPru5SOeJ8NfVguEVdV\nBmkaz2hSB2pySKmXde2i6od/BD0iR745lU/W3jN22Aa1NK5U5pCFN4Q5AxYt\nBi0yqOuS2H/9heSj6iwMmeeMj8N2cwdGjKJ/8p86jaabUBiTk2jxtHMjiiu3\nWVU2RQqqPcRKydEBfWSxN9Yun4HORA88fS5c9WSgBzmiA9/zcMvMNmI43K/Z\noQz9W1wfgYSVHOBFHOr2shSiezSQj7PmQKSnERBeCRzW8rQbTEmziTN/fErg\nqVda\r\n=NSMc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCitcNyB1AgjQnG9iLRPkCeOQxo11POzCuSUL4Uj9t/xwIgIuUIgWWxNqSmTWikQcdC4aWlPfwmnFtsZcctaF0CZII="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-rc.2_1620259911116_0.6280349940633121"},"_hasShrinkwrap":false},"0.1200.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0-rc.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1200.0-rc.3","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-yteXjek1dyjHnUoI/iD4AcLK5h1wy2wybmBpvEKxoETqv4mLJVC402K/reSRZ/FhKSx8UzOSPKXma2TU8CPuUQ==","shasum":"b4166ab34ea3dcb1b9b72500116a16032a08da7f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0-rc.3.tgz","fileCount":30,"unpackedSize":82176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmg+iCRA9TVsSAnZWagAAO2UQAJpVanj7LYEXDPFmt7GK\njcDzlzs38KYRd2KwGEsLgCUdCOoKZahKJppg9lcAl0Lnj1pGUv2c8W5AfifJ\n5sIBVO8v3p6CZI0rRE1Bpv2rrXwveRuTdwagvp17sU8XhwG4071kyTJZRKsz\nBclUZsml95KzW6QQ1rkMOuaLIRaO2y/9Lz8kI4mdbPJpNGpQ2ga08gxyo7GH\nAcfleqYZ7lzW4XPfZwJp5OG/QHpzumcBAQXtI3U2COWexSy25IT1FCFxPKTe\nSWj3U+y7JI3v8u6DO9OoKPJhFqX54yPOD+iqAHqwkKbTrfSAJ1a/hTcnuwiZ\nC+yWY7yNAvjR53SThCveL2EIcMBGkH6EevdDzzareVTR2agaBiNJbKrHZ+2m\npHNYG3p9rgx2wRgZmpjFvkA/nSm4fbxIVaAlUCqdsKVi4mHsnovgL/QJfPrQ\nnDdNXbgWppjtcbnbWh/3MLsqRyEp0xs8PMemPEJogcyS0nSaHszbeaSbUW4o\npOyx8Ky9+EmrkRmLfSuu/uKgEwec8V2mlf+gijHD4W9oPyedBGBZOpbx107+\nXacjDT3XgQpIzc27IGONtgymQJiGP0D+CXthesYK/cW4cUXcmlYwxS3eMUzK\nBFj9AJYXmsgzKpRFvd60Ff1kCwVnRj88V5Fdr5OmJJDjehj8kDpsZYcX667n\nJJxN\r\n=p+ss\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2eqDVBIr/nZLS45QvwQC4DDVB8y0jcqMC+81FjtHg0AiEA0A1Im3dPV5mM7Z8ma77djxO+nY1lCq8p4kA+15bhEeM="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0-rc.3_1620709282142_0.6266656291283081"},"_hasShrinkwrap":false},"0.1200.0":{"name":"@angular-devkit/build-optimizer","version":"0.1200.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1200.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-0ZkQX6FXfV2Q56BE6HeNLieG5S5V9cTzb2Mlr26oxPSHeEMoxoCO/fej4cj0cuJRLlmtu/ZFQUrlMLqWPteRxg==","shasum":"ec1ab842f8e2327ac74ed5c04d0209899370a7b8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.0.tgz","fileCount":30,"unpackedSize":82171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnCYQCRA9TVsSAnZWagAAfYMQAJbyNyUhhKHgGIUeA8TW\n7+QIH1vTcv9AxLar5b1l3OeSjnP/Kt4X6b4kIkhiaLcXDHIPeTsEJ6a67Ahv\nP9FhIjWnAo2Jsk3B25WkSm84AyQ00n8tPMtgyV8wDazPETOgd0IiYXvdnsDi\njjmvATmEkY4JwEj+k9sBujzjoD6tasrTsXCq6WVwLuIykRP2zRWgD89PndwH\n3NexFWzThzdo5PmTut02Yie3UTWgiQMMkvfcEPrRcRhR/e+ZbufWHVpAY7VJ\nZarVHW4efdhHIoK5G1J4sUq+0UH0aLa5mCemgsnoO4sSAnsfHEmo6EGKbJXX\nWpbnWbUIQYLOi9QUcJrzir9AsEmr3cNyLU5Ehj+SM3fH5LL6SQz8d/NPkD93\nQRz1dDiCDncE+WUvt/95hYbR4pYpnvWwNGiY2mqQlb+GxPhU0I9sX2tHPM+3\nwCA2Ar6UBnP7BLag+2OgEVzf3tc75h6hY0mCN1XJafAGAq/nUupfYUgM5E0t\nLhmoom6PNo6KUjJoIX/FaQOPlRvlK9tp9nuHZz0PnBr4UBras8t9nCSLWyio\np9awE36MYreN+Wt7ccbE6uFe5ECvx2tutXJrWyC3trQEYI4rXXvBpHqQK/HK\no3yjTFlkB/+6hDCwhCghVVaPxZX08AiX5NVwgwFuk8YQnnVJQ47KAVAI2K2j\nciz9\r\n=9TGZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuCR4fjr/YEYPsv4RbT4p2k3lSokgfxEVfpTtLOFxDyAiAhG5o7mofVGjhTnHK/AL+UGmhbkngKUvx3NbUgE5+8rw=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.0_1620846096401_0.491925989362618"},"_hasShrinkwrap":false},"0.1102.13":{"name":"@angular-devkit/build-optimizer","version":"0.1102.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.13","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-OvTsUVe5cC4oKym1pohVzkn50OLnjK/SuOnMgeWceMDkqmzJEdJqhG1SfnXv+MJiuUDlhyUVbbnFwkj5Y0fXYA==","shasum":"5c60fa88db41f22f296f1ee628f4c6abe90dac95","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.13.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnFOFCRA9TVsSAnZWagAAVf8P/2VIs8JI2PBbZXztbg6g\n9UfJKCPSdNx1vQohZzEBVNDFdkH4/Iki5aKf69ZvbYWkESu+6Yzcq9xzP88q\nXQY8SNFEitJo6qcm8TDtwtOwZ0d+2+mNFBz/eciyyOmcVu/Rk9jHgpNz+rgn\n4dI1tEPqlmx26RuqYb3b3NjARc2DIz5sIGdy4Dq9eFAjOR2zH5N+e5U6CrL/\nZEJaTGzsjCc5/4lOq8twsAr+MPhDtiyc9otWrkxouDgKlDwVpVbz1dCV7xwd\nvmwpuauqNZnGJ/zBfPNKV+Q06fjC9FusnFR/yGENvQGWxlI/+C1cGv26RbDZ\n6T8tD/7a3J4a7sd5sKXIsOA1YASnnAzK5v0d8OoDGPEqB+gl0f3JHDB6SvAF\nWAGxsWgLmj5VULfhjffb0D5ubLPb872sc0g65mw76nUBWTTsc1N2HtDl3uCs\nv9t7UH6/svRSR2ZPVkevu3I1jBLnvkhG5tpsSXcNRwJPHV8hGO5VFoXviNSl\n8ylfzCDUX94cbkrezo5gqZg3glFDRvidIkBv0HYd4zew2oEOmBFbwW6YBTUq\nAiWzejHEtatQIJ77OuVHl9ZbHJRHvB+8V4VswZzDK/rdbcdaX3tprvZ/h85k\ntDL85QBRq2+6KzAra5w6ltJGoh/wG5e4RiU+SlnZyHUUKMBoEVOgUu2yBf0+\npAnM\r\n=Yin1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzovheVw3C95xz3T4GcyV7qrX9FG7RufE/zfSajXba3AiEA+Q6ceTkCxO2zR1Rxn5BszNiAYShz8Mv8ymlRb6N37+A="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.13_1620857733062_0.5282854202825287"},"_hasShrinkwrap":false},"0.1201.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1201.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1201.0-next.2","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-c9kYEeCTiKpL/yD3IhLS9hLA+LWBym1CB/joM2If/ChwB5O8JkfGzCj+ka6ISSCjKlrxkzZFkaUEWTnEAkZDcA==","shasum":"0c0edbdb7b32b90c6fa5e3300695f75d0219bcc8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.0-next.2.tgz","fileCount":30,"unpackedSize":82178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpZv7CRA9TVsSAnZWagAA7cEP/1PqXXp0uXUOh9NogE/s\nTaoLYUOv9vTtfTs39K8NGGcFC06Aiw1/pDNtSjll97PiUrtyr/AqPbLCE2tw\ngv61zkjTrKa0jXLFFPhQ3VOon+14LGuVzwPnOFSVnZ0RnW8ChM2TOgho7vrF\n+UHboBzHgFypUMmlKOfmj6wl4/Rd+b/qBb9iaC12iMbO6MRXArAR3O1L8osi\n7Uh+/INY+E3AeSRUMKT7FP8M+QOgghYlnbz0ynTBMmfXcvW7fY3hylXUFXLw\nHrPOuvO0YP/831UOHtJkmHP3PxQynkJ3TEHg+n411ZLQoRhBMvDPcBI2iqf0\n2940czn0D8vOKjQulGoXgLRpE9rDng1QieUxSjyE0a6HJ8/TbxbGnBc3IERF\ntItWaUwULWLPPVJkRxEbGEIzYpenAzzB/QhJvJKhzoe1RUCdAr+Ni8LcaWKz\nkiX8I7zdpxXluB8zG8JHlX4+KLHVmQ3d5j9ktVNrOnfuNwyjXslzznrT0cNF\nCugIJV2514E78470sbghl0rw0lt8+VHxAf5d4uMzScxyGKDkuyQ+fSJN/NYV\nVUSp6hdJrKkZaTm7ZBYJyfZKQIAjiYD4y/EUy1vstl5NlIzIPfbzpKRAV0Vq\n2WajwDY50YqOD20NF7hHO5rAbrhgDRyPTbcKjJWg9Nv4itO+oeoQgZcbIbwx\nH/YH\r\n=15zl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtglMN4k4BABWCEDzuAawvtYtx5rLvRPjCtMeQcr734AiEAudWyxwPfuBBvXObKNHydY/i17cizaAK6FL5qfLCrlfU="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.0-next.2_1621466106712_0.00939659504410506"},"_hasShrinkwrap":false},"0.1200.1":{"name":"@angular-devkit/build-optimizer","version":"0.1200.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1200.1","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-qpGCFAuSCHYr5NRJg04tbZyJcVGrV1O0qd1X3g7RmengTon7c0UIUz/S50khhPflsuWCt6r2RPqWyp5N7Px+eg==","shasum":"13ffffd4c06aecce2e90eead00c30efb58de311a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.1.tgz","fileCount":30,"unpackedSize":82171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpZzZCRA9TVsSAnZWagAAzLAP/05acnSN6yWP7qADj02v\nPFcEW+hTwS3EgRl4F+EH0RKgLOv1f4OpoKLOsLjsNrjHS+SYew/0UuTksH8f\nfHYmlpyxXsQ5c1ekr1xWDDFK2PTTbZpNdeg/6nKgySuFt49BxZfDX+zgyq8o\nXepu+hcXUAMnUppbVv3m5YysrofeJnxmCk9pHlDwxuTbvG3vLrT2g6q8XnLG\n218SYHQ96xp7R5abegwSADWqyilbmSCDgC125pRmLJepRt7PkkV0nittgaIY\nL5lh0E2jJanHQMXQJtRykb6ffajAdP2cJ6JZ8Zp/YUR3vETWCUBQXXRb78Pp\nLLSosTpK+RwUWtCtOJ8v6cHI0CecwVez1YOIP27aVcopf1dcT/3kADWbhrGN\nscIhWSPnHH4pKPvRnKDi/c6KXXgQ8TbR/3SJfMex6tfUlnbcKWci0DaU8HH/\nibljD7VXmFSzsVOdCVy328aQojIsDmRwv/SS13xDe0via/gS/5phCNH4qDVv\nErNGD5sg9HYiKbMJcJtxnXQTII4KtsV82nQB6mbqamvP31IWnOt2Kj7/6vJt\nmqlcqj3gG/Ut6BYsm5B/+JAwvBAfm5HU0jtyrwNgSSsLz3YK8cIWwZGpUyoi\nLo+ElTwEo9KyBlD1O+dzTA8gOCf0YkmvnjVVgePFoeh8jbwk/AV1gNOZEf1G\n0Rvb\r\n=hlhk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBDDUsTqwq5dogo+6+g1NJXuFtGBn7TJGpmqV4Mj8YbcAiEAnH0zL3id+CGRoG5P3sNlml2jqd0+q8pIz1pZLsdJRs0="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.1_1621466329188_0.23884786034636307"},"_hasShrinkwrap":false},"0.1201.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1201.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1201.0-next.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-TerZQi69SapRvPttbJ7LdKvcsYM/EivJyqZzAvfENgFpQiVrKBsgR39pBSXHRp7YeLTyTZDOh8QQ4SrfA20axw==","shasum":"e8437e2aa66f842ca1744a4a51b364efcd1757e2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.0-next.3.tgz","fileCount":30,"unpackedSize":82178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrrChCRA9TVsSAnZWagAAcfIP+wcc914bP9c93L0FKnry\nrLwb9hMBjQ+peXnf412r+Xjw4xtJJtIkqRG4qcB6KluEQZXsMC8uPlXP9cXt\nP7+nb3PhuSQ/Lpcw+/xLwleTnn7+maqaTp0zaTnsY15C/rT47B+8pnXg6uFF\nSvTbl9peC/mEFJG29qPN8T3I4/2BGM9EfnsVM1To9NoWC+M3e4MANF0lbSGq\nkJUrV6u7RcO+/waCEsiwUlLYTg2B35GLNTwZk13d3t+heA+EGb1LsLVJj2Nz\nSITTn3x4CXIM1VnWGa2SvE8fvxBeZMnFJ9oayzRtWst6UqE4aMuXR7kIavF9\nzE32av/Y5UgZxho/l5LWr8R1qkxldqrQgMNpvLaQ8X/lX8K5gUXcfkt9BWyt\n7w9tKeB7xOTdcuXIeHP7hU4zX/vlYJFFAK5ST1j64Ecs7LKcaDS8+zF9/b6z\nAZzAD+hAySNpxOkCry3qDc6pI2Oh95FsRAvh+H/QPBeiYt9B6d5rvG8hsOE1\nmGKhGDz5oSSKE9ibZsEY15CEhC6E+CXqYemtJIhQxO0uHK/ze/oyhBvKcFLB\nOpZDrKbnvMBOuTh53ip4x46J23zdq7rQHMGlAl1dQ8pDoBp1HT8VE/NuHb2C\nIgkbdb14sYwR9jj6hIDgnw8v0x75OKnFmq4hblyy9kQ6+u/7VrpZBR16ZGtD\n5EHV\r\n=Lia6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGkZpciU2G07SCAYOVLMDZG7auKEaZdBIQdKQ/Xv/GJUAiA7NiPKN50WoXGQFbR9AxqHigwda6WxUomcAEEt5p6L+g=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.0-next.3_1622061217332_0.3620082236462032"},"_hasShrinkwrap":false},"0.1200.2":{"name":"@angular-devkit/build-optimizer","version":"0.1200.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || ^14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1200.2","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-46z35d4oOHiF7Peiez7DRcsB5dwjnYP3fm6KwVNm/8Zq6nnykxvipywgJB6inkGdcI0j2m8v3+shVAaWvdS93w==","shasum":"b0cad0d20f61aef7721b629f8064cf99babb4826","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.2.tgz","fileCount":30,"unpackedSize":82171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrrJ6CRA9TVsSAnZWagAAx94P/14JVfHA5NPaq1FWRuzo\nUHth1WQTkrmpazJg+eaMWZGa9pE01MvBFaCxo9c6SdKWwkW7gBoyJbHaUMXH\nPdO4HBTEV4caYXpDG7wPNY5+sXvjWIJ8U0l77sIcoorZBL6NvYXgqwHEN8zP\n6Qdpuq2pmaqK76fAok1aregfn+p/R2Fqdap6cAx9XW60QxoYlsxc90R68HUh\n1p3rNFy+X7Yr07yO/f4xl8mdsXzUKtMdsi9D/n2vMXtA0khQ/SP5Ceo13jkE\nIGNoY3P2MoxOADQzq+iurfUDGy9PhEiCrxNaiXhB1YoJRghPKp2XuTvh7yT2\n3msR7Ks1P/A/9MQRB62viO4NaZFGO4bJA110PCj7P3U2OkazXhpsmdEweR71\nOPcAOxAFwtvZjCJDSHNnWXIR+3GQK+Jv5T6rT+ySFf2xgjQxK2hUHZ5QdDvw\nvjoPVsuqJ9kmkP1+BFU8eGWmV7uAt2roK95bJDY88U1wmICrZN9lltL0PAoe\neSlzm8dSzf3a7o7GLGR/8xUaKCc5yqLiwVzwITRZTnS6r9vjYOI/uV9p8haW\ncSyXdQK7eidvJAm2zy6z78hPopiiH3diZno0dPCiQA9kqY+V/emKoNtiN+7q\ndgdC5uXi7rtEGq9JZE7f2JaoxG1Cot0JVKVmSD1NcNd45xgGjh1CwTWBjTZz\nxo48\r\n=vf/K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlhDEi8LM/d2o8HV6PbqlusvDqxcwckktZ+BdSu5GztwIhAJhMZkp0F8Oj5CkbqOSTLwRUmc2B33p7i0SaB503RTzP"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.2_1622061689601_0.9374945443948284"},"_hasShrinkwrap":false},"0.1201.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1201.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1201.0-next.4","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-8ahxYrtvX2wFpkyD8RfByDpZ3gqdCXaVxOOb8qUXzjs7Fr/qsQOxski2SCdoZw57S+FCKJY2Y3PwkgV+z8lwsA==","shasum":"01912517f6c9778151ed60c95547e177299f8c54","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.0-next.4.tgz","fileCount":30,"unpackedSize":82179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt/h4CRA9TVsSAnZWagAA9UkP/2akXp3mi54n8o2AM//T\nKV+Z5Km8WRpvx5Yt46j1x1DJwY9MVRDdGYr1hbdpswNqClNYTQOiItzCve4B\n79c1gdp4T8/ibl2N/UkNVH3JSdmlxZU5p6VWd+zgrq6tzERU2FUtOrCqEh6+\nyLzKT3mbRn4B/tJHjEuNAeZYm2B45+wr2yYrSR/oEmIXdzZCCZ49eesURHVR\ngw4FpKO/CTQFHH7tEQyhPFTIyq4AK0uqJOeThsOc9p3YbByVk9LPKUsGR0Vs\n8N1wKYr0O1xMqTXuMH3q8JfVh2wj0WpkXV8bSB+xqxO3h2Y9+hpVF40uMq36\n+HnpToBhPSV1ny6uY0cttd3TrWu59szqaVLG/wfTvYS5N+GwkBdThLvx5R6O\nzCXdWkZVjpN1u7zYiou2rv6a9HoTqhfSNzaWdPgdf02GwAykjx8GM8PVQheI\niviDQoBsIjI4WyVQMMmaBIexMW1y7auDnrMdmnMN51LTt+76Foke/m1dapyJ\nbQ34OM15HjsqB5Zk8S+Its7mAS5F/Eu7yvFba3bq4csZUvYVgGzohYvVmYq6\n0cGqxlIQCWJQNCsNPDSo1hhF+w3GkAyDjXzsUn1Dc7dksLDLU/4URz43eg3g\n4q2CAWXMH4C0ijm2PnOo6dIEFI66/fWOofCwsh0ddLVTNVg1pnkHo+oee6tT\ni5gq\r\n=BzOu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/D7jkRxPAX9HOQNvvtsDBwDNZkyF6NE9nbxWGrAp7uAIhALTpI6IZxG5TlipHh6+35thF1kqrZ069ap9N/si3xggX"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.0-next.4_1622669431943_0.4807048553200761"},"_hasShrinkwrap":false},"0.1200.3":{"name":"@angular-devkit/build-optimizer","version":"0.1200.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1200.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-GELr5FTkwLJrTuARfTnBn+NkJjGbmbqrm/+znU6QlhyOTSE/PNZed0kiiTP68BQtL4FO5SeTcJ3tdjOW8i3hiw==","shasum":"cbf3b62c0b461946cf2c7b93772be65b9a2745b2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.3.tgz","fileCount":30,"unpackedSize":82172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt/rsCRA9TVsSAnZWagAAoNUQAJb7eX8yTX1/CgEmbi95\nsTPTYmoE8TAvGQZmDJQib0jj9ciC16Vui52TEOWPqI7exmbpWvFnzu7fMtnd\nWdLuei7Z+kejUQcGSDLRmrB1I0u3S12I7hDkSJ/GbE868o9o36kEyir8tn8r\n4D/+8efeM7yXWXOJPlNTev4Px1jNW/liA6k+IOrL3YVw9pU0jappAlzDBuqW\nO+NpbHPPTp0LA0pIVrHApSd6611wrwAp7husxkMe4j/IbQD/c0cLfOf5UTwW\n8UjwGq2Mm+xGOOmqO8HMb7J4CP9Bq3sRsNfFBkWZlMtZFeCypFZElGWoVOHc\n54PqI6o7HwdcRvdUJquEWmtKOBaz0b/Sq8qk77xFhGrNkcQpFwhSinN0VtM6\nHsKzrzh4r+WtYjw1dyiNAvShiMrDK4rsTqp4npa5KjzvMFJNLYAEnIGCvw4W\nVsCdEMXPRN22QKtmdE2fy7EcIFAfACsFCOzgSgLkwRnXkLW1621q/wRZiYvW\nUyaEO9aj6npMfqu/HR4MHC80N4UgIH+byBeY7Ne7HdMkc7io1IRNbtyGyfRH\nl7Qiq2tFmIOCTVr8+P818HEujW/g9jaMfnQAKdZfuxboUpQNbWZdHpYmaT2r\nUCqK9xNZSRGq7bbtRDPLSx50u6eehPzmuaphAFMt8QDcM9y4dIbGTXpyKpwc\nJcw1\r\n=7jTT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCh6l3h+3wsfGdKjKeIAYThkVJ1qF8PXSnfikO5qWPVAIgTE/q5dNEKxY6P8+Y4dKWswmW+qQumMdz93SrRmN1XV0="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.3_1622670060050_0.6724832487145134"},"_hasShrinkwrap":false},"0.1102.14":{"name":"@angular-devkit/build-optimizer","version":"0.1102.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.14","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-1j69rFqE6tPMO0lQvOH8ogF7vE+p+Ws1/OtdZKUkZPOerIbQ8A3n5wzCx6/ZzMVhBQ3sXNhaShb4b9/1YuwU/g==","shasum":"753539772ab420efd8b12e7d5cd876c2b12ec168","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.14.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguU0LCRA9TVsSAnZWagAASBYP/jdT/ArKED5KSJwYHoBY\nVi0tVYB7a5gtfzD7n5Fg4DW30GoyAn8InWm0HkRv8rUkgBwTT6bli6Uw0uj4\n3sKlBEMLy5+13jvdq8w6iSQetlvHS7QQHrerBtHLyifHXiIzVWpRjqk8yY51\n5NsTt1c3wiz6swKiMNhGQlrS36JKLQXNo9yr5K/XGb7WZHIeZtCvP8r49OeL\nmuMbsaoKWoept8keGRaTeip6y7kwFyPB2lkVHhwAzKOvhK4bQVNJGVEqNIq2\nKcSC+szLWa9unT65F6NISBmWuW4nF0HlDo6dEOS598Fpz4nyQ1jrK9qOu/tv\nFI39/6Gji+idF9HmT2ObeKjmd4dxSnrbhztxuCY5xzHBnjcm8vAlk7bemzNK\nVqQ9bacjxZxmWJS8/cV6SV6pQ5Y6vgWTcaUT3MbQdKCHx8n9B6M08wSMsjHV\noAqj5T1Yes0NXgzQkIMffWVGTtrLhVWb0zOyULlecl24yzfGFc3NmDSGhJ1J\nZd6Kpmu91s+09M/m3+5AWiHzjT311YFPjljueLEGnGsHssuaFENS5Qjw4Ry2\n+tR87NliNmiOzVsHhXe9NNtbAVy/qyG5mF3d45nlw3wLp+dV7XpWaaH6GMeU\n192JciERqgUCAhTCm0LuP/WfO/7D1S2Oy/CaBtIAG96eUqCsaNJj5htJvCk7\n7Vsf\r\n=evuG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLEAqP5Ms1+thYe9UJC9Gx8+cEHNURGFGcVIfcjwjhKQIhALloWka80OvaqQYxn3CQ1U0qJofKOtJkxpVDzrUzVqCJ"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"hansl@google.com"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.14_1622756619296_0.6988713993650182"},"_hasShrinkwrap":false},"0.1200.4":{"name":"@angular-devkit/build-optimizer","version":"0.1200.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1200.4","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-7lD3oXfQX00nA1FElH2cI0C8Q1rNnqMpFCTB1Bfd/7/SM+ihkL7EjIoFalN5HZuFGR536zrguSKnmv3C6wijrw==","shasum":"b316a367a6073752457d11f89147283fc8e87462","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.4.tgz","fileCount":30,"unpackedSize":82172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwkE2CRA9TVsSAnZWagAAIeQP/0okHb0aQTRrfzGzv5Y3\nYLvq3s/Yo6t740R2UMuH3HsKM2akZ6vOzE8qS9SQReyPIk+Pg3mT1WQfLhTf\nYQP775nz2TLBfJpki2k+UVD/++ddZqBI33AtYCtPsIJqBQWvDrJ82Z42KZIV\n3qhD88iqQbFp9rYuDZWb5wPBheu3U0Klo+hZOY19t7haHDStSpivoUK0JUBh\n8x5BZKJoS0gvlc2kciU3ecN8oRfq5exj3TvgVJmlwobaAdymsdbpsR4gO2wn\nbDDQSzZCQio8Uov4ZKZG5Lh6Edz0kykp5xZMQOYBzHQExcG+71AjdDQ+eWa+\n43pvcfa3x5+KTQQ3czBw8NQDZTK4K/DXw9AOqhLrah24rYRfSR0CKBNxQ1uq\niHCKy4XrUuZFpfmGPMLFMHdHz1/4Lo7A1671xorsco9fEDbnf6yRjLJICIuO\nWNCjjylzylVg5WXLjf1TOkfWwQSFWBW42zvtuQ8x8qzRs9qnnDz8rRJCzq5n\nuX8lFOBNqpI6Y3bLuqNj2dvaHjxp7OfAoS99NDyOXzs/b80WoBz2YjxTU4pv\nIn0rUThADQSrHQCHIGi1IIm4VASDGoCPtnFJO9MjbidRt6Js0HjsbsmoOPxD\nlommDVPgejpi1JDeVhq186gz6VjuFDEYhBlOwg25LajMQ9uLyqOLwlEFZlKh\n4skw\r\n=nhSG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoAosBgkuvdDIoWAQ9gQqmtHhA0ZFmQIDwOZzadv08wgIgOQoBnnAiKj6pPLHic01av/x3+B9uD//j0SQKZ0RnJFw="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.4_1623343414037_0.01949921680116984"},"_hasShrinkwrap":false},"0.1201.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.1201.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.3.2"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1201.0-next.5","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-l4sgDfup0zg692c25OnC77R0AdKK60Olm/AEp0zpd1fEW+7ROC/3KKbak4fl1QP+OTa3xBkVwPMyAgkVRLWOyg==","shasum":"0f19ddd8a143b1ae7a09895d90eaca347bf56547","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.0-next.5.tgz","fileCount":30,"unpackedSize":82179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwlzsCRA9TVsSAnZWagAAaCQP/166loAOrFcjxwEJ+Pnw\n74BmI20PQIj48Qb59bw2258S0b4VidV2DrH1eVapvewejrh7UowjyYlm7LjU\nrEzJwc1QMqx68ilZX5reXfPdphPCdYmga7W+b67dznTFaJR8B/vdPqVdIwn5\ndBHh77hTS6JeM2AA5NKkAycJDWU8k9q6vNS7gO86Nwg8HN+mGWsZ+kyAHxOz\nsIdeqUn81LZSK9xYRwLkMZvm6YT94REq3Ec+2dfITfCVbtgTF6s/oBGLjahE\n+Iy52SX7JH2wPWXR8v9HjWvfW2rkJ5USOhV0pkbhzY7gERr11LkoQfXyITSy\n8DfP3/olhLkhU7zgO/1tDvuxEgPFjIHidKVxCFTX04Hv9ycXWEdj9KIcaN/H\nbn7goMDY1SNXnkMVqMe4qjkMkMRsM0s0WPcudRaYomRdlI7K+jwPNIJAQmw0\nR9y5piuSNv+XqboQwZgRNBQiyXb5GCG5pu99C9OmgMjBQ09ErRQNi9j3iXmB\njlDI4fenYWv7fO7x7DOZ65DUI8CgTUv1kshhnzNiOwiMbjJ3LWay8uY2Utvg\nOHhcmESYs3WQjXi04pca6stRZ7wBO6vzavC4HD6fzjzm7KxMWd+9yhM1fdVU\nZ4EqcOXbZV1HDbGZv5BwCWjK+P5T9rM2ZnmY/VnkmaS8bUpVB5hZmPGg9Obl\n5ZHL\r\n=Srkr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGFMRyeYklPsk0QZKyUJNBEJQqxocoZQL4o/a/t4jmEaAiBMNhuprNV9w13zm7HXAMv94T6NROm834rQ+A1l6+wKQg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.0-next.5_1623350508341_0.34960799329287506"},"_hasShrinkwrap":false},"0.1200.5":{"name":"@angular-devkit/build-optimizer","version":"0.1200.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.2.0","typescript":"4.2.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1200.5","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-3XlDVVak3CfIgUjDZMoON7sxnI1vxhzEm2LvVg5yN98Q7ijnfykXiIzryEcplzTMTZwGNkem0361HDs1EX8zNg==","shasum":"bbefa4bf65345a21777dbe0fe812546209b84556","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.5.tgz","fileCount":30,"unpackedSize":82172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy5bQCRA9TVsSAnZWagAAO/oP/j72kQdTSLXZLVtRw+IY\ncWdLGvLEG1xvZPnSkYHv37OR/mLgaMvyvXf0szi6FQdikWgdfvRk3lMYcD4F\nwWB08qZlva4R9z6/1TYCwowtqKK8NQEnN1nhsA29wYQ+PBWHLnb4R7Z6JJ5f\npDWX3J15DJrd95QOrr67FRr5FdDZTUT8y6JIciYyKPSZDFvOSr8wHI4LXnlP\nROWM2egvB2wFMQNCJUBU0uI9WlCAvpabAkzXYsb+6fN7ft0Ca8DYRA80qRDU\nty6YR7DvIKqdFdtqqOZh3mRX5QE1tjQZuY/pFpMOXSgIpW8QyNj/5slmb3Wf\nUvM3YxzNRHMSRCOPBs12wgSOzLZOs+4hK//ifALF7srPYvKZJusX73EKZ9gK\nET/7NN7QOPJhyk91TItwGEwM/ejtUclCfJ8GBSwcPITV3u1O9H0kibZktmXI\nCUMlGkc0DmqevgX91AxU2/wSaQnExuoyByIwPGjEkOCcXw5rbRbi87MOa5NK\nlCm+5JMRBWu8JENL8XAXRjrKGuJCPkJqKJv2fZjhcGVs04x9j1ZkW4n5iBAn\nJobBk1PDy5ZcGFnU1dHZjTLHYke4Tnk9zlmeTsr5EA/TMf0Z7D3iD1Gl9iyi\nDbEwZF5zvIFVMTgC7vVManQS6RCGd+jPdtSI/D4TVec2WsNiaec6wVjFnVNF\nAJvB\r\n=gm53\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxr1vTaGqk09NFSLqUysrDBaG6qhFbrGvnzfxm6GMKAAIhAPKGGD83rSJiKXHRuZQR+tJFY5yrqXJTCTvz6CQWek6M"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1200.5_1623955151881_0.34191216804812385"},"_hasShrinkwrap":false},"0.1201.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.1201.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1201.0-next.6","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ZxRoPBIIcbzGH+8CrYQKaxlibvBNFEbUiIjG0ia3sGqZGVheVnfJLGXru/sC14euOR0djgxqjn+v8sBIpYEQtA==","shasum":"42f2a50710fe880de58868b6c22ba0a0b145439d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.0-next.6.tgz","fileCount":30,"unpackedSize":88616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy5g5CRA9TVsSAnZWagAABE8P/1UhZB7EwnxaQUmal5KD\ncIa36gveiQoWIXUSMHTKPimKg7k/qeKeUdz8hiuxcBGKi1LmLD9KcRteGppO\nLXw3uNqr5+/NOHz0O3Ft4c0+R4zGFuX8dBMRGMd9l0sDbvkV78AgyhXOyLv7\nt6K14p1xAXhtIv4bn6lQjfapAD8VPRe9IJ+jaQKe9wfWiSt04tfiMnr4ZEpF\nInmjTdw9sdsyGmpHQKN/tbysO1nGhFipt8tYHJNEVRvewtPyOZ7otZTjifhS\nqyFyTBsK+Ra6laFTu5/ViFnYAggYSiG6BZX0I1gHfzcOvP9aJLTOkYwUMWCH\nBYOoauTYllglghg7uhRdR6Ug9T9ZNjW6hppNgAsIB+b/QXDuJoEtDksrsMFa\n0VBjrX4AkAJWEJG0Q34s8+GnohCQomdOkhLbwvvUM5pnhLxPXPKbiDHXDuhJ\nh/h5hQoBExgUehfaLNsSjUU/OsrZ/DVNDDCyeJgi+fOddvyvleEq59c5Ro8k\nnHy3eYDr8kqQgwty2e7SeoHY+DSE6kQdzLiGGQrLl00p72M1K4zX3VvcxveI\nDtOmVa9Lr2oCE+QcSqaNaOGJxxjIdxstGL+PU8c106xh7NMfKK1xVFqUeJ4C\n56mH52nNFE9z6cgDiUMLi1lHLuw6CssTqHAq3rAIo+8leZCvoBxdepGzU6mc\nfyoU\r\n=PHE1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFrcqQINX6Q7WZfWvFID0jDDLly3nKLoF1RdVEZ9cwgGAiArW8MyhAf5WtS1n9rToyR6QQAWrBMnXo4JqWnCyH/GiA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.0-next.6_1623955512766_0.1028235555690411"},"_hasShrinkwrap":false},"0.1201.0":{"name":"@angular-devkit/build-optimizer","version":"0.1201.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1201.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-FbvJfvT2fM1MNCqImfXtBjeIv6l5tDCBrXsSydyIG+2Fdp6NGlZQdMWYjfc0wGUDdCv1YjIGOL2BQ5hx6Q5HRA==","shasum":"5868f7867cf6f860cb92700c4b37e8304042c041","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.0.tgz","fileCount":30,"unpackedSize":88609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1SlmCRA9TVsSAnZWagAAo7QP/iXY5S3BFskdT1XCfwPV\n0JvV1N2vFnGf7S9121nKQn2/pNXzxIc2851D4Pi1FAY417wN/0UxFm2+dgUM\nFbyg/WxTMNvgw0LasAtCaoBMWlfMFe6E9k3Vr+hsz0zArnoOH6W1Szo3cQac\nl5WGepvR3qTf2nex5+8ZwHB3ZW5apX/WTCwugnGdM954I/5awMKSoM5o9mVy\nVB9hNEeVoMEM5nx2NoWe+6wUGBwKW+QFfMgY/OKauYb3aSV0WA91+yQgynJA\nil70jWtxvPN8POaYq4tnQkGu84tLN/hykltiaL2i4TiEOpEU8+ID5vX9qHef\n9xjuFsOW/FWmuf/Wb/vQVNH6B5+3LIyfR+8uMMCZq0mnQypSa3U5GEnjbRyC\ny42dlF2X4gZQ9eCV8ybs3BiHpBO9Ispc/4SwMWUaxreXzqRl8GGg26IlnehF\nbu/sxa72KtoTk8EChXLI3+05CUIrLha5X5MVPJxXi4IMhHyK/Ty3BT5u9Ark\ngs7YPUXVujQqaQqeVE7YhkXx0SYAQsaktWn5NcXyrd+rxZeyfqZvQaPizEoO\neL318xkxlWuuxoZ6n8aGBP9P2muxgj80NFywrQAK0nEx+gOcAJXPehmWquW0\nbRRU1xwwZPFR3IWFG1jEnRCO5adysgmI7mj/eY+TGyIgJNGg65Mw+rFYQ1AF\nnvdB\r\n=uirz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFXlJ59S1Qbn147P+SioScLaX6JoJfj+pXMIfa8cPueDAiA94L6nVC31zA3JL/a3dCKOKGhhXGCqGBZoUPGRfI3SKg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.0_1624582502247_0.19503338850748753"},"_hasShrinkwrap":false},"0.1202.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1202.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.0-next.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-JNFJ0yBFdcAsYO//kYj3G9fVz8kt8EzAdTuRz83TaA2gq1FKovkVgAscfwCbusc69QzZJ0p+aFwXjhr1CAx0Rg==","shasum":"c00263633af5f1e6372cd9dc585cce3625973ded","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.0-next.0.tgz","fileCount":30,"unpackedSize":88616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1SpICRA9TVsSAnZWagAAIKYP/A+aJtJACgg8gs6j51mp\nqd+ZROb26ic3r65z9wsNGJLj0g7XYsQXIRMbDNNrmqlZTeAgZOouiJxhuNBy\nk7LbhAbfIAE7Taogj/rthdrBEyOp+N5PALilGajJWvMmGBxAQKrsvxZf/ZHw\n6HkSqDfqpFBhYJPY+Zmj+ywKQaZwlaRNvxrmrfpnetZ2x/gNaZ0b+nMp59Wh\n4rwLhCnstiFQWePMTJT2jREehhrO2wBjDDcHnbqx0rkqIx3641zqkrrqqJZ6\nWKsDEL9nA7qgWB0kf3rqRYGQeawz3nXx/6ltrczlSj2kBPZlLHCiKEAyUI2Q\nnhxLlQZLbixwE+nu/1ZWdjUW4CrXvGFhaQkLNxl/TXg2yvSxvAvrcdMjNUfS\n6ZvQOOCPsk97NCqjUfO7u/g3Er1i4EvkwsOgPJfrXJTsGiAURYUD6Ec7rTmI\nK+SqgDxOFhEtMFsUdFAdVZzqKaZogJu5kuJo9yOEcgBOqG5rduntHAatl4qC\nb0CMcv40UlDPuywA59LykooseRYWnWSsjVv1PKe8UVC5PoOM/CLJ2TVuwMmT\nThjwRcpsb8un0h/IZowIgeNkZuUnCS1QFZ57IR70Z/Nhv5Xr+K3tCfol3T+D\nks355CPHL2Jc7AT2f8s3hhT1vd1nkGxEJYWl16boyRnxkR87RPcl3tM7SnaM\n4wJQ\r\n=vXB4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClyyK6qP5Q7Bdz40Vni8koRQu0G8ez2u6oICukMaDmQQIgMGATvG73bPiRCtxiph0/1BW2Qxfo9xYNRKRBbqLW60w="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.0-next.0_1624582727748_0.27090039584491743"},"_hasShrinkwrap":false},"0.1201.1":{"name":"@angular-devkit/build-optimizer","version":"0.1201.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1201.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-SdAffCpjRNFKwnEq8xdPdCWPgdrfY8rlmTZXGY7e1whR4vnyZi+afk1BAsmbNyWlHYVv0Zcnh+Q1VH3OBDLwhw==","shasum":"09865b3c0558bb630d5edb28d79aab263c6a145b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.1.tgz","fileCount":30,"unpackedSize":88609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3jR4CRA9TVsSAnZWagAAiPEP/0qMiF1oDtvwdDtWx2VK\nzwjkLApRcQ9jFSP2uUOdOrCZLR62HtGa12skF7o70L923R5pccqvquOv4qC4\n7+8GJXbBvSehNYI/a8uR9HIwyv2HLKL+ih2gqEqoxEnXlgaUeYbULWdtIh/X\nLmZKnpQ2996XFnZlItl3Jg/4d+MmLcOGJwZ9JhnMP87HxuCOegNmZQR+tQTK\n57cf+0SvdL84A365qI8ghQkcI4wC1uofQhYXe6XzDErIpqvZWEtAbmfl2tZi\ntzxsfHX/NZjb8jF73qPu/SeXyTYMG8t9gDm797GzsjkE0yYC27u8+xxWqTs+\np3gMtkZhAxq5kQBT7Z995WVITGEzLObriaD6mJ9+fS2iCyIprsuxOPbi/qQ9\n8W8Rz+duX4NUDzL23uTNLRfE3Z39uG30dVsvb70n54FYVk156jixx9qrspKZ\n/TrK7kQJlraQfgitGYbv92zXpug9OAsnORZ+3f6vox4G0PhPuBrEeHI60Ke4\nVj3jPUur7C1WD8vmPdgrP6HnDNyaqFOYR5oPMJUGzoTz4l8AWZrK6dmcRujC\n2WsJVT7j62TIumv7cahixJGa755/XSDb95XNLAvs4iDAH/1XoOcmbZ++UCfU\nUT8eBaMZiTykdva8r/KzudkYx/+2jHx+bXaKuoo5o6+SItlJLObn869EPgbD\nKabs\r\n=jqYx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4fDp6oaTVR3YvFUK+GgYVv8tu5prTJrkkcZ2Cv+g5LAiEAiuEIOVfGRd8/kQD2HibK6KTnkCJLF0Jtv7nTtf/08Vg="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.1_1625175159640_0.3701432453689688"},"_hasShrinkwrap":false},"0.1201.2":{"name":"@angular-devkit/build-optimizer","version":"0.1201.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1201.2","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ScrxpIiTbexs0iH64TeJv2NUh403X/NK/ConxDojxmQ7a2qZYXYKVm8F1d/AtUNfIPRZpWWmwoFlSmFhHGNWPw==","shasum":"1fdc6e260260cf9d45f03320c2fc3ff5eed1d39d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.2.tgz","fileCount":30,"unpackedSize":88609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg73b0CRA9TVsSAnZWagAAoYYQAJpN+ipW5UatUe2sdf1G\n8dfbrmv1lZ4bpfy/AQJTgpS9wxogWuFkOlRdgsssILEPmiugEzkGZU6AXxOi\ndgJPZ+qxvd+PfrGs5iToDgrqRQ8Wgkfy1LRmM+U8G1lpxV36Cpa5BtKaWKUH\ne9aN1rO06HiM0asBzGg86WX2JE+LC97HEkgLVPTcsg9B0T7zZIt6KQ13qjpZ\nzHJCcZ55AHOgFgQ+Fm8WcRGGs3EC0qovXqiDZVgj0H6paJZEyPPV9Fi2tQif\nW+EahGndjBCHb/kyPNUGwPT24gUzIVWU01u3krX3K2+8dFb/dIinliKN4LJD\n1SiJ32jnZdrLimV/T6XFyAHTWo7NFoZxFntDSEPkNo6WB0u4axQAn4NCkcBr\nZ1ZJo6NBmVB9HvPS9t6bYj7MQA0Hl5GtnnNC1tW0X379jyN2cHD2raV1Lnf/\nLQu+tio52CRkkVBV3SpaHcxWDvjImpHfMX8X9DCPWSA993lqzwUz78Mx1ZDY\nVFF7rhNSKju58n22xBV7/HctlWBepsEhe7hhz3GPNfOIDWaWdpCoDJftWuac\ncIou0vy/8t4k5xJrPyswdU/eR+0UuaxyG0keYBQWcIYs8gY+Obc249Ks+5+C\n5AJQIj6fR4BxFJregh4uUE5u6ICwGiaT+sq31yrVArbi+Tf9C+2a8/W6RfBA\nlkRB\r\n=qziy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5iit7Duk2n1yAD4CDeQrRmkUNFv5nlBbDN4Hj43f9YwIhAJ1OGfRmwyzmMFgEkpM9ZYh7qGcBoablyRcKqgNBWS9A"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.2_1626306292391_0.6708435549895528"},"_hasShrinkwrap":false},"0.1202.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1202.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.0-next.2","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-93zbZQtl0WvZRLO/ze02Qrrnfp8zLaVKW4JuTl5aSLjecdPaIxKBwzIhedp70KX0znM81T/9urKu4nCfmtOKYQ==","shasum":"9d43dc531848a51845369f6c2e0c49369f43bba5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.0-next.2.tgz","fileCount":30,"unpackedSize":88616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg73gLCRA9TVsSAnZWagAAcqMQAJumOVipWJC9bwzF+tiZ\no8dKfTVBIVA19rbMQ5q2/c527U4Oj9XOE36XZASEeo09+X3DD9s7JfCxXYPA\nomBqnRCO3+lEeOVE6m3v4eLEUP9rabt1zoJt2JIs0cFt7d0f5Ie6iOm5NPIp\ntTu7Dv9CHdifUdZn+iLPVuhZSarjmackmPUf2n8F4oLuGop3o3RmkESs85jH\niRmH3Sq/d6uOijJoR/BFN8KtFX5oL7sIxLVUoT4lBEF2aBmLMsmNVnH6Ixt+\n9vHgP6aOnpn+6NflWL3lKT2bGciwddBHPYhw0l0YZKqqBKBI9YMTG8dcwv3R\nNSMHUSZ3z8ncP22fkAIN1HzDbAARdgOIzUtiHvtx+yYw5Vtek/8URc7R0NqX\nauBZFwMvjeNO3thGTfA5FelbWF774HymqwYduBMOouSDmT0OV5e8nKdy1O/M\nAcBFNbpkuesHlPjI+B555oMcvQicWQ1GFIqGKOf8DeWRWOmJd2xcWdPnTMJk\nu8Zf1ESVOukYIHJQub26Z+mBbppkTdtifMHeoztE4/0ZMnqHtrh9j8rqk/K+\n7u5bKUPAi0BLCw7vwoz4pYZ2ubJl7ESYjxkQQxWDXM6VSFxKFSiW8bHFokaa\nBaJc31I22u3jhjl5IszXbNCYxSTFw3/RJUmjipJsaT40s6gYzQQXf3icxxnZ\nWbhx\r\n=TEUz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz2z7aQX25DG9SxVWZCQsfCzXU2CdV8F0Ybc1TCP2a3wIgcZ2z2JYUy8+TJAmPOVDwB0qNdTOOd5cecQ0Cx3/e2W8="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.0-next.2_1626306571356_0.45611249670593357"},"_hasShrinkwrap":false},"0.1201.3":{"name":"@angular-devkit/build-optimizer","version":"0.1201.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1201.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-aZ0gg7WSYxKTcanKwaBCMFkAtTInDyJwpHCEL6CoTzKg78NEMxgc4vrjNrZzY3lXKhlwfr280vbkD1uCVvlgTQ==","shasum":"f31744f961ae7f3265eb3b0213477130311e0467","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.3.tgz","fileCount":30,"unpackedSize":88609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+KZuCRA9TVsSAnZWagAAXiYP/0ReajIWkm5BwA5ct9qG\nn9+LraPiYplp9uuL0qFM6NShYm4bHzelVgs1aCWyZ1Ljwwb4gdWPjGxy6ROu\njV4nlxqXtwZYUejSK8JwaxlfYpfgqq3BURQN6nOU0cUoXfuJtn2+Mfp15FuR\njXXXp9GbvhI25tSot55HTJ2TcYUlnR+BfgwBbk7H0lqKNxujZWNQSb552+bI\nADkjwJh0NP9KO31feOiit9ElaIcy7xCvxPXztSWs56fXJb7fKBotwbSnbM77\nTfRNh4wHm2oGf8k/+BZ6ujleBWmOpHXouHgUzgZMC4k7lMNGj2K4BLIgUvWD\nqv8/3U9F+x7CmT8HrDBXBPLI884Sg54WVEz7G+X+whHIryGzmrmufv9lddL/\nYhxOKNc404ZWx8XZCxsHYriEt+cypCPnP6XsPVjgMsfK5gctL+31SwDXslpM\n5rI2EJ1/4JCQzGg6AlNU2SDic6YddzuWzzOhtkLBcrJ03BGwZ+MepiNl/ZHx\nzbcRhAK3lOpS3cG8VG/cMvQAUsP4GR2vbkPkUYKCQnaQBag2qAq4TJcuXPvG\nNvaZPu2gSU6bRy8/vd/CMt7lHWxBmqSB28A5UCsABmCmcNkwNFsWiAJYFE61\nbwWOozFC/SbmL4JZCXGhXYmNB/SOAFIW2PHyjo3jWGyv825iNaDo4I7YIpCO\npWCt\r\n=Xi+f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFdzgt7Kqqb3sBYaEjpg7sIRnf6MYBkLx2mroYNi+5LAiB7gf1HwcWVu5FvfLmIjIBLpv+OhgEVqEW8GNCrZl+rHg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.3_1626908270415_0.7382016215694613"},"_hasShrinkwrap":false},"0.1202.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1202.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.0-next.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ExxqU/BJFHvauSjXs11QeFV7rYcxiH7KBJwq/6Ejs1zqYUnlxRkLmmjfy9X1Nu2dFz56teD9m88eRxDjOgb5ZQ==","shasum":"a13b4c5e837cf13fbb5d2fce2de2d570a2e8ae34","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.0-next.3.tgz","fileCount":28,"unpackedSize":87125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+KhNCRA9TVsSAnZWagAASuIQAKJwTuxWp0eRdvUYyIQi\nL8B27bLQBkKDB0G3bNbhrkrp7sPuBcGhY5HcK2aZfIDtscOk3y3ghs1HlelO\nWJq6ExCjy7xpMmcgrh9Ti3JL+8ev/DXCZeCclwaZebFRVI1GbWDAmm/JC1ny\nRjneWcP/3crDyAZ2aqr8llQsQDSgMXsfipld/QwfAw9mSg/6LPcZR5X/6Ltn\noPNz1ew/nRDM+LsxHe+eiVDO/zBfH5ryS8L7RmegGNJczVAXkxUFkk+Zupc1\n0SK+CX03eJgMpV3oNl1/Gw3Yys+Z68kcUcuHEOINbsSzVsFkOFb6HSkyg7ah\n31wu0GjidrDlMgY5+i4ze7dCIc8MGZBkI57q1Gv5B5Fr76rJZBi0lkxVqylQ\n59gJX69DRb43P/bWxXm/GpzRN2DzghJjH3AeR/Q0U8LsXpuyCWkMOUf28Pvy\n4Wa5VjlH7vrQayIOYoc7cmHdquV/yF/HgScwn5Fj9BtawKLRvsgKxS9LFbQC\noZICIomvs0/FQXJcX2YUB6O6ivck3HcxMY3bCoW7kz9h6Ts4fAWN/DOzMUKz\nsi/6iG+/I1a54oe0+oKOySQUTY73uFrnzj70c5dAqIIlcsjfHWXYwYDAYtJn\n1mArgEpE+HMuvwgTNmJtAGnytLXZYAZyVJ2NsdYM5Q7Tk9I+eGx9vUVg24AB\nf4qi\r\n=9S16\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDNPhnjxTHskNkC7MhBu4oVrWmoZ2TOLYzH0UvfzrxJQIgK9nV2/RRggb5siM1j1KhDRRYnQkGxzmpJJ9oZ+ZRXwE="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.0-next.3_1626908749115_0.4840785922626878"},"_hasShrinkwrap":false},"0.1201.4":{"name":"@angular-devkit/build-optimizer","version":"0.1201.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1201.4","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Hq+mDUe4xIyq4939JZaUkptsM89WnZOk8Qel6mS0T/bxMX/qs+nuGD5o+xDKkuayogbiTrLmyZBib0/90eSXEA==","shasum":"79bf972b5905d7d193c838c496febfff6923ec2c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1201.4.tgz","fileCount":30,"unpackedSize":88609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAcV7CRA9TVsSAnZWagAAslwP/RFGYaydB3e15bGNuJyf\n+f4yguqUbqwphYewRNBG3XA4z5UGY0VzRImk8GTvXSCyxZk+OqdsuDZUW8hW\nSsdpJjgT9p56IaJRM5bHZRePG9ETPbaNlygH7yVgIsIwTip+YN8GyfSP66Ce\nfEAToIOICWuJZ3xscfi5Akwl9gHb+z4wJTG4Ct0bj89rS5E5Dp9y0EotBk3v\nHwNdhwLU0i3qWuKceQOps0EB11bOP/EEVD0w3Q39rr07yrqZuNv4Dm9OAN1N\n9REzUBKtwTYxYE1qKe/s8GwGUZWtdPEZwQBuZeaSOfgs5uoZsxoI+XoYJt6U\nGGofP/807htLJNzfj8M8RDaVYBPckEafvyVmT7VCfcPfI4Mc1S7/NQjj89Oi\nv7C42rFKvIAf5YrbEZ0uaKRo7L86ZaLKIW/Ws5YzyMBgdbndGVbbyCoiI3Hi\nzkeNqBZPMhLmNbQXRpvMHSJObH/B3fYdsDT7WFXiStmJVcfkQ3g6RLA3NsW0\nRoL/KqO3KIfovDTe3niVkxAMwa3NYQZhbbChIuNspcJa8T2XtQO5AU3RlIDB\n1kMu1I6jiZXkNxIDV87ow73lQuirg2AFo9BiTijBDFNfk2edYWeUeMzDtqwx\nrV9Z+YiHHUYd2P+jsginAvou8tu6ScfwO6YJlN1+Ulg4+AP4uIeAK8A6fe6R\nJC1a\r\n=iTZU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICTb2IJqAb0ChritW3qF+C3wSjqAZ+d80hevG/uSqfiXAiEA7lpakEq6RgseC6jQpWwYxygWIFXa50hRIbgUjlTLRCI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1201.4_1627506043766_0.9604197835383839"},"_hasShrinkwrap":false},"0.1202.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1202.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.0-rc.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-765+NNhSfITZmKX6RSCr2Z1a2sC3CrS3O4OkkD0PeEMJZ7jmvGt5D2IZda46kXUHnKwyGl6DyA0Ta0RsktD+SQ==","shasum":"664b27a3fed8e00482e8ebcce5394f18d35c3dfc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.0-rc.0.tgz","fileCount":28,"unpackedSize":87123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAcahCRA9TVsSAnZWagAAFk8P/2AdM++gINz3Uetjl5YD\nwaQL8TYkOr+6cIQltaqF9zEd9b7M1Skih+R7AFstNRHUYrCrn0F9mtfZb1ff\nsbsrWoFgXouhDdW+K8gz5fc3fLZJL43g05m0FIfYiAJ150GhnGtCC9n+rAqd\nzZwSbR3e7pgD0/v9eUhA5YJ7qdcuItKrFH5h751x7pYGJyCHRVqXRiBozl06\noSCVFBvx9PJ+tyTeLCRscsUG70OW8EuSzgKU99bASLcFAtoihyI4pepEHAfb\n84hx/0rT0J/KHv+fb4B1XX2i/8KvyJE37SbG6u+8Z9N76RvdnRprowOlN/P+\nhghux47GBNdaExk0bU86OaaZKHUaazCCyDsXWmS0ngVpdbPKXAO4vULmqauN\ndmVG72btt3nOYJFVtZ4vwgJwU58vlY2nz7iFKcq/rdf+bIhAcN/VaguXNhqN\n6rtWbX282naxhlgatBC/I+Xzm0L1LOMC0W41nyP8YFHIx21TMwKOaijYyaAm\n5z4BE4LYwLej3RUHqs1uV0Xo8Fixz5541Cs+jm5w+JIg8dCEIMKF4Bw77VEA\nEJ44MiTLENpopmJQ8ReHW2WvhT9zge74gWZfZcN+OCwFl69MndijAKgd/tfR\nYsxhHrU7yoxFOc4acXrfyMrR6bWBuQjcDD+EsOmcHJVKjannN0X9SAtlddAT\n5nSN\r\n=9xf5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRvqvzo81cH/BN5ylQFp4qT1B74AyZy5QqPqPZ6GufZQIhAL9e9aiFBDPEyVFiIwBYhWHk7GYpME7/PPQj7M9HWc6s"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.0-rc.0_1627506337222_0.8654792484474165"},"_hasShrinkwrap":false},"0.1202.0":{"name":"@angular-devkit/build-optimizer","version":"0.1202.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-ORZGPrBTlzfSUzAZTrbpMgTbx1TaMcJ+nEFDj0hVBK+DUgf7GnaRjltlIqfKKphh7c6h3OKZAu3k2Lo57WqcIA==","shasum":"ad62cdebfaf718cf7365db0833827fc710b51f45","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.0.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCxueCRA9TVsSAnZWagAA0H8P/j6op8XbYP437sJR9Icb\n7BNmpQhaOCUgVw+Hawf5WqxeThPxvAnUVRoDtYa09YWvIV4yWGqC0tYezzE5\n3+MrtCNr49StB7xaNbNpKFuuQAEttQgLUwYEnBzJ3mcmhG1hCHrXqZpZfnG2\nPlPdpmSwJbxQXB/PzmpusmaermVU3f1nreYELrdepnOBkDm4ylUmZMgBxyza\n+s/RJxtjwso48Jb3CK0VXTCno+yWOEXphnoVgAwQAzosncZSuMWwvUyR8bo7\nrBEcbYTwI3yCQ6sw5cLn741LHtyMqy1oB1Uw/IonhZALWvzybxrs35prou37\nTQwpdMdkhFzafPIOXNwFUo2FgoXhLPkorDC6KVzH9PIpZuBSAD8W/TwJeMPw\nfG/So+knpfqeVJMHLXfI3MkmuxTkC+aw8fNUaXah/sQLWDJE4KvHou4yo7Tm\niBZ1vhsbjGMv09JmJFAIELf5TKs+Ps+emC0ZiuEPgpuF2gO+Kqj9TE8FTRor\n1O426wKv4NoX0QuuMROZbJY2qwtlsuSyA6spR8XJsHA1iobX7OaS6aGsc7OT\nZ4j98Wj7a4+sx6tgKnp1u1n/2pmf3e6JAeLqx9+remBz7rUKP2dUb34xB56v\nTfNbEAkmNZiVrhYv6hZY2r5YTSaF9f9TiU50ST7eUqdM40BLmso2soX0Kx0c\nV1aS\r\n=4URr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgb+UFdcc5pN1JBGVTSjkg3HPQVkS/mE5hoThcYTs5+wIgX2yTmUHnpHuvZFuiUlpCkpdBoYQFjwIOxO5Jeo5eGcw="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.0_1628117918004_0.03437605131075161"},"_hasShrinkwrap":false},"0.1202.1":{"name":"@angular-devkit/build-optimizer","version":"0.1202.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-eMyPdfudKek4buv5b2lBRKrv8r2P/soPOsLVcyt2pgrA6V1I8UaJKEDmBwxQ//RwwrvMdD/OWfRxxJm7YvD8kQ==","shasum":"96ce0d33d438f724866c1f171ac3886a95422dde","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.1.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFBflCRA9TVsSAnZWagAAv/cP/irL3ZlD8wQodg9wmS6b\n9SINUoBXlVwLVvdB0i1lcr/C9laJwtgwpcd0kNmp4BiazUlt9lFbRXpGE+D4\n9shpD0wPMLM88tdRJVyb7wjHKRfiXI+5tt0hcF7wJMhVQMIn3qLtP5XypkVt\nwhI5QTV+5v1Vb/Z+9XlEHuPKBFifaWw6ufC1jNAUB7ACRSWx2xaOJDnW8/l4\neirRxaHIKQMzvcExipTbt+xSoehHHBXeLOb6N0aSDno9tVhZrlYkvhkgcd7f\n3JbS+L40Dng9tarz8f9wUsUQiXVexWnGDZbOqfGUkd6rSGufMihZ8/EbFrIY\nU4DoCCiMw4+4vXkGhENkMP14pM9Nzvog+zVbqdD2MphmkCrvyEEgJKRNwa6f\ng4pkGIwhsQTJ4QGB0ynDVN7opvwsPMmkx4W0t2fESpz3T5tPntuIijtWoV9y\nMzuPdwLfXjOOZ9mvFFJ5bw5dDw9QcbmCRq3yMs5CVzLhE3Y79ldflmE5eiwu\noFAVdXYmlwlmvCuZYhmhcC1+8FOK0nSGdY2evnb0MQTnURhBg8FwOIF6HC/D\nltA3b2XQ+oVGx3otj5fe3e8OaDjJbBjs+1+1brcH8bgG0vo1yvka6YoLAmse\nXUaKwywfzaZArQBROssqMUSs8RZ14e/tnV0F3e7GO9wNBUpw9QiN6MImIxTS\nXMeC\r\n=BUsx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNwJN3cTBiBi7RiSchgp2B+JE1BMtxjp/r2zlrSQFcTAiEA0SYMedq8hbZstTFfWXlT4EXLtFROG6khOK077rdoT+0="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.1_1628706789359_0.6529968198957585"},"_hasShrinkwrap":false},"0.1300.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-fa6zfQjJJWihcbpivh3KQCaIxIrBRud+nd6otmlbTXhO/E8y9n7kRVpHn3x+W7pI7m+RXWCiGV1Grf+i+PnQlQ==","shasum":"2c2577dfeb45a3e8a86fdd54fbba8744c1173731","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.0.tgz","fileCount":28,"unpackedSize":87125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFEIWCRA9TVsSAnZWagAAnPgP/1n8MwUCxubxFVqiJ4zn\nNcidtrtlXnj2+YE2KQQ8y/TqDuh5Zx8R3csYe2AKzXlxzGFwyQDUCXDu0Q5E\n4DRA8kcJAhLQqJE7olU1M1wY342VvJmODVFqG+BEFendyzCiE7ALJ2rTgZEH\nIS3/hpdbzYh3sclJjCF4uXxh9Wq3gX4T2rCn6YqGt0dh9HErze+FaQhhBqn0\n7WP8l2ULdC6fM47UUGx3JAeYvexcWSz4M1dobo7KuUuWP647zB3G9ZL3m5fv\nObAFd8cYwHqx8nuJNS/Sz6NO6NpSIQBr5L5tGnj2qEGOfba0gMOWrg40N1Er\n+53PrUtP4GMjBQC9czmjXwF1vk3xfLi6b5GBFfVPqHoPcJXwqnh5h221MkI7\nChj9gEtBv11Pbz7f9N3DTsRopstNxUI/Tld/38rFRVZC5Jbu55itIp6JiSGh\nnl13o/w516wLSIQx7tkdTfSXur66+HJ/KqEpezhmJrezB/aHwRrZkK3amfQB\nhG4IAlm1YEAxV90hRVJsdvbWq7NLcvTP8sV5valfEm5SoIRjpbXUjMCj5dh3\nJPQMloyumvO2il7LMOxbOxnaXE229kxYdKallinquGY3xuUE1ObIjD+QU333\nzq7qvYNVru5hSalapZxdR0xb6R1skd2hIzJcyBqspRXRWU3IrJWIZ0lOMzum\naNDS\r\n=0lSK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0oK92/Pyc+5FvVAu7Tju/1g6462zW6+MpLqw4mCZdawIgYKHgR3bAA6RYTi9tGSXp3UaI0kj07U0anJX1dT3m1U8="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.0_1628717590616_0.7734356895097259"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.2":{"name":"@angular-devkit/build-optimizer","version":"0.1202.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.2","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-53CV0mmDV5lmRiuBgX4WuSUta6wzRyFUebZmMaLjSCjXXt6Ca0RaVcVWeojZ8aiuIcFQhn1+WLYL7WmFZ8ICrQ==","shasum":"301c3410875f6b468c1a4b9be35e3b2825bf6a89","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.2.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHYyKCRA9TVsSAnZWagAAIPUP/1f2irKE4naMtyX3QFUR\nUsmXPiHsR7cnb6FemSooHX2KZpgjANBJccYopTNpSixGUt2EG/cPHuMwOt2q\nGOMZ6uqH3pqD4rqpkIzPimaGimXlS/u62FDRFj3yxkszAroR4vYsLMUJzIOv\nbL9aEJsUDkFva0yxs2phoTvVBJ9On5t0F6ckJC/KCi9iRa/RN/XYRrh28UuJ\nYpwGE5RRS4ecbEGpTC0UmE+L9CJhMI/RXDFHq5H8EiHdeX/ULhzCBfUb9/Ik\n/574wVzAwqZ8pAf6Mqfj6DygdOfEX1fTPtaCUEkBvQARZkBaah5h2IFA/f08\nnIiVqDkvKZKDIL9tynwJ5V1oz0qSmfKrl845k8lfOjn5gD0+HPOgKUdEaSuZ\niPmTQxWWYwG3D+RGUUQ6lYFE7RggQy59lb30ZDK0JiJ0gzVNS7KtI3K9jCaY\n1/NPOGLiXIFS0mGE/wIhESxukFVokGkViYzE4HU1uR/xONfKGmNbpfQRrlHb\nngM9mwo1LmTU2kVdTiGe7wW70e7LILwA7zKD2Jc4dif8RhVte9mJWB9Ky90H\n/7D2PB2uDK+gT4uUPz7wcslLigd5g9TZYrk9IH9xKZlTLr+mP4C7PYE5mg+G\nl4Ohc6M7SX3X8avbOLRhObif74w1H+glOb3/VHtAAcissj//i+5sHMXR3lHh\nG9BS\r\n=2/ln\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNj475bZ8dzhOqwTuDLQOZQiwa3HuDfQhWS88CCbXtUQIhAI/TfhZcLXesz9tI3nWgLwzbeQY2ggzhiy+r76sOsHrq"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.2_1629326474521_0.3973446584167155"},"_hasShrinkwrap":false},"0.1300.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Qh3RqmMX8qPIbtViRk3rhLrKMHjbj354KycvjNupdRfCpP0Ig5YCbJwVdBulB8+/u136ecIZeqYK/+U5BJl5nw==","shasum":"1e0b9efc214df7b57427176f50b47f6896458028","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.1.tgz","fileCount":28,"unpackedSize":87125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHZvpCRA9TVsSAnZWagAAmeQP/j5bddBGdha2aLw18h8+\n40qu9VpGYaz3wR0O6UDVW4nStpOX+0yYB0CNLahppdee/aKtVKiDjlugBVxK\nqDDhWFz/hkyDDkrp51cTPPj5ztkMYxMxZCc0ATPlCieMEDuvyzkKLRQhZZnI\nqXWCap2jx5A9fe1Za5GYoSg9GAJ2xGCPBny0Gby4jG3i35SujJBSZvpXpPHF\nry144+EgIdtWkTI2DPIzQI+k2k3gYE7xcUveRWlguL6CWavkOqBPEukfsWJj\nmoQQVygGjOaqhzpDS7NRLr6If7bgbJI/p0/Qwoju77NQ1a2tm5rW8buVf7Ls\ngSH/xaIXWB6ZkIF6YJrzcFA3cRcLx4/AHVKfSyM+vFaM8xU550gzY3vvqxAZ\nycxp+Io3Y+pTF6JgLdJ5kYnaSegBA+C5pv9u36xnmb3krsDpQfclOfLHR1tD\nE3bRAYqEQ36sPX7BOsMbFgZ0haKmCkUv7E1p7UTTwvz8yEutghUXMEE/oL1w\nlknwtnc8w2sPbQE7YDPmkjeZOLr4vOsvliYXR0hpwkBXIr9W72gllIRT5TaG\nF34qXZolZ5CbhbbYtaT9UrSwKeJLdsFNMmMDb+9IViagTGqyKNlCvmmaZJrh\n1fr61jOFNm2+/5b7Xsv1OJ/tinDhZIpJ9R1Wn/Ribo3EaOfVCc9jx4dUQFNn\nMD16\r\n=Qfxx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDP0iND9h8EVvqh9USrZnS5smYrhv0slmw1l+MFNWz7HQIgOzuxp/GCmiGicTahb53nCKAgYSRH8U85P/jpw4furvc="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.1_1629330409417_0.25741236243466936"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.3":{"name":"@angular-devkit/build-optimizer","version":"0.1202.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-RdicnNqLzHZhGtDwopjOjc73gI08iYcoksn7x0LLZpOMXFZ9ypucE39m4ktOkKw+IK3IPyhCPa7OpCjiGhjWFg==","shasum":"e567abbd9810650c01b52ee65e76e98141777bc8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.3.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ9X7CRA9TVsSAnZWagAAZWcP/3d6jZgMr6ChZjm1dA8b\nDZ3B37VrZLMy5lbYyozYJUtiDJcw8U5bDhAGnTFQiomd3izHYD2aY0kpTaPB\n8wtktL5RlN8sMfRkQCtVqZOZT4qsWOq7DJSUaQxU0Uu3q7gPvc/D0FITpL5c\nwyz6TpH/vwUFFxFBakeyN0nbJ+bXzTnJRu6hEGYKaHn1ronfgs0Km6ZMBQSw\nD/lXpnvsTtwmfTrdD8UAZs1LpgV5iYbzoIxRBlxnQdt9UTSNQxxKbk7zZ3B8\nZzKpOYyeB/ldmgy4qh/uKL0SXVcDAlkdUYZt7eIEg+UGhO9F3xIYrrbYKD2m\na9H2pms+AJvscX/2O+1TI+Gn66z4U5P/pFkPYYHt8l3Z5HBmeTWEziqSUzf4\nJPzKQ73ckMAJb5eGo0Nd40osQpCyNx0bQJEcNVu3VHX+/yuSo7UW42epMvTn\n2EiPR6O/8DVl/C2YcrVlrTI1gZRgm8iU3mq7R10Cu2nJTZxdtpJwff0Bl1Ob\n/XgSuBnZhz6a7YZC+ix8ibG6DbZY9JQKwFocXFhxwEFSfjqrCjf6JdQw6Wn+\nvhnT6+Ezyd4meMcyOyd1rWMYc155UYb06EjtV6/txqn48ZCJfc/55HSysF3o\n6A3aRT328s8IVJ8yl4OWbdWGJ5V8MRmhEjbv1jURxcW3ZMN1rOa2UlGdShaQ\nrFZh\r\n=tp7m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCzNMiFwSH7X8hYw7M1uFeWW/2LiZNfsVMK1K7F/wzsAiEA9Si7jUsb9wE2jagvUHWBdxSFRffuKLA4+CPjgx9lgm0="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.3_1630000634991_0.00931965841369542"},"_hasShrinkwrap":false},"0.1300.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.2","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-gOJl0KLBN4aqOyu0mmTba5R7qq6Nodjv/Tyk+YznWy9Qthfk7Hph7FKZ6/weS9AQrjVW2pbrw9zTb8zKu3KaBw==","shasum":"61c9843ceb306bf04989a90ac5ecb8662a226d79","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.2.tgz","fileCount":28,"unpackedSize":87124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ+i6CRA9TVsSAnZWagAA/lgQAJLtI+pQwgia7p3GnKsq\ni5rEWwos7lAVh9za73Id2IVqU2apWBOXrgvcNiC6ZmqaxG/DkHRrbMczpgX9\nNtSBl2vCA6gzOw466G61c4Yydov6b7ggd8NoaBI4mo/AIKLef5vyZn/0Ab/B\n5BNjXgd+04vNt4CUvX2bh3N5mGyKVEozfQH71rSF0OIzGI89ugrGiyrbNkBE\nGT79OTkhHKv9kQhhZHiXrlVj/HtIAIV9sdSF1reMPru73GvMyKzY4DdOdQNg\nYw0vpPh+mtBCfnfxUk5uNW0hnQHcqcxeiYaryzKXZNoXin7sxJApBkLunyMc\nnXDb2cx0OpwTXmxzcREVRQUJ1HmYtMr+DXuOibxxa1+MxQKLOAZM1veBc1J3\ndmwZNyoyIM0tZk0BGSaFqFmQ72csY04mbWskXEWYYs1mSyptAM0ycOx9NXGq\nEdFj80OoD7yHLgYqzO56jgQrsCtqOvrUR4pLhq9Z+lHT2o9clAKfIykEJcry\n6CFoYMVBnBbAOaviFCtrpAoYG+/ia1QS6hM9kMlozmkE/hQrmBJ5Ml6i9mUP\nCB5ZCDkGXh65tigLvnPpTxCAT3xUKBCBixaWx14Kxw2O0eq5ACLnPE+kr7e6\nQPlhxbon51ACf0PoGE2IFdIrZB+W5wE4bY8ZHCvLCQq2dNqu0tCrKJL19+cX\n6/N/\r\n=cFJD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+cTmYd/awDRtHsL3FiY9P2ZPE8PhZFyge4bu4q8PjqwIgCYADa76ytFm0zm0/RPMy/3ZiOyWHAH/z+aJ1KTNDMlI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.2_1630005433989_0.7678926352070954"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.4":{"name":"@angular-devkit/build-optimizer","version":"0.1202.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.4","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-kLZsqNAxaMFdG5GVoyfvvD+v+Iq/0S7xAbuTOa4qwmI946e+vfqO55rHEyRo2in6PVRP8UgH/1fYFgAC0P+pfg==","shasum":"844ad7003eaa384a66a475ed07b9d76a9f80e334","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.4.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL+MwCRA9TVsSAnZWagAArR4QAJPoiRQSoBBuBJN9y7Zl\njhcKXHpFh5R4QvUyWmNxXt2xk30O3tZDx5nst9dYQcaEYrA4HzYqOikKWiMu\n1FZ5yE6afEDgvGYBnsO4XP73JO8KQNDcLN8TyljCzUYU6TL8YNzRViDv2d2f\nhGxNkZHdW5app7/wBgbXyMR6d43DxoboO6duI9xtvEDNWIOCFAtR3oFuFNgv\nN9XWU+//tI876GZWw/jAZECSw+6cRtjFXWse2yWPAFmM4bBWIdoqLo86DJBO\nzo3UVltuTQaRwuVyUCcEiiFh/WZAcZVZ2bUsrcBuEqLdA65Tn74GFQ7QriXr\nLPKeG/4jAi+PWxO+UZIJ20B9Q9PEl4Whz9c44u1v43SL7rtmQ+7ApHc16o2t\n0sDpC+uQ6SrdXWY8Xo2rBcU1hwfh/p8CyijCN/LKuVmK0msd7vaU07a0bGg/\n8vWkDbF6DQfoyiviDBwwkingc2WopfW0T5/hRSJ7A96uqnG6LJMdfOV092Sc\nosc/IaqwD+vDoU+HRrmjZHYB3NC7K5UyK3Unuz4fWLTTGH82L1JkIY+4VvGf\n6xPNttVLwZrx5jmQqb2ptBSFrgG11lJOqEjfz3WJJsQPK9rU/iElNTxbmg7T\nSaSfH73V+6HUd7WldPd+zWzZuIWM67f5flL5h4xFLXxWe47Tjf5KUE1A+nED\nCxCb\r\n=cVSG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZ+djAwP/BcLcgPvj9XO/JQbrh69uyuEORVY7sk/32RAiAuQ77qWyuY8EzypZM1Ygmj7hxoBO7tAiimlXtJKVH9/g=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.4_1630528304655_0.1655034261178432"},"_hasShrinkwrap":false},"0.1300.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-REv7o4SSPgc0snHUxB5zWuddXFaI1YauhdEt4SPvmHgHAogoLv0BKDnDiAHUy2YE6ijxyN6z1hEu5i9Nkaox6g==","shasum":"39d0fe8daa06d2cfa4e1d4d3cdfd3211244fc69f","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.3.tgz","fileCount":28,"unpackedSize":87124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL+zwCRA9TVsSAnZWagAAWTMP/i05hh1oiFFvXoob5KP9\nAdhXI9dKmpzDRxGDKq7PE6h9PmMfGkgPE9tUToWVFThS1KY3eFW2Y49MHe4P\n+zvkKcyWvQb/sPBjvAiqQVncyAc2a4lHCafnQo6/b+EMzwr2mTfcyoqV7E3w\nyOha5XtxRjr3oce+milGRpN5oROlZre9shgyQSJggIWFuVWFCVVEzwoDRAVc\nguBpihqFq/S2KUg5R0oL02x1c46LwaXBGYwjYK1nCb9PGTIStwey6iyYlHXr\nb7f0uJdfXZB/1FwRIe0DwECr2CBHXhcm8sC5+T1JWBR8j/jBiM7bzv+u+OQg\nBHup76bX2SiZPSbPtsSzUMf7beXqk4laNgbx7iu2qdns0qEid63WnWzmTYNh\nfJjUquv87Eg1N8iUSrengvO4+mTltNfQsK3WZeaMQE58mOnqwfq4OchQ6A8U\nDkUpD6I6oPFE9aRtPQdkBQDizKtZUj4ve/lQkcwnhzjOnpvNNApDl4IvtIvv\nvq4LYwh6tXhCcAcjxD11PkinuTmb4iH/MwBjWb3kP3MDPSbLJ0tIeH/uDYg7\ncgFJB7Gv7BBRXpRllvAr0GsFtUe+uI89dBNdMUClsLGV0hGyzIQa3fA03jFt\nVbg3fEhPYSpZeTAruU1UmEp4Fl96mJQQpOxNH26I+XlFRLxhjsuTGUUvRPOp\nwFsZ\r\n=kMAL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXYpbCP3vYldETcNRWwakCjDc5tkVSfULFg8aF3iHydwIhAOKUCRGbAY90m0WhsyTtQfELiag5n1WGo+YqZFCuwVep"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.3_1630530800201_0.2681695182749213"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.5":{"name":"@angular-devkit/build-optimizer","version":"0.1202.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.5","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-ni3OyBQq7y1Jk9U7CtwWMRoI+1TWjQYVdGRWt5JgqvLk0hZcaLoapGwUypBV+CdKvC0/0V+k84RiO5wvs5XpFQ==","shasum":"c5eb6a5f453750fdf50af92df33dea65884ea835","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.5.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOQLPCRA9TVsSAnZWagAA8+wP/2YNli2r06MaiiRo3iAz\n4Cd8zWceOCLIGGuB+WogxaQgpVJOhBmFLZG7gCZ57WbIQTTp6LbL94wWKHyf\nyC9figPIVo7uvmq7QjfLyXt0AG+mXtGHVZfrr7/UB8hZxenVwNLVFADlaoEe\nKxWOuOX8rbXnXtEjiJz2hnDe+poTM1QDHsboNARwsB7Rcdt1/+4Tll9m3IjQ\neO/z4ct0/SZSzFiyfoQgxVrTX8AxPJELBSCU55l4AXE+OHtB4Mk1BBc55Uw8\nN7D5H0hQkDyNXuj4hafmnpJfoTrmNxZ8KiDLBeUE9QdTVCi0mYpnZniRp+Hg\nA0knpKMYaE/D8UlcE222UWxgDXufad4ayFGcRepiPNk741sagsF6dxPevjvH\nW8PgX3F+eT258LUEOehOXgteORZb9vdnkLPNfWpMTD/kvvMBpSkEbJi5jtQk\nlynr1vLvMtdj3e5sCFTMTB/cUoWQYK71LX1C+lmqfNy3PSbny+7dq4TnJMce\nUtxHl7l2WPTCVtGLNFojIjt3JQ4OTr6UUXKzEC3VZ3unoIPtrk7Qtrz/mldl\nR5xNy8vhswT5pqX84XlLSFfIGbHjXrQ34aJBvS2Cl69XRxiLODkSDOgHdf8D\npAtG7KE5ChlBSijqUGUFf/bzGFDA/0CVpFTbTn1/E8WrvCTZzk66djyQU33X\nWOU/\r\n=chTR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDv26tiQr/iPk8IkhMbAzZJLODUQNLFAVPUWx1vSiP7hAIhAJgako0zp8eqQ8BLiQDupUEtggxKxi+NWXY84zbaalnp"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.5_1631126223040_0.286815283320518"},"_hasShrinkwrap":false},"0.1300.0-next.4":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.4","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-/LdUGy55D8p52K0yqDSGvtZDbCURfnTRaASA3dXlZmBP5fSEp3qMVlkqxOahRdOy0NN6MRJHfNcr07yRzPTSGA==","shasum":"43b9ef6e646d02c1ad66da3de7a1e3e8a82e05fb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.4.tgz","fileCount":28,"unpackedSize":87124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhORI2CRA9TVsSAnZWagAAEbMP/iwfNhAFh5nepPsBSkSw\nTFNvA2UAefUiDnVHgIsLr9PRCBjRiftI8vNd7352S2GuPNBEfPF17Gx4DfAb\n4jt5S/Tvq8cd1/pkfH8oCRZGo4511f9u4EKOenYyMijolG5wDeyvT4p89wgm\nFCLXIelCWLaKZDKfVqyODM8ue7lf8HRu9oIRmc2AfQNsM7slwL9bT2+v6Z0i\nU2iXg85QVxqPgjYOZ6CiqSRhtz52786fkVta1QQysdacF6JOEuEHCgSUjO7E\niYlqW+RTfGKhTriO6wCn7EW2IU7aOuCX75Bqah2cBcQ2k9WcTXuF8krJ+VGI\nJmjYY6N5dlSweGO5x6g99DX4T3K2kv2nwAiOEEmyB54fi3XSmu87mntZnRE2\nViBqwy6uh2nsRss1Mof+JadnyaTl+WxsBHVfniOcdYJd5KrCLdWvS72kzpjh\ntDYX4heScV0aoeskVzmVudmaSdum6n7K1s9X096H7OrgFuyfG4mzF42+d8/6\ns8n6dBYPwvx+pKq7C8W0Wpn7cx5HFHw1NDgWpp5g/NDC3ah33vtHWk+NB+z9\nCtaU8HFYhp7cSb560+MTjXPygq1UzfcJs6DQrXPOfRHKSzPY/GNR9Yk45+QE\nt6K1mXOWzio4c6L5QOhkPa4E4BaGny5iGtZ+Cx8ILW9OZh93mMHSGB9zu60v\n+KIw\r\n=YgDM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGWUqzC1paUFONkYw7Q6jAYNpZFldEuGL9hDoubtUuHAiA2SaWVXKhey6AfNsnt7H43YGmOtwwoRJOtMC3kuU/5Og=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.4_1631130166418_0.5581283185958326"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.6":{"name":"@angular-devkit/build-optimizer","version":"0.1202.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.6","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-r9BZon2hriHVDoAcnYmsL9Rs84Nh7YUuioiDeJhk1qyuIVHL3akFTndl+ISQQIbNvb/kgZZ93DlYFw4D6DZ/NQ==","shasum":"53b25036a0a87d1a5944a053bab207740956ecc7","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.6.tgz","fileCount":28,"unpackedSize":87118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQlL/CRA9TVsSAnZWagAAfz8P/3cKyT7UgH2kuAx9maK4\n6Ook3hq6Mo2z2k2IyspFQsYNa5ZQhwtoVtt+kusohN9AAcV+IDiYGvFdQLhu\n/jzSpTXj/UaFbTY7e3VRueoOb9AO5Zggu5NZVyk8v288Aev2b1R92vgIJidM\nmrUlzfscMLywuw0MoQe7IFaoCFslD1DgbNXDt7Y+GQwyWBaguExffT5kAPkR\nL8yVdbYVKwGHwC6hyh9yJowf3g03qsjtmDZC06zmxM0wGs+vHPQzXH6CpLbo\nniAaOF84fmT3SF/PvNDb+/OyRdC1YTpoKmitdXoBfQvZMc3PrcNN4rN+nM6A\nl+OH6eppc0XN769ctd8tjP+C17ZnkeYK/O41Q8g5XnbR4vLoowOb5WlFMbH8\nLrZa4AIhFxeP3cLG1K0Ogbk0kCfhsm5jjoJQ2H5jy2kKqrsUy9n0eCmEEDmE\n881A9UNPq1NARnSdS4lGOWwpIKgQS+bI67brHvyhxrFN5LhS9KYiT1UfmwEZ\n3SRdH6skCaAGSeQekSH1CcIv1PPVKxI8XEaC34211Umrqv/9iSOhsK2MwUB4\nJy3LSZTIuKPos9mPJG3L4ylQZPPUFg2YY5otAJtNBRSITYc3j3oFu+EnaI2G\n+ObY3P5/6PKv6R2HoYbYaQiUUpaev1eqB/R1qbAw3Ldc+0zyNbxSM8RhY4NZ\njHbf\r\n=ZIzz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsIh5yX3h3kAdHAnQH6qIEiJA+UbQQRmor4mz2xfyvNQIgX9M/2a0RCnEle4ZrHyyh9zhFfH4Xs3SRs3YFrF9CQZY="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.6_1631736575587_0.6232872287057696"},"_hasShrinkwrap":false},"0.1300.0-next.5":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.5","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.5","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-mcC/eI+X42vrnwdsmHYEDXQStu+r/T6dOLJc68XBqFP8Z4OL8nPjephXbUBX7z3nwvoJNV9tFHvB+P5iH31IpA==","shasum":"b1dfda9eefa941a0d36a9899c88acfd7262f0fdb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.5.tgz","fileCount":28,"unpackedSize":87124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQmKACRA9TVsSAnZWagAAtsEP/i1r29HgrSXK85eBSIVd\nQn6HWPC8t/HSQKDAcTm3fi6uLA+s1jAbA8a/dYJ8uHPJjEhdBa9YUCrEfI2h\nhk5zFyw7k3cY/WjNWJf+eIn8zzZe+/3xPLvfv5CPEr3fMDdfNIDTH2E1SrLy\nK7HoTh7D8RCQVzdnn0Sw27qBJhs7z+tRay2fURiOmqU37ccl49rPN8b1CGOV\nnZOr0tgDMXS4MpksHmKOOQcrqNlQmpJ01qB0tB5qKawSQyTJ7V8JEw6Vqsk5\n4W84XynHvkvQbbKE/RoeQSZQRpsmxDfrwtp50L8axflghm14e6B3QGH5EKTa\nKlUUcFxd78lXMd/DyzYomJFEbQxPmeqSRb5IhurNRWmwSBwXVVX9hx8wmcBy\njKZH+SiIcKAgaCEOqMavKq/vAv8uZ1i1Rp2OI4QoRrxHvlUDqtblc3p/zQ55\nnZ7GwAovcJrWGMcF+2UFyiIMq2bt07lwepngiGCLBZMr5u+3p4XZPSUEZ/LP\nGkwzcqBl436T49bVKxtvLNsverPD1lggwol6JqQy3fFwYWYip5Xl9coHBHU1\npK4o8dRsHYZQtZXbfGOddcMY40yP4+Lh5z/0SA3MpngAIPMQyiAJdbCMOfZN\nBco5uCiUeVEqeEwiPfFGH6K7pdO0PyM1TkRungmnXL4ZL+CmKVK6zlDCN3a9\nKrHx\r\n=d1nU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYbVNzLQYB5t/9tcKrQS6ZG5+d7oDXEuVvZSA/LVkWQAiEAp5Ir3ChudAnevBFLL1kby9NjWzrNiUMtuHi5Unhl9vk="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.5_1631740544502_0.1122117800722755"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.0-next.6":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.6","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.6","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-1qiCzgqxyZZfBtuvKEtXzpQAWQmcYPU7VqtyIdJsfwW8tRkQ+OZrOGG9UdLOjcLw7dpGpDZdBsTe14PaRNTD5w==","shasum":"7156c64505bb28291d826c39bc497921ddfb7128","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.6.tgz","fileCount":28,"unpackedSize":87124,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH9r35zw3MNd4DEFPmhCvNfNSmIfeA5CHWO0ods8F1uwIgbZolieUOuhrJq3FWqR8rBlbPD3gUxBXmfe1VK5SKwPY="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.6_1632353737478_0.5518189324403289"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.7":{"name":"@angular-devkit/build-optimizer","version":"0.1202.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.7","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-/VelwjOjQGZvXLwCuWVJ3MaTb1x0/UKYAqooEUW3yFkv6uXfpCCWywrIBZ3mYrU+m5ZeTjhDY4EFEd2WtBSroA==","shasum":"e9d2239fd49b81ec2c020cc584caaa4219ba4aa2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.7.tgz","fileCount":28,"unpackedSize":87118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhUtq0PPlgAqsniQiey/E2aXHEOdlttZroywqq1COgbAiEA41qTnef6+QWHGUPqh8fsDN5d51VcMpWQu3BgTVQ9kKI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.7_1632359666868_0.5708276877783505"},"_hasShrinkwrap":false},"0.1300.0-next.7":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.7","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.7","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-S1p9AxITIV0Op59TAe1DY/Y66bYaJXTdP9YippOfEbPA6CFw2KfabOGeDHWZf/X8jhb+6Uj2PGTiUd8C4StBrw==","shasum":"f4ad41fbdb89fc6f29cb49cc7cf97ea2a05962ef","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.7.tgz","fileCount":28,"unpackedSize":87244,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhDWzlKipODoggw5IqzOIUvDXKS3h06ZJ9G05Vy4/TUwIhAL8lL9/UlcVKsZYlY0JbTcz+a/LcCqYFN+e0+YUsHcLJ"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.7_1633046369461_0.8576956148972295"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.8":{"name":"@angular-devkit/build-optimizer","version":"0.1202.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.8","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-GyzlbIM5RX5RhnX3wW0YV7K9ctoJQv5O7L/VUuDFpK8yaJjqjC+sZT+rnu6oPGFbPnYMx/BkkxzU2D0z98T4Mg==","shasum":"676f8e3faf132c1b7401a4905b2dc379d91a0dbb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.8.tgz","fileCount":28,"unpackedSize":87118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEIPgdKhborukbJlsi0I5xsNilmVn/a6fm8tD4CiVuwAiBBqQzfVAswbHBqIdwhejgIgloEVU4eOXBUiBkyMiUD8Q=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.8_1633113236139_0.7697708472800935"},"_hasShrinkwrap":false},"0.1300.0-next.8":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.8","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.8","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-/eTh8j2yQYch5X3KgqywMM/MGGm47QP6vtXMu0whEBonjRl/VzeM71RQBMgQV+xNsy/lAJxZRBYw9wJtMmnEFg==","shasum":"be75b1efd406773ff4158ed010928017f5c14fda","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.8.tgz","fileCount":28,"unpackedSize":87244,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFLA3LVF8oaPMU87vAY2zNpR5uYJcROh09zKHPtgoFohAiBnG7XzWCOvj71gy/CVCtNRgqeDN6lZahmG1rPiWA3vfA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.8_1633453846573_0.6522427272986298"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.9":{"name":"@angular-devkit/build-optimizer","version":"0.1202.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.9","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-yDR7f2fRWzJdqa7U0eIYu5fCRIae3tcSsYE18UPiV5ypGK3talMIpZ1ibkklr9Nm9SAB6Js1/EdVBGB5jo3R9A==","shasum":"45c3c7b45126164151e9ca33d0d668a7464a8720","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.9.tgz","fileCount":28,"unpackedSize":87118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOnJah1JHl8QoQdc3yk6uIq7KB+NY9GbRTQp+JofLpgAIgeQcl/LAEvFW4CI09MN/rsNGxQJWbphQn7MvTt47JvCI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.9_1633566680095_0.43290808131968705"},"_hasShrinkwrap":false},"0.1300.0-next.9":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-next.9","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-next.9","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-3jreHU/2ihvksp2p2BFJfq+hcWs1rX+rE4amuGGqumjGCcJCflVyHw29SNWB0QHrqnPh+W4f5dlJTSUcPoKITQ==","shasum":"28dc7970d85361a481c2542279c7b130d1c5264d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-next.9.tgz","fileCount":28,"unpackedSize":87557,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjS2DItiQnS2lQYShug1JaukzoFb0LBSnSodw7K7RJHwIhAP+kP0ZJ5pThW95nU7ol7HzXhqwBnxhjwggJ7Uwb2X0R"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-next.9_1633569225441_0.10770723119940118"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.10":{"name":"@angular-devkit/build-optimizer","version":"0.1202.10","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.10","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-NcFEtj4Vfc7gXJtXEVf1mnpk0CJ0htlkm/LbidPcs1PEQbJ/yDgZ44fO+53Pt6NzLmsmPHXOmRzN7O6HkxolPA==","shasum":"f72c76e873e10139e95633d0ac3c4c8112d3f40b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.10.tgz","fileCount":28,"unpackedSize":87119,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/5+CQar759aswZrppyMnTOicE1XjsfJc0QiliXOPKjwIgB/Z7PQ8Kd6n25BJYX+LVGTS/OLKKc0jZPjs/ILCZyuw="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.10_1634164376545_0.4142770904001982"},"_hasShrinkwrap":false},"0.1300.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-rc.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-cwOXDkuilPiIJ7M6PBlNeZbLTUNuy2ZicpbXgNcm2Zhe9A/Gk6WcDAvSuFQ5rhoJicTTbwOdkwoFUQ8HEjvdjg==","shasum":"941e3338b504424cf0badc522afd65bb12f9aef9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-rc.0.tgz","fileCount":28,"unpackedSize":87566,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHOuaNjupm93/zEU9Su0XqUsJrHPvb0elYEwBKlqvbfkAiA3ewv0WC1Fj81/emUSia8IAdj9u9SFlSeMDN76P3/w0Q=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-rc.0_1634171407704_0.7499643318364304"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.11":{"name":"@angular-devkit/build-optimizer","version":"0.1202.11","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.11","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-3iU2q8QYrF7bSxffcrvYrvs9BQrLGHLe3MFyNfU3ps38c6CmnMsnR3RODmDZZgkgk9jN45y+WGmkF46ydiOHtA==","shasum":"7e94eb20f7277b74a73f27ac3212a99df2469a29","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.11.tgz","fileCount":28,"unpackedSize":87130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG0cF9CQuyY6WQIil/waoQ6pk9gmdFx3+HEKQVO9B6SlAiEA0ouVT5sQPKUoBGqqaRBcU9w3/XDWqL3jaImGVtmAvok="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.11_1634769733481_0.34105774082962625"},"_hasShrinkwrap":false},"0.1300.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-rc.1","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-PdjtlFpUTRoL5PJ47kn+Eq0/s1as56uFFz5DG6JubDdsAqV+Wa7h0K0YfpG+zPhkLCQZC0fXGThCxuAl/BInMA==","shasum":"edc2bff622d6264db7e7f2487be9800f53f238bc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-rc.1.tgz","fileCount":28,"unpackedSize":87566,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLxXFkQfcqEYd8G2mox2nFb3mqfi9P0QKe94MxvogOjAIhAIziM8dHrZ3i/+lrYw6KP+OXmgVnPfbEE9XStDLIvROx"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-rc.1_1634775803818_0.5112971875447647"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1102.15":{"name":"@angular-devkit/build-optimizer","version":"0.1102.15","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.15","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-MFW4H25BE1tW6kC7DhNbAjNUNd/w71vO1g8P8OG1mWUVSKkv2W+WhPjwLqZ3TlHbSXiV9OEiOFR29Gt5+5wE/Q==","shasum":"f99416ea3468b1747d0521ee6b7115e4880dbba0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.15.tgz","fileCount":30,"unpackedSize":81249,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLkogOEbBhV1fWejZUiZoaofcC2BoQLwjLhfH9/AW3CAIgejjweWs/3386aZmqoDIpSAAPf5qQNWTcIg/Y4PgqbMs="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.15_1635361671187_0.05065219469595039"},"_hasShrinkwrap":false},"0.1202.12":{"name":"@angular-devkit/build-optimizer","version":"0.1202.12","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1202.12","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-EUTY8PmST6Br3QiVqsU4W2b35nd/7iM9EygaFsreffd51P+eSIAFmxe1L/bWZuKpcptiExtYY4N118M254w88g==","shasum":"1afee251e411a9243c084a79d0674adf941fe57c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.12.tgz","fileCount":28,"unpackedSize":87130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH1S0Hr9oxPcnD5nBZyejKJBXyuGrd+TTpIE5KdlYa9mAiEAju/8knb1MFF49fTbfSvMymuTiWu8UwLHUxDtAp/gE4s="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.12_1635375931160_0.9816156914364664"},"_hasShrinkwrap":false},"0.1300.0-rc.2":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-rc.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-rc.2","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-gebqgg0BG1fE6SNs5IJoGP11Lg84ZTgpWK5zxk7zCi8Q9EVI15272EQuNhDovC+0/p73US4UNWA1VarO6jkgpw==","shasum":"8900026e435e6af699d50e4c76f5b3d7c00f49fc","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-rc.2.tgz","fileCount":28,"unpackedSize":87566,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMMArO2pqn1qwyfjuq76wN4dJvklgpjtZuYidqxn6KZAiEAvS85beozYtt0zBjurvC1B2Uu46X+DHgYwDqzruEtqhE="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-rc.2_1635378381636_0.869408685822189"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.0-rc.3":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0-rc.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1300.0-rc.3","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-7eNuCF/SdSxLL9zdxjzbszvugI9/0hgF7ODSKSo0+6JsfDBHLLrkoclG2mYbtsqnD0dl6KVyGCBiV6whMnRx4w==","shasum":"cad54dfec57158d4c1fab713b7d4a1277ce09461","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0-rc.3.tgz","fileCount":28,"unpackedSize":87566,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAyozSxSB57dit13ncKLM6coejYmeVMUjPnI/Mv/CsVAiAEvPXB9Ia30KRbSIrbXaJ2JZ9dTE1oXoARvuXvXlj4iA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0-rc.3_1635878156413_0.12474486338180557"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.0":{"name":"@angular-devkit/build-optimizer","version":"0.1300.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1300.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-cyzDgc0YStTOaFymVKGIBWKVMNVtBT27ZRdFT/QJIoVmC8YHmBAwU9+kezs7NzzJokwlW2wQ2/XUd4F6HYEjfg==","shasum":"537f0dd36c4344cec4016bfc1cfc7a0f17584762","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.0.tgz","fileCount":28,"unpackedSize":87561,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKXkEfH/OedWOPqbGm5mJBBndYEWMxtVTlEvK/2Jlk8QIgbjU7qXHE7WYcHkyeva30eLaCKv39XYZ9OAarU+QBBcc="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.0_1635965676979_0.04762044451152403"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.13":{"name":"@angular-devkit/build-optimizer","version":"0.1202.13","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.13","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-XX6rX5+mAl+MiIJDvi5N5mBLWOoskhMJ5r/G1PEqv0CMMJSSw60zUTndjxfq/nrX0PtsV3j/aqHN4Sj0w/gumg==","shasum":"7f0b13368cc2a08b1f4789ab1296a1609f5049ea","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.13.tgz","fileCount":28,"unpackedSize":87130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrIdjCKXhHK+0ZryFyAklnatDOyFbMEGiQoSnMut9/4AIhAPHI+UkQMk52iOYOL+j+SxnqN0DiNfnfsYN7YoiCBwG3"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.13_1635974841770_0.4049349735139285"},"_hasShrinkwrap":false},"0.1301.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1301.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1301.0-next.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Uz90TMAvLZapoJ1ALwGj6q6byMBWcCRpzUdzR0xqEOQHH+hMKxLR2RwSbdE8sMNpJLjAdY657HUTOSlyzNPqlg==","shasum":"a3efa491e7e83dec561a91766fc53a83b4f758a5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0-next.0.tgz","fileCount":28,"unpackedSize":87568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw+iWrJEemyG2D+B3uqu5PK7y4S2QeC883CG8aC0P+YQIgKQV1K20ID+Pw5DE1hUmEUDY6Gli/iP3ex0D+HTUpS14="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.0-next.0_1635978025012_0.3377421892012169"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.1":{"name":"@angular-devkit/build-optimizer","version":"0.1300.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1300.1","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Y97HdkZQmKggDrAvgqKtikYKwwuUiHdQPMxmclN2zlw7vskmkhLF3Te1pWW/i1W3bgcS4nc244vf/cWLhyTy/w==","shasum":"75019895cc5ba256b59018fe82019ac5aa2122eb","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.1.tgz","fileCount":28,"unpackedSize":87561,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5QsmpxHSO2GHOuJxdcB5aiUBz3ASIq3XEtNvt6LjUAwIgWcvQvzZ2YTd0C5pdzmI3mPtno4VQ07a0pnzds0Pdzu0="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.1_1635995385893_0.17221912538444384"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.2":{"name":"@angular-devkit/build-optimizer","version":"0.1300.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"d185cf81f602deb32f79da4a6cd164264dfc2eab","_id":"@angular-devkit/build-optimizer@0.1300.2","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-gQlOYeXwG3xexXkWSC2fqb9Hb0V47hXO0txMPkiqw3qxhBAOdxBOYCgs8Yg7uEMkoNEGEFloj0H5p54o+2OmYw==","shasum":"e78f5936b0b1f4061ee7fcbc352e1f9f5767bac3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.2.tgz","fileCount":28,"unpackedSize":87561,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsllcQfuVW8h0OBkogQl6Ph/mcYSGQhrBi60FFAxZsJAIhAN1Gpovbi27QO6weu7P2/2M45tqjjFrP8Xcgo7qLLoy6"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.2_1636590072047_0.1794218674436454"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1301.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"5c40cd7d108d9823e80a21665b2c54ad6b2da80b","_id":"@angular-devkit/build-optimizer@0.1301.0-next.1","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-V4wzJYZ9d+ZAEVWvt9X29Q8PKiUDve0Ow8nHtVtAa2Pb0gQbDCU6p2ep/1LVfewlgSf+T5h76u1lb3LB2xV0+Q==","shasum":"df27779693fa9599ac2f7333153f7ecc7709282a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0-next.1.tgz","fileCount":28,"unpackedSize":87568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBx+iw4XMrjOmei9gTZHu58sHCl69nzUOVy4nMIE1+OlAiBTNhr7M07eVTys3QKhjxyutHTuF9Q96Zslecj2y9go9A=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.0-next.1_1636593084022_0.35688192492230586"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.3":{"name":"@angular-devkit/build-optimizer","version":"0.1300.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1300.3","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-dlTMQ9RBPrhUyAx41aqp1f1b7TjkIh4Ydnx0iMPi8zYJYuyUzNvqQBvBE7POQjeIqnYlL6AktrUrCY7Wul9T2g==","shasum":"d5af19553193d719f613814bc28b7e88a68beef3","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.3.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlZmkCRA9TVsSAnZWagAAYpIP/Re9WYMxTnBKAcEj2Ysq\nRT6wV4re62Q9+RByKeQs0gCheRjAhGpxbSQPFchVNrOUrUyrP8e8yEjCRaGJ\nIZd1xB6zVe6nAdIODJXCQz9R3ZxoICSroNmIv4GqZYfs+uZfLcYyhIov+oSz\nEkP+jPj3ixpmUCDxn7gW/kATe3eMW8NwlJN/eGcx7ZY6HRnNWXB3t9d+HF4i\ncF4v54BvS9UpaCgMVN+lum1L8zk+B9FGojD7A6ljlOqg1h/MvL+34TOV5HJ+\nC63fEj3mqBAXSZulULI+MdWKjpwCeB/AgwTAWmepY2v0/hhln48liX/+CJpa\n+T75oyIsE06TjRg9WeZl/A58ThzhUznWr3vUvipPfKtV26M1H+Z+m695FHCv\nLBhxs3TGpPw8okJkL+dTj1CdlC2YnQN17KegSXLLPAtE2xjITlEtT5rnOGVQ\n524wGtnHob91HxxkpYywO1P95KRfnrt50Iv3DdTT7snyzoRi+2YJ8FMYd/uM\nZLcedzX80cOQCfCPhcLBWgG2lax8131KNTLguQV+s0L9+UouEgmT6/lYhG8w\nESoUH8FIn49Xa0uaOsuIpJSuO39RHAN2btNewNwWXoG5cVG6RCpFNejOJ2fP\nLOC9M18c8S45jvATKV+Z/80+D66wOOsVhCaZZgIatjbbcgVeQO72JyBqgfHq\nUdbG\r\n=PbSm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJ50MxUHe0NQN01/cKhOJErSCO+rW9milkSzRsKGX+zAiEA4GNCHrhBsqr5CYocjG0lpz0U2tsI5svggYYDSwvRNbU="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.3_1637194148660_0.7924430610988962"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1301.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1301.0-next.2","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-t+YbuNgMljgsEPXktOWF3LEb+tBw9MKnmElnAEFhfkWM8hou4Wr1LCbgI36kp1qlgi1/JEH621RGvoB0FkPSqg==","shasum":"64a41afe725a0cb2bfa3d51fa93c7b98af04dcab","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0-next.2.tgz","fileCount":28,"unpackedSize":87568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhldqJCRA9TVsSAnZWagAAw9YP/iQTNbzYiKA2LfxmuPLS\n9ciPwo8a5gTnJEHYIGm/x95MSCPwKcVOjHNSx/SaQ2cK1EpopQW29nCvsCZI\nrI0TCUxEgJU9aAQo4LVvIO6xl5rVYhLxMOXCCloOKmnfKEQEh6RD1Ov30LkO\nbCDt+3W6Aj2KGGLoalir/TChugCI7wgVLyflSzEFv8TUdmrQapqlFtoREpSX\nAELoehEeUp8X8iswaIjyP0Ld9KJ4rSrhjiHdSXIeefQrjcl3N6OcQK4d/61x\nPVFAM3D9p74kzhpw/BvCKfGM59qKiBM/OrE/NQzpmyghpEtROmRGdN3SWa53\ndcp+BEsaeltRGHt7pGtAgAxFsYnR86BZhB5AbuBv7gNLuDlRamJPEllmrBdI\nswMoNnhmDc1Qf6gEVlHv22UUO1Tov0XjNIZxwCDPLHIB1XQK5nXG6K01svAF\nvTiGo/qP3Pn+VU8kiHzOeD5V6Y9HHICtbsgpGgnSzFrYEbg7FoWKn5ED7V40\nDdrb5/VL9vkIWQVhc+pkWFB241CawcChZqr/fjiHgqgxiQUmp87eRLHZIOjC\ngtFq5mdudNfR3ZJGNxQufmo4LCl7E+riqGUPpozHMub4X2DQexBtQX272dJ0\ncaaqGekx7FsOkA6OalX3WBiSfnaUz+pIF0EmN758tIAu+0DnzoksZfKx9SyR\nxrwT\r\n=EECo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZd5mZHOxHOtU0BA1l4a/eF7TASONKhaRvW9Rl2zkMmgIhAMa9900zIUzrgO4oK76NxJ68xUh48prU9ouDtAoV+YXx"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.0-next.2_1637210761156_0.5076208415202599"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1300.4":{"name":"@angular-devkit/build-optimizer","version":"0.1300.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"1441af79d726eaf5c1bacd30845d8854d0795654","_id":"@angular-devkit/build-optimizer@0.1300.4","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-vGWZcUKp6ET91fQa600uNOXrkN/vhP73s/rfse6YwdTWgqFLOTTt/TH3yIG2SBJ2IZOPIsgfJy2KmioOec72QQ==","shasum":"69a351ad62a00267f5a2e81c1b2fbcd75d6da6c9","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1300.4.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqAtcCRA9TVsSAnZWagAAUiUP/AhxeWQqw7rWFyBFTxuC\nzG+8aFNBHUqqPzo8wjN7zihM6n90hnpl0R984ubrQ57g1pG27x0p7Sje+TQE\nqF5GjNEphDgBswL8Oj/Dwrc7jZ11rhBlmMOSdpjaM2CYMixmXKXHCNZnousT\n06A4vGtjLYWEHRyM6eci4RCZbZX0PlMIX8tH61tHrByYKVWP/fvZIQ/8buy5\nVhsVALUigaEi82YxEmbrdCJEyQ40pWRS49npxqNWH7JyP9lGZ2kGLSefH8tK\n2AVrQXYXm8CtzHayUqZhlycg2o7CtRMpTuOM1sHfz2pPDyxduI+pqrTPe4gR\nsngSrxNJTrQFXscz4i2p4TnVBD5rkrLs3KSDW2VDbroFR43qUH9/8feBX9GW\nNhwbc+9Lpol3MJXEsqfohg7tRzZxppnWPDh7zkSRCHzVECUZxe1z1v6rd1Ye\nMTU7AloWCAvRN07+rbPJ4TZy8wgYlxIrEymltFB9KnsISuXA2YKxoGaFe6/e\n8RAmT50jgZ+BAJqVCQTBslxGX3wd7CBWXZqsZym3YrFB4I1tlQriSJSgNKFF\nMYMYlPDQstHs7Wyg0f9MoCKgkE93BOxu6OBWsEvmHHDh9R5Dve9eZ1cPgpB+\no5LKfphOafa/kXk7EDfTQm50cJ6IQb+CKCUiC0UO12NPN5p3+oZ/x3fqfr9t\n2eGg\r\n=Jc6h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIK80AMjjhs6/1P4FaPZ9mPdlEEtgroz60OH3mpfwQIgIgYuI4WrLL5SpuYmeRa3QKxNI0gW9HGEkdOPXfVi3J8Sw="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1300.4_1638402908326_0.6413092889174457"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.0-next.3":{"name":"@angular-devkit/build-optimizer","version":"0.1301.0-next.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.4.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"239cea6b6b523e86435f6ef1dc111ef83029f27a","_id":"@angular-devkit/build-optimizer@0.1301.0-next.3","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-nMX2kj2TITI26klUuC/PPMy4EfiyT5HFosZGybwkjUm+r8ohCl8KfHtn/7x/hNgBqZY+hlaCziTF7Cdc3IUVxA==","shasum":"4e6d33cdaf94550ce6ae46ff00423ec2ec85dc4d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0-next.3.tgz","fileCount":28,"unpackedSize":87568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqD8mCRA9TVsSAnZWagAArMgQAIp5Wh8GdvY1pPbkqFbT\n8MGwa6h5rZQHWbMTN5S6hvjKyDydNdrRkSMqKZZ9t0DTQ87Hdjk+fwz40r1N\nCLVryOjnnQL5VAFamcXhC6wiUgxgEZWu3Sl+jiUET9xUsM2PusDUaU5BDoJt\nW2PzzbmedARTyPvtxTwnyGk7ETOU2GW7r66IoOH7H3O8MlSW2C3mbll9o0GB\nugjnqNY1iPDubEBUTij6u8IDpRLygGdR840Y1QOCS570usfXbkx6HgpGOcMQ\ngakPm5rsZcnEexoSNudcw5v/tZW3QA27HfpTwTt/k9QXcAIm3DsHUT/M0A0X\nHTG+dowT/8xcsawe2bs9rlHVUDj1QMn7T5nxpllxmojsLNvjgfH2aY6Y0UBt\nAt11M3bZQ7xaN8RNAIg082NaAfM1dzJSIwxwKdkpzPQQZ5J6ZYtxOn9zNeLT\njH+I97ucKkznY+9GYV4NqD4xc/xQa7cZOc8hECxxxfxNaUdFupJ/1fzAhV2a\nxB7rDArGgwMte9xU8huE3HEHyq8P4WIY7C0P9+1fQEdCbPaP6/VGlJD49XWT\na+BSbq4e85ogXW7orm8Piqs0JtJsy8dJmOHa4XKK9BExG79sN05BRXIWnx5w\n0DdEesVyMLVmub58hG+u1aKpLljuZOWjeNC7+CIZlvJigIoroEkDSDT1Eqmp\nzbWu\r\n=puIh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBgBLZrMo1JQAy/Q8epHiOURQ/9tx5LNy1y+Lx3H1VRIAiEA9N1IvXxnQBurUbHNNqMFJHsEJkojPBUFf6pWFwUnF5Q="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.0-next.3_1638416166259_0.10307865558328522"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.14":{"name":"@angular-devkit/build-optimizer","version":"0.1202.14","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"44bf87f8f0feb87993c646927bf71f2de60fff73","_id":"@angular-devkit/build-optimizer@0.1202.14","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-I9dtwE5g4ZM2zJF3oveYhk6yFY2zYakONHyuG6YWz6oMBT0n5czggWZ2di7oggciVVdoyrTlHiApZnttQJyaWw==","shasum":"7c4af435aec461bacc8a66c4e479070076ee1234","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.14.tgz","fileCount":28,"unpackedSize":87130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhr6jYCRA9TVsSAnZWagAAN7IP+wTHURiLaz15hcSWVU4l\nmtiNbMxQyEo10QDTG69ojpJvYbgCZ/FnP11n3+R7YHVvKoc8gLMAoZoLcE/T\nKEcI3kPq4HNJORi5IOfcVycbZgtHOCkuoH6zxRzhJKYLUZ5dqUx4uC8xEcuM\ni3eUrXbpHorFwhaf+iximLx7wmO/qcoTSQSmzhL7VdgX1sDqs1Pjn7S+B/YL\n0US3DLMUa58mUsdxTXsx7eHpQWMGUl4RVY1SLGArYs0Q15m7NaZlJbnPMji6\nWsVe2aq62wj47pHq1ETjrpSFMo8IEs6f11CK5YoPLHa7itywvoGHVYMMQz1J\n5/KzcYI0+nnNYsF3EwF8IPdJjRZ5xccdi7Mkf16XDUMi1yD8iSr6xXMEeJfx\n2wYnOVD6MQzIcc6LlW8pWDRaqPegprLiasN2YBWWPjEkrJLjFKJOkFVQicao\nDOWmcB2xPrBDbf0epS9CIO2OpEXVcSn4apuXzXKdJOdQrBqwq9vJ+f00TTIK\nxmqPxwmns/XLrMX2CYQlliL7f82Zo6mAslk4/GO7vYF2LhQZ14/om4md/1lm\n1XebPGKHYkn7x/eZvvUxw734pU9hGhv9A5H6Jg4B/V8wvWW4Ww83E2VWPUHi\no7Z1p+OiP26AS0V0Zvaiyk6QP+TzdRLX6FRfqq9zBTlIWQgW/ZVsIwyHP45T\nFJMm\r\n=F9fN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4btjiD/L3fYz0v137tzbTb/sAb/VzoeyurIwB6YoGUAiEAgRy6hcdU+cqsDClLC04/HLmBvaNVycf9p6bKTV1I4Dw="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.14_1638901975824_0.8018119564117114"},"_hasShrinkwrap":false},"0.1301.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1301.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.2"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"6a266bb8d7320eba2f9b9df8d02d6e1fe7d73a10","_id":"@angular-devkit/build-optimizer@0.1301.0-rc.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-VOdnZy2IWa3hEdPeCsoLt0tCidljfT2dLRPRr/lZmXH0/X47JOyzJE80DqsgG6//sAlul/MSecJmKALA/Y422w==","shasum":"8d2d61c2609b48e2998a1fd396247e7e335fbdda","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0-rc.0.tgz","fileCount":28,"unpackedSize":87566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsndXCRA9TVsSAnZWagAA5GAQAIQ0y7cu45KhnqQ6VNou\nMRS3giz0UdU7pSlxyC3UhNVOa18NIOx3CvSgcca51jccfUUcc8F8a4YZwnsp\n/OA+QZQy5AvxiDWV6UIcID1khne1cBhHcGnZba1PA+FYEs0/88EllIH3aMND\n7AUx0VMXoznOpCF9e732TBR7qDz2iE1Mdta2MQ6vGivpOCKbPAEKvN5Bg4jk\nQhmYNvIimu34OcBIqrlpZRh92WtHSw1ugijlXccZSGKhQy/PbYKgIVnD0e6L\n0hSPqzlmMw+Hjz0GIlucALjxJ2daKaJAM4JOm7xxnxjb8RkSA0deU+RE0S0X\nRPpY91MeYfKWTbaHzTuA2VCvIbJYMrfmW68OkjqW1WbMwCN653vAsxt8iDt8\nLI4EygP6XxoeMllamfsGPOWx6O+HKEmmmTHv6AqsGqsbgVP14fcxwpxYju0u\n1VfGOLTMi6MAKfFT6mKC7oG/9ebudTSY/D4a7JLpGXa2IHwRrzA0Bf/fjOWv\n3lhLvs2NfOcA56lNwGKBibYg7dn0DQDz3GNCO36z6yvjMZj3s5vJBcGGLDVX\nyLgEjb2PVr3FXH03eWo/JcP23yqB1V3JFCC9C62tBTYUray50rtk6l5VhpAL\np3+dqr1ft2BVZB8li2najJD7FQWeLh22yEbspFuk+GRVGsOL+j96Z6fNjzwl\nP8du\r\n=PR5V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNLl682pP645cR0yQ4rDOc6B7IPrC9Ihv99+/YUHtyuAiEAwzdmz7ioR6LFZ9lNwBRc3e9tiOgqO25BEawNNX2eZgE="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.0-rc.0_1639085910811_0.11997457034734538"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.0":{"name":"@angular-devkit/build-optimizer","version":"0.1301.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.2"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"f19408306c49dbcea1b038940a8a2df2405a92c5","_id":"@angular-devkit/build-optimizer@0.1301.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-tkCk66NqeucjSP1WAYKgDchGklQZVWaqEBL21ZWBzuLTbvdeC+y8cDiPGVy3mLXEp3Q4+LH5BG9X2zXCBu4VDQ==","shasum":"57501cdb00d649cb1a4847dcd723fd959b3724b5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsoOOCRA9TVsSAnZWagAA3yIP+gKQQi6Pt+hxVIOpFryj\nwyLly6jCnaK63bpnfcJKa823KNfx8a/M95yOSBXJg/bbo2f3yPV67qj7v8Ww\n6jCOhH/ikyEujXT51fm2kbbdkl3mUUrocN1f2t2hOIpFFZjP3sgk6ix0JEjp\ncsZZaq4yYWociPprJ3Cy5pwco33jvd9DoPjGOSpgkiazb4Ib7eT/D/HUFFrN\nucyDt9J4iY8eoas5ZwUwkAeoXcb8FmtUt+sVs8oOOzHIpHoDppMbwb+dY+sl\nDkDHuAjTamjHbxe1t+8UBYERxGdyIYQIk0Gf6yX5MKR55CN5alvzM1ih2oaz\n/IiCW1btZTROBNsxcqib0naSUskDrczDF9XDp/wZ+gifMfz6+bYhldYZ1eoI\n9Uscf46dgQXBTdRjroYvaDg2Dzj8l9e2p2tthDgZJL7So8fEmyIs1LbWo+X6\nOUcTciqnv6h78JY2pM1UKOZ/lEQTe0n01aNyZ/Jf9JaQkgBY+bojTzoEyPzP\n2MYG1zH5vEbSEqxO4kFQKlY9/Fyk19C1HbHzAONKxMAAUeug/XPvDmBlnwib\nWEi/FpE/U3B+CDPQ5g+AlUuLUvj3EllpO7sMzOqK73BLO+nGTEfuEBrwYQZ/\nmAWcf2ktM28lOqz7Xus51gIqUoT6FnoH+6ll7G7fEjQv7HaBHjIOk0sQKQdO\n0zkl\r\n=aLtS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKUdZCC1qxca1UMIRpUAYmMUDKTHo/DyPVdJh4TulXGAIgHvVteakLuAeD+kjyOl2lFlGMqwb55GT4YJQb3ui+nYI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.0_1639089038329_0.11283180356600186"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1302.0-next.0":{"name":"@angular-devkit/build-optimizer","version":"0.1302.0-next.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.2"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"b33687e304abb8de76e20ad655a712017f577bf7","_id":"@angular-devkit/build-optimizer@0.1302.0-next.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-w1Y+jsbFuY/OJCD/5ZWVibzh09BpjIqzuLa6T2TAoTZd/nH0dHrPF6fKOkYXH48LgNXedGIxP1SvTirAlLnXtQ==","shasum":"5e8aea880b176c905c283521b31a1a42d8a3d0e0","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.0-next.0.tgz","fileCount":28,"unpackedSize":87568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsoXFCRA9TVsSAnZWagAAMlkP/iR/tLTafTB0UycTZXPG\nd/W0UUSTNsa/rPMoMk36oay/EX89K11jChlcYXq28KcYkCOrFj5TMyvoMl9e\nUjIuPfXoIOShp1WvaLTpy05aHwgDgHfLyrhaO9o4+8+tPneyNwQlDZy+5uLl\nE2FoEfn11NkX6HT4RrRCwXoNdlW6Y5i/0bbty4LrZlIgnAxeC2bl7R3/ftOT\nPiACPSLmw99VUnxO/SytSlL8Ep7TdqPC04zjAf6FbHGVQHyXvzFbczpkzmQN\nHban5FI94nQ5CEwE6C/VqssjyhPwA6YtAQxQuC1NrBhD1SHXS2dO+3PKHhLv\ndw4mHcv3cbCtW97thcoNS8DlBPlYA9tNs7XqRUrDOsL69DvRol3EhzTJ9Lir\nM2FZylitMYt/eE9JfnAJPLYt/rRiqhUlp/1Jfx4po0IicQsX03FIWMjMxthq\n1+fLgq+WMBue20/wPwJySMqRaYoJDRaw5JQrk0ZnwuZldppEocOVQtGBzA/N\n6pPcM59Wug7uHqadiSXB1t+IatB0LyfXWrdVZBQJG/E23ezoYQTH135zpFvh\nrH7AB2InzvDtRK+IXHHKcDrpaIUBifVddxv2PqIiKZvbvyAEX5f+o98EY28X\nESPf4YD5lC2HBrmjMXLvsI/IVXNFl7AdsjUk2SW1TlEXWQb0KhZH6T6SYi1M\n9R/Z\r\n=MFEq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/nrxONYufdTupJwnE96H3I3wB7LJK+avNPcU5D3PmIQIhAJwA0X4MS5GQjIs4P/l1QklG9NszTlcFZpIA2jYsK7RC"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.0-next.0_1639089605534_0.7885973030515783"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.1":{"name":"@angular-devkit/build-optimizer","version":"0.1301.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"8379414895bc81184f8438bbcaa282d35762de1a","_id":"@angular-devkit/build-optimizer@0.1301.1","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-FND2kw6CwI6C0xqyBEWVUoisU+b/Oh4ZK5t0/f1JYqdE/vgXQsJAU5iHXdI7OoNo8WXN8K5OmQtoM599dvpNCw==","shasum":"d60152b335c686c34ca6aa084881e433bb626f5d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.1.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhs4cxCRA9TVsSAnZWagAAtKoP/i+HQGcqMzFseLyOJWS8\nfKtMLPBcvesoUA++MjJfdBMLP5mpSuVhDu8eiSUVmWZ5Nxine2skAFfVgHfh\na9hA0RMmOAwu1VTuolo2WoTdrV6ngdm4A4mbn/k3iPEOQe/IRufHqBy0eCnI\nr7dubrvWv/mtJoWifzFKvWikhfbcHg13Ek/JMgfTO7WX0TAll9XWSuv8Gt48\nPmHa9iSA/ZAKMXzP2k57DfC+gsrcrnbkIS39sfQgZ1BZECFThsoUW2bJXX/D\nGLoSCYgevp6R0EPDBetYRg+CsatvD8U1uUDPI/qnnc8IDVtD6u/HDjr6/mmI\nQCsMtbpYXYRs7sZzr2xksv2QueZGPTdIz+RWNDDeK3KO6Do8OpM4pPqzkHBk\nZM16qLLnVCabHQXNWmoDBByNo1x2G+fqxp8lmwY5tLIYM/sx82GDl/1F5hcs\nLUe+jcp4gQFznMCVCPi/2zJOxrSd7R//mqeoGQv5SgSuEtJDg7mPiPb372kR\naBAqsMU87z/8CvmTJ5bcto973aktpZnO/2Djx4A+4pOaWHpu1F3QXUfu3S9r\neRUoVFV36FA+ZG+8h0Q7/DDwKyu/Z/W2ekac7mwJG1TP7EObC8fGF4Xig88H\n8la7FM8by2jNisLutVGrQu2VXrrxZi7t1sCXCEoj8vONLU9bcsqwjhyUG+eg\nAyO4\r\n=GQwb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG2Y7zcl8GCdF79alM6M0bxTPPzZFW0RSsmRmzIIn6VtAiAXLgJ+yraAONPUAHgeDOUtjcJTfeLwz62s9QkUJ5P5MQ=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.1_1639155505326_0.7340087741838148"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.2":{"name":"@angular-devkit/build-optimizer","version":"0.1301.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1301.2","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-HnFAabI/VFhQoGeMPEbcZ4COXrRVW0cfFZGv2DqvJTp7G8gqyIt+J1MjMcIuml7s6FoefGM5lMoVBSl/I9tpOw==","shasum":"23226944f5b8af211601364db8fcc92f896494f2","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.2.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhulLJCRA9TVsSAnZWagAAGSMP/jHgBzq0oxTDJ+Z2sDh7\nG2a1y5eoYHcvzT3sY5k0YcHFwKSOy2u4WSXuvEdHC8+PLKAYtun3kYx37ReX\n2SgPgA9w+8XAV30sWfBgB4Y+z2s0ZncGboTyf+BKxT4zhEUNGLGwGYAAeCV1\nQOz2l6fHinuFTMa+NiNaFuJITJieY6FVE0s2SlXv+eHlsuFzyMTIBrOhWV5M\nQHKkBEb7gg/7VlGHk0LMxxm8J4Gd1XulSZBTn6LPuWQ4RnfaeoFrKCxqR/U4\nIjwbxUlRQUr02khdK2QZwKJdPGZ6RB74kc1rlCg/+/ym1FOvj1I2hJtqtF86\nq12IAxb8QauxYtM9QLwGl4AZw6/CGHZU5Ax8MsmtX7Pluc8jMgak3Bbcq8pe\nT6iGNVrkxtV6iDplJg3JsR8Bq3R1fCLyzhmk7L80ci6fGXhkrNQrVp+zym6C\nDvBI4mOEp+t6Kt9/VBOUvgaecP206CosWTyUacoSXOY+vlWDMPbg3GpvmRAN\nRZSO+oeXzC9LlMm0qSaUi/yYh+2Y7kdti/5RkkhuWZAq7+9ouVEIC/gNFXg1\njQogfGfAhdiZ2ROBUru0+MZq1MMfBQT3QtKmUKuZrXwHZIjN/1sXf/XLHiHP\nny24q12g7Jnj1KhI7ZxlxPawJrj6zTabcT7RgdiQpf7RFPgR1Y+u8tR6GNvy\nI9TU\r\n=Oodb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHSBh8GaRF/kEkjvfbGtKlaEOrPTMTXDpuaFFBFksToAiEAqEYnq0GUc0j3cxPoO3SWl7G62zVzIU3KZMbRKDd7cSA="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.2_1639600841578_0.46294893555924976"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1302.0-next.1":{"name":"@angular-devkit/build-optimizer","version":"0.1302.0-next.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1302.0-next.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.14","dist":{"integrity":"sha512-WHf9ikDn3d0tyhjb0p81YdFAQeXH47FVMT0Viqhj6FS9Fh2iFayCyou5HNkxqXL0ioNxvXRUd9C0zUsjmcwszA==","shasum":"4c2ae5eb0b83acae698653d038f39470fce06749","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.0-next.1.tgz","fileCount":28,"unpackedSize":87568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhumfeCRA9TVsSAnZWagAAYCYP/2jDN0hToUlO7khS+wKl\nyzkliROFUX6GbRVHsXA0NW7+p5EuRuRqmZCwTNyRy08G+Aa41D7c0AAWLPHp\nYWBMFSbmMVx3BcHIDOwlbsYJpt/4j//t5nhK/aeX88Zsx4/6c4l79OKyZZOk\nZGNGBtDYQixDZ2uxLhh4VIyLCl5msGowJg0QgCns3YY0PHgeS8eW+Cmu6PF6\nyo6YOeiJM/mvNh5FyKKqb/jiHcmolBj3TOwcyYdpldgRl7CeWrp1wETVQ7rh\nl7B8Qygb8I6Qhc8lEuKCvFm35e+hTtsuAIoKDhVts+lVxipK0wXUWtcJewme\njYqzGkCeLV3eTPVBI4cjJAaf2VkxYpS4Lk+/t2fKmlvjfSmIunag5CbXQzg0\ncthbMbbkSK+e8UAh2VqZldZ86FHKbLAbkEcJ7eyZY41Cei/aVxle7GAAYP2X\nnh1z80hcbIvwzObRIOFWR//o4lyjgbHfpZNdvC25ionlLPxnlO+iLVy/Tsdw\nXmWhJqN+6zhmoNmgfsnCc1ZXCWTnuezfLSuQaDvpq3ie2FOYUqCi0i/SCRop\nKfJp8Z/iynNeooXPYNXR3KpHLDteMMRKYsSxlcKO4MKX3371SoV7PzWMAxUx\nGFiXRM47JUmsHNBuSS7dhDizt+UvOwP7r2TiiI2rT3KmhXeVdQD83hirC/cx\n9Edi\r\n=4UKP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIHrjsHSohNJmnSMmnYJGlp07GeOOyWc189byXHOJj4wIhAKdVdXLWSQK9VBOvPVLVu7g4+ypRYLZQhEXr2l4V2G+P"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.0-next.1_1639606237985_0.3725997130512628"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1102.16":{"name":"@angular-devkit/build-optimizer","version":"0.1102.16","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.16","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-1zwXyFvefez0oKSb3IcIjShRlM55L16ul2eggsJKCnZGN1SpnidegMxU+HvPnu6nyLWMmyqAdHvMSdTxBBT9oA==","shasum":"953749124c1b74d28fc0a7cae1a951e232675e15","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.16.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhumlqCRA9TVsSAnZWagAAwWEQAIt6M1SXqCxz+vzAVH/Y\ni+CD29PVFAaRZ7xAvgH7UqWtzIQutE4oFABoisajVwuN5UDxjWLmBCm1OBPy\n9OUn3vbTvAkvlxBJq5SXofu/P0/FO+RT0KjG1mJif2PeLCYgPMWxqn3OL5Ib\nCMc3YJgnVrZ2p32MZWgoIM5NhQ5EiNhNv6QRLMoIJ36KbRHJ39p+pdVVs5xR\nWczKi75p+yOiM0oUxe0yWWj/xYXAX8EGBUYUhZXXJ3zhokajqmrD2G8Ut94J\n37ztSLoKWUCreaSeaUreaxs7rkHDE8qxdzpUd9HBqcu+OxYjLAbKbupMIA6j\nObTKcy8QP2EJHeASbTMA5ttU1p0mn89TqE6FixbjEjzXEzV7DFiqlasq/oKI\ncPtAV6szWPukHvdny7+TZ1lr9v39OIQMkwo3w7kcXyBoGF+MAZ1m96NYUU3q\nRRnuBtBPnTkBu6FXRBeHSrQXDkaYFK8TSmedHfgEyf34ofHueJE5/AKBUhzZ\nn8OSw/Ii4RVDupEVWlI7gaQmp2ofC93ZFRXsM38AlcYaifE+sxgYLEL4/wvE\nq66yXhHW7ACpdSeY5ML3l5KjE8vyjfrpnNrRnbX3b4g9quqTWTR9vaQiOUop\n3jKghjvk6qiqdwAPTsGnvPdTAAK75yUoDyUIMQydch40419jxS6exCbS5hzB\nGvoM\r\n=6RGP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR68shfWhOXhWE5qtLNFH6fCd4ynl0DyfXIBaloLAjzAIhALIX7GVivPKF4OUKQJIwOOXD8IS3uuDmQEEFpWzFhWcQ"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.16_1639606634329_0.9443500289438631"},"_hasShrinkwrap":false},"0.1002.4":{"name":"@angular-devkit/build-optimizer","version":"0.1002.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.0.1","typescript":"4.0.2","webpack-sources":"1.4.3"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","husky":{"hooks":{"pre-push":"node ./bin/devkit-admin hooks/pre-push"}},"readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1002.4","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-O705v4N+VCaeTnePYVHf+XZaPxU8eTWCx2mYvCmG0urHh1GCehb+vX1v332tTaC2uzMoH+RSg2Nh2apFX+pE0Q==","shasum":"ddaa74e7e79cdc915631ec212780d6b7e2650c4a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.4.tgz","fileCount":30,"unpackedSize":82706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuotmCRA9TVsSAnZWagAAHZoP/3JScj1LRWPQoP8ZmB9j\nXf3caoWZfegJ3c2OwqWHWD/Cx60LhsjkeigendixEi/5kvUnV/TP7JfxTTG/\nQ2DoyMLBq3lK2IjZqnqq6JprFD8pFy44XypJJgReG3ZmX/O+LFsQMfFGBNED\nddngTORS0AkFqfg/lXQKEoONvaRICucRQYnEuCySdqCGeEPZoK9Fjq/AYJwJ\nqyXbHuWH2T0ygu/iXwG/JZOgYpSCzf0AfcIqe7YcLk0tytMfYXyZzz4g6ug1\nQBsCIYaQ+EVBatdMZZXQ6RsH689Wltm26GxSTrBtk7K7jlXoxa8bHn3/PAX4\nstb7bldLcsGZDdIUfPG9gnRckHIg2XLM5GRncgyoJKygo+3hYfvsp58hMTbC\noG1NDn4Z9FBSp0hxXytTaUizBqzGZY8u4QFzv3+9CzbpVqheW1h+kXrKoT7V\njmmrrvsEUOu7jeq1BkcBL7cg17y09fnL1ns9giRlfJ50WgrnxlQVtovcHGDa\nJ5RiB/l9KkuWIz7ggTpY2rkC6k7kfuQw50lNp5reK5kLw1E6ZtQisO5Hsmj5\n8K+xRrOX31W+w5t5DBLg2BME1YuVHts4QrKuFclgHUEoV539tP0nyAH0Ss1O\nKDfC6dMbYLSOSsMpLfDvFPSkNMfcbraabfljTNoV2YmcrgKedipcf9c6OgXO\nT+9x\r\n=JlIL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD49UInbMuyhkj41KC19uKqL7FWKo8h66MW6RRg3qbTfwIhAMhaOKKNcFvntdE7MGDWOoqdyVpW6878gUIbs6y8aUaE"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1002.4_1639615334187_0.8344066142906792"},"_hasShrinkwrap":false},"0.1102.17":{"name":"@angular-devkit/build-optimizer","version":"0.1102.17","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.17","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-qwLfayEODnVfY5O+0Ve0kDp/JKC9WPrWHjWOuxyvZdeNO5U4UiaHoRnl0UEsZ444U0YZT+WxydzGjgN3KY1whQ==","shasum":"7911d893c0d1077837db7fb3a36b6084e698c7cf","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.17.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhu5UMCRA9TVsSAnZWagAAlcgP/jJPXyM4hztS5EIjrhQt\nf6TNQOnYTgHrrs8c9lPc/WYb0HXxkIyAOP2haqNH6INu9dcLQKmN10MkROdg\nd7EqdVwrx+rcz8jepRIf/6JRcQaLm8g1o/5tuU6yh7mocr5Gt9B2LWy8lkFO\nWyFNfW1KCpWjzHVGM3G5Q+IZ70ReB6NjJgeiNjuqZrq77HyltfOuzSYvvovX\np8bBOfYiaVeBmjXOo5iydw6B5UHkN22CtlhuRjO1wqwkgDKWN0PCc46iN5lG\nBLa5ywU/x71ggJabWAuTFO0LUAOepRBHN978k6KcPWWBecZncUmmNxcEol6o\npbTVoDlxVZ05SxpAQAtQeHpk4E4fMmLoW5nnz+PMHV48ZbpZ1pIHORZmroGR\nvp6x36R+IcKhpxvYp/hFhozpg7ja8elSLWVkkO5NgvZk12QnrrsT32ftEdwl\n9VcGTYlVZ4nhUsXqzUDXis6d+uPIGbRSIIVTHwzoOWdiYp+h5+n3JhNw1n3A\nkQZV980sIocKIOy2GXBMvMPw0FysHAo/DkCRvG+9IcQd4utn0rfXE8lequEK\nYqyf9tKBAmrCCJZ3xACC4B9vVe4hddBmwc/I6iD+D6upAOqzKmjp+aG+9Ywl\nYbwar7qD572D8sqH/xHNXHeo2TiF0j4N8MbIdwgVn1LsA6W5+HteLMbltOI4\n7edO\r\n=dWAV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICIC3gReik8nPsbSk8ddxAr3c/i4QRExUMChl9yj1dKLAiAIxd+AMkSLnKO0CiAX6ZgR/SogqKfzZx6SaL6ufCLZpg=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.17_1639683340722_0.7208986956944525"},"_hasShrinkwrap":false},"0.1302.0-next.2":{"name":"@angular-devkit/build-optimizer","version":"0.1302.0-next.2","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"e94a80302043c5af63d55ee49bb98c297039c95b","_id":"@angular-devkit/build-optimizer@0.1302.0-next.2","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-05Fzj5tu/rg0g33LkUN8ONAskTHcMuuex/L0DfsNoCCRLGcwxSSLqhNLkXzxw7DsSmVpSXm1SnUYh+ipAqShXA==","shasum":"a364dad642d1f22cfd74df2de1ec1b0663320d5c","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.0-next.2.tgz","fileCount":28,"unpackedSize":87568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh30g9CRA9TVsSAnZWagAAuWkP/25xY6zQIAAuTNil0EqW\nrUWajukdUizUoryacHhg3lHofr0HzMkbtKRG9KSs0KALq7s9kDShNjlOWLsB\no/JtsWIcAz/EV1I3+dNAZVYLFJUCzsJ4BPPOEcQY3MWJRkdMf2hHXRq7v1WE\n/YDDHs4vzs4BYyrCdVj66sPw4MXu87jKD4JfmSSDkO1NdT4YRlqTH2v9L2dE\nhsl1y5nbB7a07sDHb0MVycdK9pS0ck2QUUg/4s5nbvgtOdlgNdXaNMfqf0wy\nZeXtQcar4ftw0Wgr3vk9PGhSbSdknveq86ngxLdJxeQyR4d5Ihmt0EZk+10+\n+GJm1LoyCCeTPms9diCV12qazIHXUYHYZN32IHgC2kXXC//a6zg2gQC+u9+t\nEF1qqdelX2spcUor6f0izUs8S//r/K44+ju1b/pxPHW4tVW7xImBz06Jx+IQ\naI7AWUna2cOn+HHMGSu6+NrNn/LcxEOSWp2okxl3L9v6VJOhtzE3PtGvQvqh\nco5spa3vT7XSdAT+L/UHEvXsz2qQA1qCsoqOfmNJo6ckzOr26E8I82PMfWBQ\nyC/fmh92A4f1fX14KzMMJz0DuqHuFCp2yEvL5DRGmlZXap49JT6jYWRD/mqc\nR3+PcethgpdTKm1Ub0GaSIPPnLK3rRLIFGombHLDPgsd0M9TbVC+yx3hlFNp\nBGJV\r\n=cu67\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj4sVfKsAYUUQHU91JOgdNLYNH+2NQoiYAVCwNwpnZwgIgRc6wFGLZX5ShaFXFfjVTg6Gl4bxump2AbkYe6M3YwqI="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.0-next.2_1642022973727_0.6572723861758334"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1301.3":{"name":"@angular-devkit/build-optimizer","version":"0.1301.3","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"05d762ccdf2b7e2d90fd1353b481aabeaa5c4e81","_id":"@angular-devkit/build-optimizer@0.1301.3","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-ZLPPXDUUQWUxYeNR7NGnuMdi2IKJU4WMMg4LmwSlEJzulKO6MbjreXQsQtG1ILxXmVe/eL1v2XVaX0/AyTr9Zw==","shasum":"d4025ca89f1eff89d5d6243d85ea7ae0acebaf02","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.3.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh31IDCRA9TVsSAnZWagAAu6YQAJCB8TvmaUOKq391/yFv\nAp2jwcuwYnxwjMcjybyb90bVIWRQeVGvmKWwOOupd1sPd9NAdBzynlje9556\ng2SyOxB5vougjYI4piGhnqou32235bDcNqHO/DXDXkV0xYRk04F4uLMRUo+C\nLu+3VOWN1jsq9bfsO4sz5r+0ci2G+iX9MViH1+YE+EEqvvH8h0p3nYyHV2tP\ncCnzKeoIpeSANDyOFbL6KGUrXZJnxDyOlJC5qcwI91TzjCzOBe23FyxJSdMY\n9Z3G5rfcw8UQHKfeiBJrtcC7rLwZfxLrAlOoM61lndBa486z6d2PE3uWXPw/\no99dHmRUpouANVu5YNBZwduUV4V0ZLTUr5/0FK/EHjh3s02JV9dJhmILK3nC\n6hOSeoqZzRj/C0J2OWZzlWoqxPmDsAcxgouvuoRARDJlAkIZrG4l1i1OsAo4\nQnAcb32YA3+IiHgU7zez0pGAhKGQa7ACkD+cjI9lCxmAAhgU4/FuWfk2X0RS\nCMAB8iOewf36k5hB1rvhYHFyjjyf/TzWhzU1KHf6caC7njgLH8CBNK6D0/PQ\n3TTFBmUEtV0ZQMbVOUSzvadrT7D8dAQ5ZA9CkKOSyN0TrtrtDwwmnn8Rg2+j\naZVCvDaU5wdJxDqiN+m7KGebNNjrsHufiAJX/uTVEXpTdTbm/Uymq+dSgjAf\n+yeU\r\n=Nc/V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYPnDP0UnduUN1SYt3T2Uljx8jCiBeJlffdPTYJxM5qAiASBUg9hQL2ay9ABUE/PJE/dpSJ6D+G+47IEXUg1q+o9A=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.3_1642025474873_0.8436761885887234"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.15":{"name":"@angular-devkit/build-optimizer","version":"0.1202.15","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"8c57359b9a1fda8e635b3ebceef28eccc1035fc8","_id":"@angular-devkit/build-optimizer@0.1202.15","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-ne5QnNRW4TkmP6gv20zBiwxAlIpvurS8Y0VaUe/o0sMLUGMVReg6YoHEU3QYYahKFnx4ujCj1AOf0Laae+dDiQ==","shasum":"cf9b43ecd9f9c0e2721bafa6aedd655c4b83a82b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.15.tgz","fileCount":28,"unpackedSize":87130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh32HnCRA9TVsSAnZWagAAWD4QAJ5Urf6ueXGy8l+CLXnF\noKnUiN3IL1u2Dvn+BV6Rre+cIp43z57bC/q8Si1ud+2omCt5ZeBxGbgFuyiE\nk1I+sjl4tU2/30XFB+XQE94cPbexBORUmk++7T9TgkErI15hUUZZJz7x556v\nVv1YQi/wE2zMiecbx1W8dUcnct0MS9OF36M+hQpS0ui0SSy/w2knJJBIkowl\ndWmhN+y+qhcC4M5i4hgRPQ2imbuEgfEM3mXJIX1pRr7ZurlFtrtfAIfoZCPt\n+DN7aEZLj8+x9rKHdqfYw95eBLVEJ4XKr+Jn9zAcWCYR0Xfb7kNGIcGH1UQM\nT6W2p6xPsTmpSjB6EHvVQa2cP/EHQWRlqqMXEYXcJuTiUEWhypCvzmLpCdZo\nO2hqM4ZNnOY/hCTt/63/n6d82Elzv9EprMZ0MisH6jTpEjInLPeoUM0Gsm0S\naK7Ge4p9u2okyMn2C1BoFSCZzc76ARM5IIR7/bX6ipOdk5piUoxiwiq4M3hf\n9J1oYMpgWAZ+SzEG62+xyVt8cmubZ4LY/P82mwGZ2RYtpoi1mk4bO9hFzMM7\nj1BlxA6qZl0phUGwVrmQlM5/XKdARxKiqHAsGzF4UQnSCOB1uzr5TJz2smac\n1I3a4n6/daTUdMS5yGDOHU3EydmOFfvYRv5H1gGVBRy2jJlj2VQ9YN8rjMhp\nNXdN\r\n=2R3y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClIRNX6PeeoBHfA1Skevq2MZWSB10hTtanyDeKI9wMqQIhAIFy6YvBRbHQyfUuK4cgnqOcC93X24DjyhxZy5Fmgsrg"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.15_1642029543287_0.36744600522339277"},"_hasShrinkwrap":false},"0.1102.18":{"name":"@angular-devkit/build-optimizer","version":"0.1102.18","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.18","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-bZ+Ma31Bkcm3Bp7RL08ltGD9k+m5qe6JpQgN9oKjfc0WwB5ldux7mgE1lz6OfxCaY5wsnLRCl1SdKWJDkyAz3A==","shasum":"5dc81a0fe4e5ee7f4c8c653a34403bbb46ed1d9b","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.18.tgz","fileCount":30,"unpackedSize":81249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh323sCRA9TVsSAnZWagAAhTEQAKEcKfKoqGGQEFcYC/vX\nh3h9mGI08oo5z1sM1YIrjNL57nievOx/hbtenYSZLwVJfEvROcUOdynr+7s6\n6V+e0cY0kxjjF0a0XBk+npFwIumX+guObkX+13ryEgRM8l4yV38KHq7uCLuz\nVcFidWtAD8jJts/o1S2/4Nyt7HqJygJxV2OTgo2izdkt6/BWSrAJSiTJo3kU\nPP1W9ApmwniziG6YH8Hl2gbDulxpp+iJ0JoyBxm5r3rAKIlVYZBVUId0dAx7\nuehNs7XPvAdoddJXEx7Kwwi7MkI/yjSNblC5EYfAVOOD0Oh+sumNVQz22UPs\nnzPYCTwlfElMx7qnizrNlzZAllkM1k4mh6qFbB7A3yxnXIx9s1JZEhNWNZiU\n0tI9gb5Ixe1XHQTvr5N6O4PJxZvhP3HOQfikiygIHAraKCV2wk7nhUO6A47n\n3fDLOhlDp8NrnBiJj85mX3HlgJEhd0iM8ILacrD9UHMBEIify3/orzpUCgRj\n4seiU75eTCXhYUWq5eHdiqgM8v3h/DtG23OrqKipRTcnjAO/F3/+0RteMu24\nKn0i8q4C0s39MX1T/Fpfw40PPIMWQ3efh9DLQa6d6YYWWlliOir+ov12FHbu\nqsOTH8qA39D+B3g4EvC2ITmqgRQJRKxoomDonR9QP2ukk86J2ulsQ8GjBW70\nb43U\r\n=z+PR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIClwouvNBzQYprAeam8q2untFPyfbZvE3Zd6Oew3somCAiBZ6lxXLaXEXlF0pFu7qoJiK7H68KJHUNQx/AuWsUCiug=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.18_1642032619852_0.5281066437176325"},"_hasShrinkwrap":false},"0.1301.4":{"name":"@angular-devkit/build-optimizer","version":"0.1301.4","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.3"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"d0978c596c02757eb6412eaf4446516368567932","_id":"@angular-devkit/build-optimizer@0.1301.4","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-w09qgZ6oZ8TmLln4IvQuSe/664UITs+pW2PKA4Ya3N4bmnja+Sz7McoH5ifNnBw8QWUgJy9rSDj13bOoe1t7WA==","shasum":"69441c53954a7bec4a992fe2c725fa668ee1fec5","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.4.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6IL4CRA9TVsSAnZWagAAZ9sQAKOoYqL1X3opoDIDU/EJ\no6Nrx3kjmdl/TY/wcCo87aAPT3VoTgt8AgvT6moSxeqj43HU1LoQlHwCzwVR\nLHnZrR8WcKNj6YKPTzcrFNu+dc7ktzKJBlZj99Dh/kHxUlg6EB2kvpAMEdjr\n85SHe69Zab4IZOCm9ArzUyFu0FiiU3YSK0JBleCYOBt1r8+/vRHl8+4jMOKC\nKAbZhRaARcs/5DhOvCR59JPMVOH6eM0o2501RoXSSn7NYK47RBlePmuU4d21\ndxtH7IAw99JvPKFPzjZBtJU8YklUZ91mu9PrA+u0fQDdAUvt623ybM1IvXq8\nRFHqD3fLNCrx+DRA/v2dNr4H7owm04WMpYnu4J4azuF5Ni34yf3U3RxVIK38\nviU5bXlG0DROAekPD8MBkPIjRgrlYZVDm+XFkQV/PLQLdrXhcBnLJUWPdkSM\nvBgoQJtFbGbYEbXe+HGIgjhMeCditKpqOz7qItMltZW9DY+Bu2M2ggtKMsT3\nc+/jXtFZ7ZJcliPMa+ZCIMndoCshwnWfrtdSzxlyQ1T8grAbu8E3iGJfywUw\nOIHite8R+AUCzVIRiuLSCvAjp4/IefQpov7AdfsNKZwnd3kMDvmIxTpAnHH1\nTSdGk8Z6isYoZ2YEuqWmuLvHOJguVHbRHrHnDjDjxzAAVUuAT3GQn82WuqPK\npVj0\r\n=221z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcdZovKCLecfyI/jGD49dmXvC/jRIyAmr5k2GysuhgkAIhAJmfLIKLIyA2y/gMLqP0IBma8qf6LSURpER94cTBSU0+"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1301.4_1642627832395_0.8754065148771937"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1302.0-rc.0":{"name":"@angular-devkit/build-optimizer","version":"0.1302.0-rc.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.4"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"340066e2383f0d9899566346c28a47e5c47f0477","_id":"@angular-devkit/build-optimizer@0.1302.0-rc.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-e18SlSRhq8kyu5GNG37syqFOVhdntOEpKxNLrsON96laydce8Zq98a99zsC9bv/ityB1Z5xLOXyk1VXva2ZIQg==","shasum":"2f00bec302dbbdf7c9bb1606b4c5061e6231ab96","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.0-rc.0.tgz","fileCount":28,"unpackedSize":87566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6Iz9CRA9TVsSAnZWagAAxi0P/2CUXTKMiHf3Gm0wWG5R\nNODbMKomT83j2kJ0ZLP1f2EKgGS9xAjt+I8QAN2TDBqFQ8n77V3ug8pozFWe\nZrVz7kJyY8qpzEpIGs+fwtXF7/+yDMnWfvAXgAJk3JdaJj6zkI/gLhVCSnkw\nUfScj+TS42HhVZ0cFRZLanH85B46HJlYUy11NTt4ai0vdGjX5VfA30tbKgDs\n6s5XJosSpGDlHyVfBuUbuU82ZJ6hAKCW8+BtDC9K9nQbh0eKyoeDtYHd0vQ1\nrZWhqv+5M9mg1txrjvt9+1BJjpyYUQ1dOyaQk2xADJf8Ztv9/XahrSBaJhR/\nsHkpFXSsef+Tgn0zVZxuzYxF/Y0gQMMaBnoqrmLGeeJONbGVNLsqd7dGGsO4\nPTCu96Mv6UP+PNDARUeJ6fbNzlBk5pCedeSnNifXdCWr3yjwrb19TdddAtyv\noKm9S1E07g92c2niKjeFnSMBxnctm8EUDiYtXIEUHp+9xQF2KbMQ9pARfxdN\n4gjX0S/f1AsfS4NfXBDsfvamM5pB1U9zazvcwEP74u0KPZhSkEPuQT2eLT60\nwLUhoFiqOLsR6Xo8irJnhJHPTbzpIHJSxnFIhr7o+e2siHz5T66QLoryKTUH\nokHJ9vzkCfbUMBaNoNw4O5e4T+hbkyfgnssUyMIy3jatHbpGXoqczrIJWeps\n0E72\r\n=Fsli\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSTeDR3xjHqOWmrt1psxkMml85F1KVedpW0MluferoQwIhALXLrnNau9N6loUiH8rqwXeZGj9JA9C5T03IIXBQg0Zp"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.0-rc.0_1642630396933_0.5718208432596037"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1302.0-rc.1":{"name":"@angular-devkit/build-optimizer","version":"0.1302.0-rc.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\nThis package is **deprecated** and should not be used. It has always been experimental (never hit\n`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been\nmoved into\n[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular).\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","gitHead":"cc247665e8e1a29e9637b62f594bd08cdcad41a5","_id":"@angular-devkit/build-optimizer@0.1302.0-rc.1","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-9cEm/2g8heqxbDu2jR59iYfncxMvBY3m2MIcO6W6Fztj6mSSpKtK+djjtCt7k4jJ9QB2783MgJ0W8f64oZt5Mw==","shasum":"0e738fdecce6c1dbcf822611d6637a518eda9705","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.0-rc.1.tgz","fileCount":28,"unpackedSize":87566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh70FUCRA9TVsSAnZWagAAC9AQAKQjQ7W9TxVfq+ehKe6Q\nmgTUEuIQ7RPXvNGYY3qs9wH6HOy4P2rfLUALUNaOwHTfi0xUkGVjucf906VL\nVgiuCfuH42NeQzzm5N8Ct+0ipPBcY+S2O1TrID/BUJdp6t2htkSvMthjVZ4+\nBl8DDkLWl16ld4E/7Jwqnyg1ScT/eDEcTDsvjFebq5moiRNNtELFklNYBPrK\nBVB2VRhI6tFu/5oqZEKrwm4ww+rUOT7K7cfQZA1yoi81cM61cMXR7DaRfc7z\niC/aL3W0vUIFPoloGkoAYUunjG8KhKDMQbzM6zAf0xpdiiv7MomZrL2QO8cB\nIfHMe2dTgyivIy4lNPn+9eptUXwNBrfBk/OHtURoPRzQPtmddKDRUUoowqJ+\nKASgHnU69hX+FJqXx6oufKVIokYqOaiqJQy3aO70WW0ULpY9pz3jJTT4Ne79\n0oaEAbGOENJtOeCOM75LK6eZtdquSTGooLehxHbmu8rLOHgoHKn5vF7fLNFj\niK+WuSCNxnPlzeZI7d0jAVXb39F0oYzOZNFmK5rDC8PQc1SGTA3ltrUY2WXF\nP07Mb/CnpeGaBaM4MFGFDThVe/g1HTri8UM0Lx5+yDa0frul0thqQC/osnhq\n757/jUJO0qIwVUQzF37wFPJ6/RGfM9GgqDiatKpGbJYWeYoFoGwwbKPUhp3d\n+zGc\r\n=jrf1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICqA018xBAiFchTO0Yrymcw2VRZ5xYE2z+7SlArsjyJGAiAd/wZSMsBIWJcwsVLhWLr3yeV3p7lQlPqKJ7FXWuwRNA=="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.0-rc.1_1643069780147_0.25786027437554093"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1302.0":{"name":"@angular-devkit/build-optimizer","version":"0.1302.0","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","gitHead":"cef5afbcab184509338b792b63bae3e87acfa9d5","_id":"@angular-devkit/build-optimizer@0.1302.0","_nodeVersion":"14.17.6","_npmVersion":"8.1.4","dist":{"integrity":"sha512-3V2vD95DTlcTwPUvNcQ5tWUSNCR06DnRdGiiweL7KljG0SBvydvgI+nd1hN0bpKhDlsjFE2YabdnkjbjGdA8bg==","shasum":"510c1154ac055111522547cf7fc4894e47269989","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.0.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8cBTCRA9TVsSAnZWagAA+PAP/2ednsnl513hIXTyd7mh\nJCcXlf4R/FYPaqERrIGM87eVK/1IEY7xqnFw02852YYBgLXIFfeUSBv+mu6C\nN5rJLsbOPaE3qkfcpGJCshnEYjrXNorYok0yP3RhoqIh64CU/yT9l4Vmfled\nmq6tFXnhlk3WlCGvvLWFkuSAXd7AWuNsmgRbWMi2BccZYyMsdpT7qpM+5mBY\nLKhRf7kIwvtIBGus4urPqQeLW7103ICoUe8R9ckGccp8/J7mQUJvvJO4GNxS\nJGhMLsR6yjN1F7uWwhwaWyDWOzwdkj3IFNqOe6wWHXGXGjLq2hvxG5Zr+q30\n8OpxRv04Ozjbm/4EZT8uxz7A9dgb3U5FxFhDeIVIuhIb7iGhq3aJzwzqi86d\ncT0msFAFUtnm5BYkka0dLp1qwg9p6bCVoScEkLLm/Msdc0Fzt2XNI1ZZKVgD\nm22HBBiXlt9RpKePsi4P8q5FA7mgh/gn2KMoHXHQ6tpzu9on1koK+t0Bzxs0\n6aQt62Y1QZ9a1ftmdJVkmVaM+Ujl7rH2N+XOIXx29kUflzUQUja50WR15sYe\n4lZXCuprpTPENeypEo+OKZFSkllD5HcoB8yANtk8zh0QhGXO6XnkvVXhZFp6\n/wGb5DnwFSLKQ2um9oux6FRU06U+a+C/CkkQNxzM/Vpxh1vKquQZFzbiiQyI\nIWJu\r\n=gG56\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxXdNgiMKeOceB26BssE6fo271wacDynyTrme54X7+gAIhAJRd0HX19n8K52wFQ2AjK5PT3MGiDcyAnMBp0MSBIOf/"}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.0_1643233362900_0.2459814085688532"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1202.16":{"name":"@angular-devkit/build-optimizer","version":"0.1202.16","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.16","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7DO195vDwOnCCHrzjr6ajSNkvCzW6O/ERbVezCA46NZuS9lW9LnWpP3CE9iDnhzup7hjrM336/dXmYJO8Hw1MA==","shasum":"af63ac5b09cc3d15509137c1ef87bd9cee36fa60","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.16.tgz","fileCount":28,"unpackedSize":87130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+CaPCRA9TVsSAnZWagAABFIP/2amzXurdi9WtpqUbw46\n9MOdqNBeFlu0zL6AgStz6OiHADxtVgPg5h0E/bsrO3OWimoaEpXHk1Lb6qAE\nZQz7DazakWdjpQjdd02GZHlX5oghidD8vA41x1u9jAx48v8R/9w2JghZFR9l\ncm8wGrCUPY+Kxm+oSStrEulEfY/xPBZXgYQVLk/sjAXnC5daJK4Wbti6c3Um\nT2Xp8SAmmf/Uw+yCD3zb2t0/FHvakkyG/bT+sEhUxoOWnssy8VcIQw6LdrNb\n4fYem+WfGrROyrGrP/CCnFBWJtODYYM+sv4DbF4yqg17FOJGDtR4URLbbIp2\ndEa//tTgS7ePL1IBrsml5I0aTMOaGxr00qI6t4Bl4zF2JNDN+rLFpE4cU62n\n4ZdGxE6IirfqU5jEGit2egBUwtzayvllA7gDuXeKJBKtwrBBa1N2EE/iBDLl\nDTPyzKYBAsJaUlNPqItWvzu9Hcj+51lEXZiJO7+6Z3zkovVtJPCTiILB/HE8\nB/CNAkKMuzBRPNzXQ9C5vb6t5kFR+hOMAGzMXOg6xSjfAR+3yIQmU8o728sD\n8mhwmz/NEYbkPoqQwoAbCsJtbqtpaMA/VHQJ5Hr1f7G8X41O0nNHHj8JkwM7\nGb0YMGdxuyuToRzPWWaQNI4v9WSQ97aKk1opTst3367U8gq3S4UhOzf3k+p2\ntIad\r\n=a1kw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDWx0dv6A/OfVIZN8kmdAlwSeXlp8FCB/244xGthDP+zAiEA8XV55jw4lIgpcZqu3Lhz1lOzziRCjFVsL2yHvr6sHZk="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.16_1643652751363_0.7857554010349095"},"_hasShrinkwrap":false},"0.1302.1":{"name":"@angular-devkit/build-optimizer","version":"0.1302.1","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.1","typescript":"4.5.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.20.0 || ^14.15.0 || >=16.10.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","_id":"@angular-devkit/build-optimizer@0.1302.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-lhMEQ5q7Kdxs6SRm2NEnFjQ1k4n3uso/Y0NhBYOMD5Ai7IwcLOAuMJCwHWSfIDuT/9c9kzIi1IqvuPuPttU51Q==","shasum":"48fc45c063597093ae9f538f8131edc9074d1c3a","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1302.1.tgz","fileCount":28,"unpackedSize":87561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+C4SCRA9TVsSAnZWagAAYOsP/iMyC1SVqEXnAMT2AG31\nTlT+gmV1gbJgkjnlMOEpN+GJK6ls2QtXb+FN0Cp6ypFalsd1BmZBYktK9kaH\nKnU4hI+J4Js92u3ca27XjOyFcDvq9RliZ7YHzlZR9bCheqN0mmy3lM5Pv7UX\nWoGuTX7Uqn98DVWjyKNUG/vWWe9wWGjzF+APyFppIkdPvb6HQNSmcht/E26K\nw1+aTEFQFPtWlpT3NQITrDp0TqtUKwmizCzBwN3JQ3LtohsZUe8Ng+bigDSk\nKT1WFMwZSmHdC38HSLkzsC1jtLEdS8NR9KZuonogulVanOqK1GEBJ4bUUEq8\n7RHH6Lfs/4Jm5CT/FOBpXgUJnbNibMILvuwThuj45xmO4JixOTvSer2N0dx+\n5Iy2bJIN0hobUTErFW17bZ40qLr0qCflXlT+3fq764TOSSrUB9kJX8ih9V5K\nN9BPoK0gIMgw5YgMa6KiUsn8XCsg5QLNlumsL6ohFdTSwSIjJjqzvxIbiea9\nxax8rjO/da5RybGNJIwP5GQK1hVTwQFdyG9DLbRBStfEmXAwB2jFxO+dE2l+\nRo4f/RzPNPSGfbuMTQWTVOIksmvrvcpv8/qP+H6kaVGn3v067I55nXBnEuXJ\nNW0AVAnQ4Vezu3+GDIXIcneb2nCK7MvuPn8RJDpMGF0Wnp86RcjwfNfOu9vV\nBzXH\r\n=zBMb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEB3d/EehdiPx1TAWUMeyFHQ7pIx8/k6RM51Tu1ggxBmAiEA445kYgKt+9fSm65T7eROBoosGT+oa8L52euXqC8/p1s="}]},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1302.1_1643654674059_0.2510963906056225"},"_hasShrinkwrap":false,"deprecated":"This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular."},"0.1102.19":{"name":"@angular-devkit/build-optimizer","version":"0.1102.19","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"loader-utils":"2.0.0","source-map":"0.7.3","tslib":"2.1.0","typescript":"4.1.5","webpack-sources":"2.2.0"},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":">= 10.13.0","npm":"^6.11.0 || ^7.5.6","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () { function Clazz() { } Clazz.prop = 1; return Clazz; }());\n```\n\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () { return [{type: Injector}]; };\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    Input(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"selected\", void 0);\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent(),\n    Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css']\n    })\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() { }\n  __decorate([\n    NotInput(),\n    __metadata(\"design:type\", Object)\n  ], Clazz.prototype, \"notSelected\", void 0);\n  ComponentClazz = __decorate([\n    NotComponent()\n  ], ComponentClazz);\n  return ComponentClazz;\n}());\n```\n\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () { function Clazz() { } return Clazz; }());\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }());\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n```\n\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends = (this && this.__extends) || function (d, b) {\n  for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n\n// output\nimport { __extends } from \"tslib\";\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n    ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n  ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n  return ChangeDetectionStrategy;\n})();\n```\n\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1102.19","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-3665mNFwOCqD2HR6Kjrwqh+Jh72h3F7AB88p/oWBvH0GolFCz8JnbwUZJkzTtOsKUw5ZC1Z6b/nbUkCJemxFug==","shasum":"9415065d088229437163bcb6b92888b40f4c75f8","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.19.tgz","fileCount":30,"unpackedSize":81249,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICweN+OKwrvcS/0jrvjDZraY8QS8gSGhyz2NCiYmdon5AiEAvTZPbCfRNrUDxEQRxzG6qddAYuZvPVLirgWpnMP4+Xg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRPEDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRDBAAiYeAmmWLa3o2ZCvPrYRG+twl3O9014meSoW6OnaO3zlEQvj1\r\n3CmgCPX+YMh1HjrdZO1aUk1qVS8Q9wuArmw7LLbbPO1D7ECIUQg90qqy9uan\r\nIytu6BNpUH1WmQhD8+zXwACtvHLw13j2syIOwxMmCtdG99kmmzbwcZqZ9oYZ\r\nWb9DVJ6l6eacF0U9VV1JlMjn547xCcq5z8oDYNghqLSQ2E9AB9rr8z+WgR0X\r\nd4LA0dhkk85nxQCvd+66xoTZAyqka7a0R6JMfIyBoCs4QxA4NTwzsE9p71NF\r\nfsGyUc67TUSFrGxOvMJlvQX3vi0XPMnlsKZi526zEfo81HHiIYB0EHTzN2Pt\r\nTGLEw1OSq1B55H9PNhXC6OBBp3dwO1omRERqYw53kFiQdtTy4dkdngLipRcf\r\nf7VYq+fpvM62FJxsMDDqQLj9GHI6RI+mwRc9brB1xcWuuEWHSPc3SdR4tLJY\r\nu04ZImP7LuY4aq5BL3ota7EYT/bFwsWMvHBw7Cl/X/zm1Kp8bDAnVj5dn+a/\r\ncVHYZTOYow/RlvdaSR3PTFKAF4zh8eZg5HPLQ/87UFjZ32YLNKBJVpFEVkjH\r\ndT1bIWa+ejHGOjBAEo7uQzs+tw67owlm+1dR029aekHW6/TQy01ZxCMyER82\r\n7KpLQJOVd8KdURsqKZgmye9VGF71TW+ODUw=\r\n=0dp1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1102.19_1648685315559_0.6084826264267233"},"_hasShrinkwrap":false},"0.1202.17":{"name":"@angular-devkit/build-optimizer","version":"0.1202.17","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.17","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-1qWGWw7cCNADB4LZ/zjiSK0GLmr2kebYyNG0KutCE8GNVxv2h6w6dJP6t1C/BgskRuBPCAhvE+lEKN8ljSutag==","shasum":"de55aff22843bc09db7e735af2817bdef0040a3d","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.17.tgz","fileCount":28,"unpackedSize":87130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9spqqcKIztyPIyX0DugoSNQITFjF1/eIqHULZjwBlvgIgebJoh0gJtWgPYxVRHi5s2LSWVpXZIkINy4bP8DGXSrM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRil8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpY3g//fvbliSM58Kre3I5UDKBOiMTwS3/2xvGVK5EckmPSMTqGjUzE\r\n4hxjvXz2R0PHArGs5rM+HRm2sTDWHoUxwJl4Mopz+COlAU1ZVLujUWsG2BxG\r\nS+nxBMLPTCx+S1tScJpl5Gi4gcJ7YTpZWGVetpgn9gb6gpFzLphNtRX8L0Gi\r\nl+BPIS5Jay2s3VVR+CBgyqSMcmB6vEpIBnjhDUddFaCezLgFvd/xrxsycOUw\r\nwi6zj4/vG4ktUGkehDly+Yw+MsBiSm7GMBTCOG5ketr/83QkQawaQrsTJzMw\r\niM8ZhIAuEJ9j9deLTkxFBygC8aFjqlmZ7swVexwaREi8pHjrJWX6RXQaKBY8\r\nZKalsBzsdF2WJ/ZFsIXD6c7nWmin7xp4WLpQruh5s3Z7u/CrFFn/Y5sgUONg\r\nL/HEv9nqNHcJKWvNncnbNme9hiaTfd63tdMA3Zfh0ZtiN8SbNE5NY7qXKmbk\r\nPYyCeWJ6KvL8uZ4GLiE6OxheD7+gaXAnzYvfZGorBcAy94mz19HPEIpGJ8Vk\r\nn7Mth/YC0PgKvoZRqDp6vEsNtfW1oYljUPINyi8gqW8i1csvkdtSAQImxbCl\r\nB2TNGLVgG+5dqoQzBVfY1DBFttLQwVrFshPaU3b92oWVCkAa2CPCzsDLTVZM\r\n9HChqz7bLELB6ngWvgs8sh2yy7D22hzAkJw=\r\n=X/cq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"angular-devkit","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.17_1648765307486_0.6243973227760113"},"_hasShrinkwrap":false},"0.1202.18":{"name":"@angular-devkit/build-optimizer","version":"0.1202.18","description":"Angular Build Optimizer","experimental":true,"main":"src/index.js","typings":"src/index.d.ts","bin":{"build-optimizer":"src/build-optimizer/cli.js"},"dependencies":{"source-map":"0.7.3","tslib":"2.3.0","typescript":"4.3.5"},"peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"engines":{"node":"^12.14.1 || >=14.0.0","npm":"^6.11.0 || ^7.5.6 || >=8.0.0","yarn":">= 1.13.0"},"author":{"name":"Angular Authors"},"license":"MIT","bugs":{"url":"https://github.com/angular/angular-cli/issues"},"homepage":"https://github.com/angular/angular-cli","readme":"# Angular Build Optimizer\n\nAngular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline.\n\n## Available optimizations\n\nTransformations applied depend on file content:\n\n- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries.\n- [Import tslib](#import-tslib): applied when TypeScript helpers are found.\n\nSome of these optimizations add `/*@__PURE__*/` comments.\nThese are used by JS optimization tools to identify pure functions that can potentially be dropped.\n\n### Class fold\n\nStatic properties are folded into ES5 classes:\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.prop = 1;\n\n// output\nvar Clazz = (function () {\n  function Clazz() {}\n  Clazz.prop = 1;\n  return Clazz;\n})();\n```\n\n### Scrub file\n\nAngular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact.\n\n```typescript\n// input\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent, NotInput } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: Injectable }, { type: NotInjectable }];\nClazz.propDecorators = { 'ngIf': [{ type: Input }] };\nClazz.ctorParameters = function () {\n  return [{ type: Injector }];\n};\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0);\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate(\n    [\n      NotComponent(),\n      Component({\n        selector: 'app-root',\n        templateUrl: './app.component.html',\n        styleUrls: ['./app.component.css'],\n      }),\n    ],\n    ComponentClazz,\n  );\n  return ComponentClazz;\n})();\n\n// output\nimport { Injectable, Input, Component } from '@angular/core';\nimport { NotInjectable, NotComponent } from 'another-lib';\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nClazz.decorators = [{ type: NotInjectable }];\nvar ComponentClazz = (function () {\n  function ComponentClazz() {}\n  __decorate(\n    [NotInput(), __metadata('design:type', Object)],\n    Clazz.prototype,\n    'notSelected',\n    void 0,\n  );\n  ComponentClazz = __decorate([NotComponent()], ComponentClazz);\n  return ComponentClazz;\n})();\n```\n\n### Prefix functions\n\nAdds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation.\n\nWarning: this transform assumes the file is a pure module. It should not be used with unpure modules.\n\n```typescript\n// input\nvar Clazz = (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = new Clazz();\nvar newClazzTwo = Clazz();\n\n// output\nvar Clazz = /*@__PURE__*/ (function () {\n  function Clazz() {}\n  return Clazz;\n})();\nvar newClazz = /*@__PURE__*/ new Clazz();\nvar newClazzTwo = /*@__PURE__*/ Clazz();\n```\n\n### Prefix Classes\n\nAdds `/*@__PURE__*/` to downleveled TypeScript classes.\n\n```typescript\n// input\nvar ReplayEvent = (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n\n// output\nvar ReplayEvent = /*@__PURE__*/ (function () {\n  function ReplayEvent(time, value) {\n    this.time = time;\n    this.value = value;\n  }\n  return ReplayEvent;\n})();\n```\n\n### Import tslib\n\nTypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found.\n\n```typescript\n// input\nvar __extends =\n  (this && this.__extends) ||\n  function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() {\n      this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n  };\n\n// output\nimport { __extends } from 'tslib';\n```\n\n### Wrap enums\n\nWrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment.\n\n```typescript\n// input\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n\n// output\nvar ChangeDetectionStrategy = /*@__PURE__*/ (function () {\n  var ChangeDetectionStrategy = {};\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush';\n  ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default';\n  return ChangeDetectionStrategy;\n})();\n```\n\n## Library Usage\n\n```typescript\nimport { buildOptimizer } from '@angular-devkit/build-optimizer';\n\nconst transpiledContent = buildOptimizer({ content: input }).content;\n```\n\nAvailable options:\n\n```typescript\nexport interface BuildOptimizerOptions {\n  content?: string;\n  inputFilePath?: string;\n  outputFilePath?: string;\n  emitSourceMap?: boolean;\n  strict?: boolean;\n  isSideEffectFree?: boolean;\n}\n```\n\n## Webpack loader usage:\n\n```typescript\nimport { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer';\n\nmodule.exports = {\n  plugins: [\n    new BuildOptimizerWebpackPlugin(),\n  ]\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        loader: '@angular-devkit/build-optimizer/webpack-loader',\n        options: {\n          sourceMap: false\n        }\n      }\n    ]\n  }\n}\n```\n\n## CLI usage\n\n```bash\nbuild-optimizer input.js\nbuild-optimizer input.js output.js\n```\n","readmeFilename":"README.md","_id":"@angular-devkit/build-optimizer@0.1202.18","_nodeVersion":"14.20.0","_npmVersion":"6.14.17","dist":{"integrity":"sha512-8ANaqa66IuaSRqJT3zTNUoeRDyLanE56tkNWqgYDPyZUsafEsomh9/fGVIkazymP1hReDLw+RoxSVxUsaRSsTA==","shasum":"43259ff4c5e0722f224d1e56cda227bafe470f74","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.18.tgz","fileCount":28,"unpackedSize":87130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGZX3/gc2a7yhmQLUdoOoi5UMY39u8pqqZDyMC4+qyOAiEAn726HaFE/m1jvKJuE5hx1fbQ9LXKlYpBydM5uFlLF4Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2VzqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmom7g//U8PZZTCyCaDVW7idydC8yOev61ybaLjfqX5/KAItaIJD43p6\r\ntHLPCh3BDg8WQDSbiIsTbcFG2ZSnFmFDZHqflCMcaHBifSY95BEtxW4lSbJj\r\nKZJgykc6SlO2+LKmrFc8AiaPlRzkIqkIZfrMjyKK4az7bVP68k7YSJB91XHv\r\naiNXtt95HXWEJLSkGiKkFjt7TIWN/2FqDvC4Ea6ehTJ8yCc97ulC8im4B68O\r\nqy7KCochz+VnpbGwNjq8QXK5G5BMSvQoaivc5CnwSl1gl4xr7nJHN/c2BZQA\r\nGxQv+sdssNUY/sjlAcpfLKU2n+2cGlOabMHEbABStZErVRggkM3tgR1/iN8x\r\nB3Y7cgjbjGZrUNUInHlETZF0doqY6sHONRz6NHSpxQeJ8Z30BYHiL4VbgMLO\r\nCQLi1qpoNJcqv26df1KAO9uNdSaPmankgE/wV+L562Q+QNN9bL5ofwxdzZwj\r\nOmg24Y4CFJIZ58tDqptuqcpnD0Op6i/dpn9fdLUdi8ZRc9WkXPe8cMFy0Q6Z\r\nMheHBjfWl+y+WYGNm4WtxfLPC+Rajw3zMFd0FDE1eZ1Ncy/MqypEDwlFyWJH\r\nHbSvYD/9S1JYdr5HHL01WTtE1G8llAlIwljjZTtQzi4GUlHpQbECxyGB7svP\r\nAXQINi5D52kMvKzSNbdQipTxbv5i/nCOs6g=\r\n=2pau\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"directories":{},"maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-optimizer_0.1202.18_1658412266319_0.1480353407559165"},"_hasShrinkwrap":false}},"readme":"","maintainers":[{"name":"angular","email":"devops+npm@angular.io"},{"name":"google-wombot","email":"node-team-npm+wombot@google.com"}],"time":{"modified":"2023-06-09T21:51:35.882Z","created":"2017-07-13T22:04:54.079Z","0.0.2":"2017-07-13T22:04:54.079Z","0.0.3":"2017-07-17T20:14:29.555Z","0.0.4":"2017-07-19T02:12:22.352Z","0.0.5":"2017-07-20T22:08:01.893Z","0.0.6":"2017-07-20T23:23:53.661Z","0.0.7":"2017-07-21T18:49:30.256Z","0.0.8":"2017-08-03T16:55:56.071Z","0.0.9":"2017-08-03T17:22:55.330Z","0.0.10":"2017-08-03T22:21:07.850Z","0.0.11":"2017-08-08T16:22:18.101Z","0.0.12":"2017-08-09T21:54:08.342Z","0.0.13":"2017-08-09T23:05:12.105Z","0.0.14":"2017-08-18T20:34:42.138Z","0.0.15":"2017-08-23T23:37:13.041Z","0.0.16":"2017-08-30T00:00:35.970Z","0.0.18":"2017-09-06T19:14:58.288Z","0.0.19":"2017-09-12T18:08:42.227Z","0.0.20":"2017-09-14T21:46:40.510Z","0.0.21":"2017-09-21T01:40:09.538Z","0.0.22":"2017-09-28T19:30:05.707Z","0.0.23":"2017-09-28T22:14:40.978Z","0.0.24":"2017-10-04T18:44:37.515Z","0.0.25":"2017-10-06T03:55:58.362Z","0.0.26":"2017-10-09T22:49:35.757Z","0.0.27":"2017-10-12T01:19:48.776Z","0.0.28":"2017-10-18T19:58:59.917Z","0.0.29":"2017-10-19T23:15:27.746Z","0.0.30":"2017-10-24T05:11:51.389Z","0.0.31":"2017-10-24T16:50:18.401Z","0.0.32":"2017-11-01T18:07:54.446Z","0.0.33":"2017-11-15T00:40:12.469Z","0.0.34":"2017-11-29T21:46:04.610Z","0.0.35":"2017-12-06T21:13:33.374Z","0.0.36":"2017-12-13T23:29:17.054Z","0.0.37":"2018-01-11T22:00:48.059Z","0.0.38":"2018-01-12T21:40:55.761Z","0.0.39":"2018-01-18T19:57:09.763Z","0.0.40":"2018-01-18T21:29:14.136Z","0.0.41":"2018-01-18T23:43:37.089Z","0.0.42":"2018-01-25T00:59:18.906Z","0.2.0":"2018-01-31T20:16:42.989Z","0.3.0":"2018-02-07T17:52:35.689Z","0.3.1":"2018-02-08T00:16:10.228Z","0.4.0":"2018-02-15T22:35:34.790Z","0.3.2":"2018-02-22T02:28:19.972Z","0.4.1":"2018-02-22T02:37:01.092Z","0.4.2":"2018-02-22T03:33:00.547Z","0.4.3":"2018-02-28T23:37:11.160Z","0.4.4":"2018-03-08T20:07:19.395Z","0.4.5":"2018-03-08T20:11:01.299Z","0.4.6":"2018-03-17T02:12:12.528Z","0.4.7":"2018-03-27T15:32:22.146Z","0.4.8":"2018-03-29T05:08:52.098Z","0.4.9":"2018-04-03T10:47:50.742Z","0.5.0":"2018-04-03T11:46:28.654Z","0.5.1":"2018-04-05T03:53:46.418Z","0.5.2":"2018-04-06T02:04:38.845Z","0.5.3":"2018-04-06T02:09:23.843Z","0.5.4":"2018-04-06T02:13:02.468Z","0.5.5":"2018-04-10T16:58:08.796Z","0.5.6":"2018-04-13T00:14:25.263Z","0.5.7":"2018-04-16T22:15:25.275Z","0.5.8":"2018-04-25T03:55:25.847Z","0.5.9":"2018-04-26T21:30:06.525Z","0.5.10":"2018-04-28T00:32:58.025Z","0.5.11":"2018-05-01T04:24:52.318Z","0.5.12":"2018-05-01T23:55:30.800Z","0.5.13":"2018-05-02T21:42:20.284Z","0.6.0":"2018-05-03T19:42:56.420Z","0.6.1":"2018-05-10T17:46:25.654Z","0.6.2":"2018-05-17T01:55:10.470Z","0.6.3":"2018-05-17T04:30:29.630Z","0.6.4":"2018-05-25T02:08:54.428Z","0.6.5":"2018-05-25T05:42:28.614Z","0.6.6":"2018-05-29T21:01:59.893Z","0.6.7":"2018-05-29T21:31:46.914Z","0.7.0-beta.0":"2018-05-29T22:05:02.952Z","0.7.0-beta.1":"2018-05-30T22:00:50.124Z","0.6.8":"2018-06-06T03:47:53.824Z","0.7.0-beta.2":"2018-06-06T18:26:09.372Z","0.7.0-rc.0":"2018-06-13T22:08:13.230Z","0.7.0-rc.1":"2018-07-09T19:12:00.275Z","0.7.0-rc.2":"2018-07-13T00:30:25.101Z","0.7.0-rc.3":"2018-07-19T03:04:24.702Z","0.7.0":"2018-07-25T23:04:37.476Z","0.7.1":"2018-07-26T17:22:06.960Z","0.7.2":"2018-08-01T18:59:31.458Z","0.8.0-beta.0":"2018-08-01T19:06:14.536Z","0.8.0-beta.1":"2018-08-02T19:51:34.063Z","0.7.3":"2018-08-09T20:54:58.415Z","0.8.0-beta.2":"2018-08-10T01:30:16.023Z","0.8.0-beta.3":"2018-08-16T18:57:19.602Z","0.7.4":"2018-08-16T19:17:30.976Z","0.7.5":"2018-08-23T19:26:34.345Z","0.8.0-rc.0":"2018-08-23T19:42:14.746Z","0.8.0-rc.1":"2018-08-30T23:49:33.322Z","0.8.0":"2018-09-06T17:30:49.066Z","0.8.1":"2018-09-06T20:28:11.869Z","0.9.0-beta.0":"2018-09-06T21:27:52.760Z","0.9.0-beta.1":"2018-09-06T21:34:48.747Z","0.9.0-beta.2":"2018-09-06T21:49:11.438Z","0.8.2":"2018-09-14T17:34:57.843Z","0.9.0-beta.3":"2018-09-14T17:37:32.626Z","0.8.3":"2018-09-19T19:06:52.133Z","0.9.0-beta.4":"2018-09-19T20:16:09.117Z","0.9.0-rc.0":"2018-10-01T16:46:49.202Z","0.6.0-rc.0":"2018-10-01T16:56:33.707Z","0.8.4":"2018-10-01T17:04:26.932Z","0.9.0-rc.1":"2018-10-01T23:19:08.488Z","0.9.0-rc.2":"2018-10-05T22:09:14.634Z","0.9.0-rc.3":"2018-10-11T20:59:13.236Z","0.8.5":"2018-10-11T21:10:01.721Z","0.10.0":"2018-10-18T18:48:25.347Z","0.10.1":"2018-10-18T19:02:32.333Z","0.10.2":"2018-10-19T23:02:30.482Z","0.8.6":"2018-10-19T23:09:32.940Z","0.10.3":"2018-10-24T20:49:33.635Z","0.10.4":"2018-11-01T20:20:09.397Z","0.11.0-beta.0":"2018-11-01T22:16:56.093Z","0.8.7":"2018-11-05T17:57:32.537Z","0.11.0-beta.1":"2018-11-08T22:17:55.023Z","0.10.5":"2018-11-08T22:26:15.434Z","0.10.6":"2018-11-14T21:00:11.636Z","0.11.0-rc.0":"2018-11-14T21:18:41.235Z","0.10.7":"2018-11-26T18:52:37.324Z","0.11.0":"2018-11-26T19:05:53.439Z","0.8.8":"2018-11-26T20:00:01.074Z","0.12.0-beta.0":"2018-12-03T18:19:09.748Z","0.11.1":"2018-12-03T18:35:48.989Z","0.11.2":"2018-12-06T21:34:20.856Z","0.12.0-beta.1":"2018-12-06T21:50:25.934Z","0.11.3":"2018-12-12T19:34:34.186Z","0.12.0-beta.2":"2018-12-12T19:43:17.606Z","0.11.4":"2018-12-19T23:09:56.986Z","0.12.0-rc.0":"2018-12-19T23:17:13.062Z","0.8.9":"2019-01-08T22:10:46.420Z","0.12.0":"2019-01-08T22:20:02.702Z","0.12.1":"2019-01-09T17:06:45.255Z","0.13.0-beta.0":"2019-01-17T00:42:59.362Z","0.12.2":"2019-01-17T00:45:49.611Z","0.12.3":"2019-01-23T19:42:56.930Z","0.13.0-rc.0":"2019-01-23T19:51:02.952Z","0.12.4":"2019-01-31T01:23:11.671Z","0.13.0":"2019-01-31T01:31:32.139Z","0.14.0-beta.0":"2019-02-07T20:10:17.307Z","0.13.1":"2019-02-07T20:39:20.254Z","0.13.2":"2019-02-18T15:38:12.099Z","0.14.0-beta.1":"2019-02-18T15:45:06.498Z","0.13.3":"2019-02-21T18:19:29.141Z","0.14.0-beta.2":"2019-02-21T18:29:39.548Z","0.14.0-beta.4":"2019-03-01T02:01:37.709Z","0.13.4":"2019-03-01T02:21:26.500Z","0.14.0-beta.5":"2019-03-06T22:06:09.387Z","0.13.5":"2019-03-06T22:15:12.014Z","0.800.0-beta.6":"2019-03-14T21:05:11.371Z","0.13.6":"2019-03-14T21:14:21.214Z","0.800.0-beta.7":"2019-03-14T23:04:55.419Z","0.800.0-beta.8":"2019-03-22T14:37:29.312Z","0.800.0-beta.9":"2019-03-25T20:30:22.312Z","0.13.7":"2019-03-27T19:44:43.034Z","0.800.0-beta.10":"2019-03-27T19:54:54.489Z","0.13.8":"2019-04-03T23:17:23.666Z","0.800.0-beta.11":"2019-04-03T23:34:10.844Z","0.800.0-beta.12":"2019-04-12T20:26:50.643Z","0.800.0-beta.13":"2019-04-12T22:42:34.323Z","0.800.0-beta.14":"2019-04-15T21:08:01.455Z","0.800.0-beta.15":"2019-04-16T14:59:14.250Z","0.800.0-beta.16":"2019-04-19T21:37:27.579Z","0.800.0-beta.17":"2019-04-23T15:13:15.763Z","0.800.0-beta.18":"2019-04-23T21:22:05.665Z","0.800.0-rc.0":"2019-04-25T23:29:05.749Z","0.800.0-rc.1":"2019-04-26T21:06:42.954Z","0.800.0-rc.2":"2019-04-29T20:01:55.504Z","0.13.9":"2019-05-07T18:52:45.560Z","0.800.0-rc.3":"2019-05-07T22:28:18.868Z","0.800.0-rc.4":"2019-05-15T21:43:19.530Z","0.800.0":"2019-05-28T20:38:17.084Z","0.800.1":"2019-05-30T22:58:48.259Z","0.800.2":"2019-06-06T22:05:21.650Z","0.800.3":"2019-06-13T22:59:21.975Z","0.801.0-beta.0":"2019-06-13T23:04:19.924Z","0.801.0-beta.1":"2019-06-13T23:07:56.137Z","0.801.0-beta.2":"2019-06-13T23:10:53.339Z","0.800.4":"2019-06-24T19:29:35.962Z","0.801.0-beta.3":"2019-06-24T20:49:04.254Z","0.801.0-rc.0":"2019-06-27T20:02:58.428Z","0.800.5":"2019-06-27T20:16:08.925Z","0.800.6":"2019-06-27T20:38:10.370Z","0.801.0":"2019-07-02T21:23:22.613Z","0.801.1":"2019-07-10T17:45:25.027Z","0.802.0-next.0":"2019-07-10T17:51:38.221Z","0.801.2":"2019-07-18T00:38:31.555Z","0.802.0-next.1":"2019-07-18T00:42:48.212Z","0.802.0-rc.0":"2019-07-29T19:20:49.339Z","0.801.3":"2019-07-29T19:27:09.026Z","0.803.0-next.0":"2019-07-31T21:50:20.691Z","0.802.0":"2019-07-31T21:56:30.486Z","0.802.1":"2019-08-08T16:11:52.619Z","0.803.0-next.1":"2019-08-08T16:18:15.897Z","0.803.0-next.2":"2019-08-15T01:32:37.961Z","0.802.2":"2019-08-15T01:36:26.990Z","0.803.0-rc.0":"2019-08-15T15:25:18.695Z","0.803.0":"2019-08-22T17:19:19.924Z","0.900.0-next.0":"2019-08-22T17:24:22.267Z","0.900.0-next.1":"2019-08-28T08:56:56.238Z","0.803.1":"2019-08-28T09:02:05.292Z","0.803.2":"2019-08-29T20:52:41.044Z","0.900.0-next.2":"2019-08-29T21:03:24.090Z","0.803.3":"2019-09-04T20:17:35.038Z","0.900.0-next.3":"2019-09-05T17:51:24.450Z","0.900.0-next.4":"2019-09-11T17:50:44.318Z","0.803.4":"2019-09-11T17:56:34.731Z","0.900.0-next.5":"2019-09-18T20:30:56.781Z","0.803.5":"2019-09-18T20:36:20.746Z","0.803.6":"2019-09-25T19:21:16.130Z","0.900.0-next.6":"2019-09-25T19:25:24.019Z","0.803.7":"2019-10-02T21:04:05.081Z","0.900.0-next.7":"2019-10-02T21:28:27.038Z","0.803.8":"2019-10-03T21:51:06.553Z","0.900.0-next.8":"2019-10-03T21:59:50.665Z","0.900.0-next.9":"2019-10-11T02:08:45.330Z","0.803.9":"2019-10-11T02:13:32.374Z","0.900.0-next.10":"2019-10-16T14:36:57.172Z","0.803.10":"2019-10-16T14:46:43.747Z","0.900.0-next.11":"2019-10-16T17:13:12.265Z","0.900.0-next.12":"2019-10-17T21:28:29.740Z","0.803.12":"2019-10-17T21:39:16.950Z","0.900.0-next.13":"2019-10-21T20:32:32.136Z","0.803.13":"2019-10-22T21:11:11.804Z","0.900.0-next.14":"2019-10-22T21:24:18.217Z","0.803.14":"2019-10-23T22:04:08.306Z","0.900.0-next.15":"2019-10-23T22:13:17.364Z","0.900.0-next.16":"2019-10-25T22:29:35.983Z","0.803.15":"2019-10-28T19:00:01.608Z","0.900.0-next.17":"2019-10-28T19:05:29.400Z","0.900.0-next.18":"2019-10-29T00:54:19.635Z","0.803.16":"2019-10-30T22:42:47.693Z","0.900.0-next.19":"2019-10-31T01:42:04.826Z","0.803.17":"2019-10-31T20:48:02.438Z","0.900.0-rc.0":"2019-10-31T20:55:54.742Z","0.900.0-rc.1":"2019-11-07T20:16:39.845Z","0.803.18":"2019-11-07T20:23:44.402Z","0.803.19":"2019-11-13T20:42:39.017Z","0.900.0-rc.2":"2019-11-13T21:09:19.505Z","0.900.0-rc.3":"2019-11-21T01:53:35.616Z","0.900.0-rc.4":"2019-11-27T23:46:40.382Z","0.803.20":"2019-11-28T00:01:59.361Z","0.900.0-rc.5":"2019-12-05T01:07:43.402Z","0.900.0-rc.6":"2019-12-12T18:27:10.716Z","0.803.21":"2019-12-19T18:55:36.986Z","0.900.0-rc.7":"2019-12-19T19:29:05.121Z","0.900.0-rc.8":"2020-01-08T22:32:55.921Z","0.803.22":"2020-01-08T22:37:59.207Z","0.900.0-rc.9":"2020-01-15T21:42:19.318Z","0.803.23":"2020-01-15T21:48:45.378Z","0.900.0-rc.10":"2020-01-22T00:36:31.903Z","0.900.0-rc.11":"2020-01-29T19:02:20.347Z","0.900.0-rc.12":"2020-01-31T01:21:50.125Z","0.803.24":"2020-01-31T01:27:27.308Z","0.900.0-rc.13":"2020-02-04T22:59:15.758Z","0.900.0-rc.14":"2020-02-05T01:12:15.857Z","0.803.25":"2020-02-06T01:27:34.269Z","0.900.0":"2020-02-06T17:54:37.890Z","0.900.1":"2020-02-07T00:58:22.671Z","0.900.2":"2020-02-12T22:17:35.194Z","0.900.3":"2020-02-19T22:19:58.590Z","0.901.0-next.0":"2020-02-19T22:44:01.265Z","0.901.0-next.1":"2020-02-27T23:44:48.910Z","0.900.4":"2020-02-28T00:06:43.255Z","0.900.5":"2020-03-04T23:07:35.467Z","0.901.0-next.2":"2020-03-04T23:11:00.403Z","0.901.0-next.3":"2020-03-11T18:43:05.683Z","0.900.6":"2020-03-11T18:47:24.432Z","0.900.7":"2020-03-19T03:12:52.495Z","0.901.0-next.4":"2020-03-19T03:23:13.155Z","0.901.0-rc.0":"2020-03-24T00:12:54.001Z","0.901.0":"2020-03-25T20:18:56.063Z","0.803.26":"2020-03-30T22:12:10.136Z","0.13.10":"2020-03-30T23:00:19.098Z","0.901.1":"2020-04-08T18:41:40.598Z","0.1000.0-next.0":"2020-04-08T20:22:14.213Z","0.901.2":"2020-04-21T19:08:32.207Z","0.1000.0-next.1":"2020-04-21T19:14:32.602Z","0.901.3":"2020-04-22T20:44:42.454Z","0.1000.0-next.2":"2020-04-22T20:50:57.155Z","0.1000.0-next.3":"2020-04-29T23:15:40.615Z","0.901.4":"2020-04-29T23:47:56.403Z","0.1000.0-next.4":"2020-05-08T19:57:59.838Z","0.901.5":"2020-05-08T20:02:41.519Z","0.901.6":"2020-05-13T23:21:35.921Z","0.1000.0-next.5":"2020-05-13T23:27:59.296Z","0.1000.0-next.6":"2020-05-18T19:01:46.479Z","0.1000.0-rc.0":"2020-05-21T20:09:53.348Z","0.901.7":"2020-05-21T20:21:42.899Z","0.1000.0-rc.2":"2020-06-01T19:36:08.105Z","0.1000.0-rc.3":"2020-06-10T22:46:40.838Z","0.901.8":"2020-06-10T23:01:42.439Z","0.803.27":"2020-06-10T23:23:09.199Z","0.1000.0-rc.4":"2020-06-16T02:51:32.300Z","0.1000.0-rc.5":"2020-06-16T23:30:11.654Z","0.901.9":"2020-06-17T22:37:05.871Z","0.803.28":"2020-06-22T22:16:23.246Z","0.1000.0":"2020-06-24T20:09:35.695Z","0.1000.1":"2020-07-01T20:25:42.586Z","0.901.10":"2020-07-02T00:04:50.699Z","0.1001.0-next.0":"2020-07-09T20:52:47.367Z","0.1000.2":"2020-07-09T20:57:58.150Z","0.901.11":"2020-07-09T21:04:28.669Z","0.1001.0-next.1":"2020-07-15T20:14:55.471Z","0.1000.3":"2020-07-15T20:24:34.712Z","0.1000.4":"2020-07-22T20:22:10.025Z","0.1001.0-next.2":"2020-07-22T20:28:27.301Z","0.901.12":"2020-07-22T20:34:23.763Z","0.803.29":"2020-07-22T20:42:22.729Z","0.1000.5":"2020-07-31T20:25:32.467Z","0.1001.0-next.3":"2020-07-31T20:38:45.041Z","0.1001.0-next.4":"2020-08-06T01:07:40.653Z","0.1001.0-next.5":"2020-08-13T17:43:39.547Z","0.1000.6":"2020-08-13T18:08:00.987Z","0.1001.0-next.6":"2020-08-21T00:17:58.135Z","0.1000.7":"2020-08-21T00:26:42.616Z","0.1001.0-next.7":"2020-08-25T16:41:47.743Z","0.1001.0-rc.0":"2020-08-26T22:52:10.448Z","0.1000.8":"2020-08-26T22:56:54.443Z","0.1001.0":"2020-09-02T22:52:24.491Z","0.1100.0-next.0":"2020-09-02T23:01:02.232Z","0.1100.0-next.1":"2020-09-10T19:26:48.029Z","0.1001.1":"2020-09-10T19:30:41.507Z","0.1100.0-next.2":"2020-09-17T04:01:00.161Z","0.1001.2":"2020-09-17T04:08:13.656Z","0.1100.0-next.3":"2020-09-23T22:21:01.253Z","0.1001.3":"2020-09-23T22:33:03.661Z","0.1001.4":"2020-10-01T00:02:03.580Z","0.1100.0-next.4":"2020-10-01T02:23:42.848Z","0.1001.5":"2020-10-08T02:56:00.923Z","0.1100.0-next.5":"2020-10-08T03:03:25.215Z","0.1100.0-next.6":"2020-10-08T20:21:12.861Z","0.1001.6":"2020-10-08T20:27:11.630Z","0.1100.0-next.7":"2020-10-15T00:51:59.452Z","0.1001.7":"2020-10-15T00:59:35.995Z","0.1002.0":"2020-10-22T21:00:20.959Z","0.1100.0-rc.0":"2020-10-22T21:14:28.900Z","0.1100.0-rc.1":"2020-10-28T21:41:32.496Z","0.1100.0-rc.2":"2020-11-05T14:36:53.139Z","0.1100.0-rc.3":"2020-11-10T00:42:54.407Z","0.1100.0":"2020-11-11T22:30:19.505Z","0.1100.1":"2020-11-12T21:32:56.784Z","0.1100.2":"2020-11-18T19:05:56.266Z","0.1101.0-next.0":"2020-11-18T19:12:17.293Z","0.1100.3":"2020-12-02T21:31:22.446Z","0.1101.0-next.1":"2020-12-03T00:04:04.490Z","0.1100.4":"2020-12-09T21:57:16.995Z","0.1101.0-next.2":"2020-12-09T22:05:02.833Z","0.1101.0-next.3":"2020-12-17T16:42:15.161Z","0.1100.5":"2020-12-17T16:46:47.080Z","0.901.13":"2020-12-17T16:54:34.609Z","0.1002.1":"2020-12-17T17:03:38.431Z","0.1101.0-next.4":"2021-01-06T21:33:37.887Z","0.1100.6":"2021-01-06T21:39:26.431Z","0.1100.7":"2021-01-14T01:38:09.178Z","0.1101.0-rc.0":"2021-01-14T18:13:23.361Z","0.1101.0":"2021-01-20T19:56:16.842Z","0.1101.1":"2021-01-22T21:43:12.015Z","0.1102.0-next.0":"2021-01-28T02:27:31.493Z","0.1101.2":"2021-01-28T19:27:08.533Z","0.1102.0-rc.0":"2021-02-05T00:16:50.862Z","0.1101.3":"2021-02-05T00:34:09.622Z","0.1102.0-rc.1":"2021-02-05T19:40:38.591Z","0.1101.4":"2021-02-05T19:44:44.092Z","0.1002.2":"2021-02-05T20:30:47.545Z","0.901.14":"2021-02-05T20:40:09.370Z","0.1102.0":"2021-02-11T21:32:11.728Z","0.1200.0-next.0":"2021-02-11T23:48:05.869Z","0.1200.0-next.1":"2021-02-17T19:35:09.785Z","0.1102.1":"2021-02-17T19:43:20.866Z","0.1200.0-next.2":"2021-02-24T22:48:04.449Z","0.1102.2":"2021-02-24T22:52:16.703Z","0.1002.3":"2021-02-25T06:29:44.072Z","0.901.15":"2021-02-25T20:06:51.621Z","0.1102.3":"2021-03-03T23:27:30.798Z","0.1200.0-next.3":"2021-03-03T23:33:34.260Z","0.1102.4":"2021-03-10T20:32:23.826Z","0.1200.0-next.4":"2021-03-10T21:15:56.467Z","0.1102.5":"2021-03-17T21:19:59.529Z","0.1200.0-next.5":"2021-03-18T20:51:21.958Z","0.1200.0-next.6":"2021-03-24T18:19:44.426Z","0.1102.6":"2021-03-24T19:16:17.566Z","0.1200.0-next.7":"2021-04-02T18:00:27.816Z","0.1102.7":"2021-04-02T18:09:12.988Z","0.1102.8":"2021-04-07T23:05:31.406Z","0.1200.0-next.8":"2021-04-07T23:09:16.554Z","0.1102.9":"2021-04-14T22:10:04.871Z","0.1200.0-next.9":"2021-04-14T23:49:27.120Z","0.1102.10":"2021-04-21T22:11:42.450Z","0.1200.0-rc.0":"2021-04-21T22:15:41.385Z","0.1200.0-rc.1":"2021-04-28T22:32:22.450Z","0.1102.11":"2021-04-28T22:36:08.096Z","0.1102.12":"2021-05-06T00:03:27.658Z","0.1200.0-rc.2":"2021-05-06T00:11:51.310Z","0.1200.0-rc.3":"2021-05-11T05:01:22.280Z","0.1200.0":"2021-05-12T19:01:36.565Z","0.1102.13":"2021-05-12T22:15:33.234Z","0.1201.0-next.2":"2021-05-19T23:15:06.903Z","0.1200.1":"2021-05-19T23:18:49.410Z","0.1201.0-next.3":"2021-05-26T20:33:37.455Z","0.1200.2":"2021-05-26T20:41:29.726Z","0.1201.0-next.4":"2021-06-02T21:30:32.185Z","0.1200.3":"2021-06-02T21:41:00.176Z","0.1102.14":"2021-06-03T21:43:39.446Z","0.1200.4":"2021-06-10T16:43:34.183Z","0.1201.0-next.5":"2021-06-10T18:41:48.497Z","0.1200.5":"2021-06-17T18:39:12.012Z","0.1201.0-next.6":"2021-06-17T18:45:12.890Z","0.1201.0":"2021-06-25T00:55:02.458Z","0.1202.0-next.0":"2021-06-25T00:58:47.913Z","0.1201.1":"2021-07-01T21:32:39.760Z","0.1201.2":"2021-07-14T23:44:52.533Z","0.1202.0-next.2":"2021-07-14T23:49:31.561Z","0.1201.3":"2021-07-21T22:57:50.550Z","0.1202.0-next.3":"2021-07-21T23:05:49.258Z","0.1201.4":"2021-07-28T21:00:43.892Z","0.1202.0-rc.0":"2021-07-28T21:05:37.369Z","0.1202.0":"2021-08-04T22:58:38.123Z","0.1202.1":"2021-08-11T18:33:09.528Z","0.1300.0-next.0":"2021-08-11T21:33:10.794Z","0.1202.2":"2021-08-18T22:41:14.655Z","0.1300.0-next.1":"2021-08-18T23:46:49.551Z","0.1202.3":"2021-08-26T17:57:15.151Z","0.1300.0-next.2":"2021-08-26T19:17:14.158Z","0.1202.4":"2021-09-01T20:31:44.788Z","0.1300.0-next.3":"2021-09-01T21:13:20.408Z","0.1202.5":"2021-09-08T18:37:03.182Z","0.1300.0-next.4":"2021-09-08T19:42:46.638Z","0.1202.6":"2021-09-15T20:09:35.782Z","0.1300.0-next.5":"2021-09-15T21:15:44.711Z","0.1300.0-next.6":"2021-09-22T23:35:37.638Z","0.1202.7":"2021-09-23T01:14:27.340Z","0.1300.0-next.7":"2021-09-30T23:59:29.648Z","0.1202.8":"2021-10-01T18:33:56.509Z","0.1300.0-next.8":"2021-10-05T17:10:46.780Z","0.1202.9":"2021-10-07T00:31:20.316Z","0.1300.0-next.9":"2021-10-07T01:13:45.670Z","0.1202.10":"2021-10-13T22:32:56.727Z","0.1300.0-rc.0":"2021-10-14T00:30:07.971Z","0.1202.11":"2021-10-20T22:42:13.652Z","0.1300.0-rc.1":"2021-10-21T00:23:23.953Z","0.1102.15":"2021-10-27T19:07:51.367Z","0.1202.12":"2021-10-27T23:05:31.335Z","0.1300.0-rc.2":"2021-10-27T23:46:21.769Z","0.1300.0-rc.3":"2021-11-02T18:35:56.634Z","0.1300.0":"2021-11-03T18:54:37.180Z","0.1202.13":"2021-11-03T21:27:21.996Z","0.1301.0-next.0":"2021-11-03T22:20:25.143Z","0.1300.1":"2021-11-04T03:09:46.056Z","0.1300.2":"2021-11-11T00:21:12.361Z","0.1301.0-next.1":"2021-11-11T01:11:24.169Z","0.1300.3":"2021-11-18T00:09:08.892Z","0.1301.0-next.2":"2021-11-18T04:46:01.368Z","0.1300.4":"2021-12-01T23:55:08.507Z","0.1301.0-next.3":"2021-12-02T03:36:06.423Z","0.1202.14":"2021-12-07T18:32:56.032Z","0.1301.0-rc.0":"2021-12-09T21:38:31.008Z","0.1301.0":"2021-12-09T22:30:38.545Z","0.1302.0-next.0":"2021-12-09T22:40:05.709Z","0.1301.1":"2021-12-10T16:58:25.553Z","0.1301.2":"2021-12-15T20:40:41.967Z","0.1302.0-next.1":"2021-12-15T22:10:38.195Z","0.1102.16":"2021-12-15T22:17:14.481Z","0.1002.4":"2021-12-16T00:42:14.364Z","0.1102.17":"2021-12-16T19:35:40.988Z","0.1302.0-next.2":"2022-01-12T21:29:33.903Z","0.1301.3":"2022-01-12T22:11:15.106Z","0.1202.15":"2022-01-12T23:19:03.514Z","0.1102.18":"2022-01-13T00:10:20.095Z","0.1301.4":"2022-01-19T21:30:32.639Z","0.1302.0-rc.0":"2022-01-19T22:13:17.098Z","0.1302.0-rc.1":"2022-01-25T00:16:20.321Z","0.1302.0":"2022-01-26T21:42:43.061Z","0.1202.16":"2022-01-31T18:12:31.521Z","0.1302.1":"2022-01-31T18:44:34.287Z","0.1102.19":"2022-03-31T00:08:35.706Z","0.1202.17":"2022-03-31T22:21:48.114Z","0.1202.18":"2022-07-21T14:04:26.639Z"},"homepage":"https://github.com/angular/angular-cli","keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"repository":{"type":"git","url":"git+https://github.com/angular/angular-cli.git"},"author":{"name":"Angular Authors"},"bugs":{"url":"https://github.com/angular/angular-cli/issues"},"license":"MIT","readmeFilename":"","users":{"stone-jin":true,"tomastrajan":true,"flumpus-dev":true}}