{"bin":{"build-optimizer":"src/build-optimizer/cli.js"},"bugs":{"url":"https://github.com/angular/angular-cli/issues"},"dist":{"shasum":"8d2d61c2609b48e2998a1fd396247e7e335fbdda","tarball":"https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.0-rc.0.tgz","fileCount":28,"integrity":"sha512-VOdnZy2IWa3hEdPeCsoLt0tCidljfT2dLRPRr/lZmXH0/X47JOyzJE80DqsgG6//sAlul/MSecJmKALA/Y422w==","signatures":[{"sig":"MEUCIDNLl682pP645cR0yQ4rDOc6B7IPrC9Ihv99+/YUHtyuAiEAwzdmz7ioR6LFZ9lNwBRc3e9tiOgqO25BEawNNX2eZgE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"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"},"main":"src/index.js","name":"@angular-devkit/build-optimizer","author":{"name":"Angular Authors"},"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","engines":{"npm":"^6.11.0 || ^7.5.6 || >=8.0.0","node":"^12.20.0 || ^14.15.0 || >=16.10.0","yarn":">= 1.13.0"},"gitHead":"6a266bb8d7320eba2f9b9df8d02d6e1fe7d73a10","license":"MIT","typings":"src/index.d.ts","_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"homepage":"https://github.com/angular/angular-cli","keywords":["angular","Angular CLI","devkit","sdk","Angular DevKit"],"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.","repository":{"url":"git+https://github.com/angular/angular-cli.git","type":"git"},"_npmVersion":"7.24.0","description":"Angular Build Optimizer","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"}],"_nodeVersion":"16.10.0","dependencies":{"tslib":"2.3.1","source-map":"0.7.3","typescript":"4.5.2"},"experimental":true,"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"webpack":"^5.30.0"},"peerDependenciesMeta":{"webpack":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/build-optimizer_0.1301.0-rc.0_1639085910811_0.11997457034734538","host":"s3://npm-registry-packages"},"_id":"@angular-devkit/build-optimizer@0.1301.0-rc.0","version":"0.1301.0-rc.0"}