@@ -2,20 +2,11 @@ import type { Plugin, OutputChunk, NormalizedOutputOptions, OutputBundle } from
22import type JavaScriptTypes from '@ast-grep/napi/lang/JavaScript' ;
33import type { Kinds } from '@ast-grep/napi/types/staticTypes' ;
44import { Lang , parse } from '@ast-grep/napi' ;
5- import MagicString from 'magic-string' ;
6-
7- export type LibInjectCssOptions = {
8- /**
9- * Whether to generate sourcemaps
10- * @default true
11- */
12- sourcemap ?: boolean ;
13- }
145
156/**
167 * Extract CSS imports from source code
178 */
18- const extractCssImports = ( code : string , id : string ) : string [ ] => {
9+ const extractCssImports = ( code : string ) : string [ ] => {
1910 const cssImports : string [ ] = [ ] ;
2011
2112 // Match CSS import statements
@@ -35,9 +26,7 @@ const extractCssImports = (code: string, id: string): string[] => {
3526 * Inject css at the top of each generated chunk file for tsdown library builds.
3627 * This plugin automatically imports CSS files that are referenced by each chunk.
3728 */
38- export const libInjectCss = ( options : LibInjectCssOptions = { } ) : Plugin => {
39- const { sourcemap = true } = options ;
40-
29+ export const libInjectCss = ( ) : Plugin => {
4130 // Track CSS imports per module
4231 const cssImportMap = new Map < string , string [ ] > ( ) ;
4332 // Track which modules are included in which chunks
@@ -65,7 +54,7 @@ export const libInjectCss = (options: LibInjectCssOptions = {}): Plugin => {
6554 return null ;
6655 }
6756
68- const cssImports = extractCssImports ( code , id ) ;
57+ const cssImports = extractCssImports ( code ) ;
6958
7059 if ( cssImports . length > 0 ) {
7160 console . log ( `BOSH: Found ${ cssImports . length } CSS imports in ${ id } :` , cssImports ) ;
@@ -112,7 +101,11 @@ export const libInjectCss = (options: LibInjectCssOptions = {}): Plugin => {
112101 const outputChunk = chunk as OutputChunk ;
113102
114103 // Skip non-JavaScript files (like .d.ts files)
115- if ( ! outputChunk . fileName . endsWith ( '.js' ) && ! outputChunk . fileName . endsWith ( '.mjs' ) && ! outputChunk . fileName . endsWith ( '.cjs' ) ) {
104+ if (
105+ ! outputChunk . fileName . endsWith ( '.js' ) &&
106+ ! outputChunk . fileName . endsWith ( '.mjs' ) &&
107+ ! outputChunk . fileName . endsWith ( '.cjs' )
108+ ) {
116109 continue ;
117110 }
118111
@@ -122,10 +115,7 @@ export const libInjectCss = (options: LibInjectCssOptions = {}): Plugin => {
122115 continue ;
123116 }
124117
125- const excludeTokens : Kinds < JavaScriptTypes > [ ] = [
126- 'import_statement' ,
127- 'expression_statement'
128- ] ;
118+ const excludeTokens : Kinds < JavaScriptTypes > [ ] = [ 'import_statement' , 'expression_statement' ] ;
129119
130120 // Find the position to inject CSS imports
131121 const node = parse < JavaScriptTypes > ( Lang . JavaScript , outputChunk . code )
@@ -151,9 +141,7 @@ export const libInjectCss = (options: LibInjectCssOptions = {}): Plugin => {
151141 cssFilePath = `./${ cssFilePath } ` ;
152142 }
153143
154- const injection = options . format === 'es'
155- ? `import '${ cssFilePath } ';`
156- : `require('${ cssFilePath } ');` ;
144+ const injection = options . format === 'es' ? `import '${ cssFilePath } ';` : `require('${ cssFilePath } ');` ;
157145
158146 injections . push ( injection ) ;
159147 }
@@ -164,11 +152,6 @@ export const libInjectCss = (options: LibInjectCssOptions = {}): Plugin => {
164152
165153 // Update code and sourcemap
166154 outputChunk . code = code ;
167-
168- if ( sourcemap && options . sourcemap ) {
169- const ms = new MagicString ( code ) ;
170- outputChunk . map = ms . generateMap ( { hires : 'boundary' } ) as any ;
171- }
172155 }
173156 }
174157 } ;
0 commit comments