Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | 1x 1x 1x 1x 1x 1x 97x 97x 97x 97x 97x 97x 97x 10x 10x 10x 97x 97x 97x | /* eslint-disable @typescript-eslint/no-explicit-any */ import { createCssSelectorForTs } from 'cyia-code-util'; import { Injector } from 'static-injector'; import { VariableDeclaration } from 'typescript'; import * as webpack from 'webpack'; import { TemplateScopeOutside } from '../../application/library-template-scope.service'; import { GLOBAL_TEMPLATE_SUFFIX } from '../../library'; import { ExtraTemplateData } from '../../library/type'; import { BuildPlatform } from '../../platform/platform'; import { literalResolve } from '../../util'; import { InjectorSymbol, TemplateScopeSymbol } from '../const'; import { LibraryTemplateLiteralConvertOptions } from '../type'; export default async function ( this: webpack.LoaderContext<any>, data: string, map: string ) { const callback = this.async(); const selector = createCssSelectorForTs(data); const injector: Injector = (this._compilation! as any)[InjectorSymbol]; const buildPlatform = injector.get(BuildPlatform); const templateScopeOutside = (this._compilation as any)[ TemplateScopeSymbol ] as TemplateScopeOutside; const selfTemplateNode = selector.queryOne( `VariableDeclaration[name="$self_${GLOBAL_TEMPLATE_SUFFIX}"]` ) as VariableDeclaration; if (selfTemplateNode) { const content = selfTemplateNode.initializer!.getText(); const config: ExtraTemplateData = literalResolve(content); this.emitFile( config.outputPath + buildPlatform.fileExtname.contentTemplate, literalResolve<LibraryTemplateLiteralConvertOptions>( `\`${config.template}\``, { directivePrefix: buildPlatform.templateTransform.getData().directivePrefix, eventListConvert: buildPlatform.templateTransform.eventListConvert, templateInterpolation: buildPlatform.templateTransform.templateInterpolation, fileExtname: buildPlatform.fileExtname, } ) ); } const libraryTemplateNode = selector.queryOne( `VariableDeclaration[name="library_${GLOBAL_TEMPLATE_SUFFIX}"]` ) as VariableDeclaration; Iif (libraryTemplateNode) { const content = libraryTemplateNode.initializer!.getText(); const config: Record<string, ExtraTemplateData> = literalResolve(content); for (const key in config) { if (Object.prototype.hasOwnProperty.call(config, key)) { const element = config[key]; templateScopeOutside.setScopeExtraUseComponents(key, { useComponents: element.useComponents!, templateList: [element.template], }); } } } callback(undefined, data, map); } |