MCPcopy Index your code
hub / github.com/ember-cli/ember-cli / packageStyles

Method packageStyles

lib/broccoli/default-packager.js:538–589  ·  view source on GitHub ↗
(tree)

Source from the content-addressed store, hash-verified

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

Callers 3

_legacyPackageMethod · 0.80
ember-app-test.jsFile · 0.80
styles-test.jsFile · 0.80

Calls 2

Tested by

no test coverage detected