(tree)
| 536 | * @return {BroccoliTree} |
| 537 | */ |
| 538 | packageStyles(tree) { |
| 539 | if (this._cachedProcessedStyles === null) { |
| 540 | let cssMinificationEnabled = this.minifyCSS.enabled; |
| 541 | let options = { |
| 542 | outputPaths: this.distPaths.appCssFile, |
| 543 | registry: this.registry, |
| 544 | minifyCSS: this.minifyCSS.options, |
| 545 | treeType: 'styles', |
| 546 | }; |
| 547 | |
| 548 | let stylesAndVendor = callAddonsPreprocessTreeHook(this.project, 'css', tree); |
| 549 | let preprocessedStyles = preprocessCss(stylesAndVendor, '/app/styles', '/assets', options); |
| 550 | |
| 551 | let vendorStyles = []; |
| 552 | for (let outputFile in this.styleOutputFiles) { |
| 553 | let isMainVendorFile = outputFile === this.distPaths.vendorCssFile; |
| 554 | let headerFiles = this.styleOutputFiles[outputFile]; |
| 555 | let inputFiles = isMainVendorFile ? ['addon-tree-output/**/__COMPILED_STYLES__/**/*.css'] : []; |
| 556 | |
| 557 | vendorStyles.push( |
| 558 | concat(stylesAndVendor, { |
| 559 | headerFiles, |
| 560 | inputFiles, |
| 561 | outputFile, |
| 562 | allowNone: true, |
| 563 | annotation: `Concat: Vendor Styles${outputFile}`, |
| 564 | }) |
| 565 | ); |
| 566 | } |
| 567 | |
| 568 | vendorStyles = mergeTrees(vendorStyles, { |
| 569 | annotation: 'TreeMerger (vendorStyles)', |
| 570 | overwrite: true, |
| 571 | }); |
| 572 | |
| 573 | if (cssMinificationEnabled === true) { |
| 574 | options.minifyCSS.registry = options.registry; |
| 575 | preprocessedStyles = preprocessMinifyCss(preprocessedStyles, options.minifyCSS); |
| 576 | vendorStyles = preprocessMinifyCss(vendorStyles, options.minifyCSS); |
| 577 | } |
| 578 | |
| 579 | this._cachedProcessedStyles = callAddonsPostprocessTreeHook( |
| 580 | this.project, |
| 581 | 'css', |
| 582 | mergeTrees([preprocessedStyles, vendorStyles], { |
| 583 | annotation: 'Packaged Styles', |
| 584 | }) |
| 585 | ); |
| 586 | } |
| 587 | |
| 588 | return this._cachedProcessedStyles; |
| 589 | } |
| 590 | |
| 591 | /* |
| 592 | * Given an input tree, returns a properly assembled Broccoli tree with vendor |
no test coverage detected