@@ -8,22 +8,19 @@ import { generateClassNamesTsCode } from "./classNames";
88import * as fs from "fs" ;
99import { join as pathJoin , basename as pathBasename , relative as pathRelative } from "path" ;
1010import type { Icon } from "../../bin/only-include-used-icons" ;
11- import { pathOfIconsJson } from "../../bin/only-include-used-icons" ;
1211
13- export function cssToTs ( ) {
14- const projectRoot = getProjectRoot ( ) ;
15-
16- const dsfrDistDirPath = pathJoin ( projectRoot , "dsfr" ) ;
17-
18- const rawCssCode = fs . readFileSync ( pathJoin ( dsfrDistDirPath , "dsfr.css" ) ) . toString ( "utf8" ) ;
19-
20- const generatedDirPath = pathJoin ( projectRoot , "src" , "lib" , "generatedFromCss" ) ;
12+ export function cssToTs ( params : {
13+ rawDsfrCssCode : string ;
14+ generatedDirPath : string ;
15+ icons : Icon [ ] ;
16+ } ) {
17+ const { rawDsfrCssCode, generatedDirPath, icons } = params ;
2118
2219 fs . mkdirSync ( generatedDirPath , { "recursive" : true } ) ;
2320
2421 const warningMessage = [
2522 `// This file is generated automatically by ${ pathRelative (
26- projectRoot ,
23+ getProjectRoot ( ) ,
2724 __filename
2825 ) } , please don't edit.`
2926 ] . join ( "\n" ) ;
@@ -36,7 +33,7 @@ export function cssToTs() {
3633 [
3734 warningMessage ,
3835 `` ,
39- generateGetColorOptionsTsCode ( rawCssCode ) ,
36+ generateGetColorOptionsTsCode ( rawDsfrCssCode ) ,
4037 `` ,
4138 `export type ColorOptions = ReturnType<typeof getColorOptions>;` ,
4239 ``
@@ -55,7 +52,7 @@ export function cssToTs() {
5552 ""
5653 ) } ";`,
5754 `` ,
58- generateGetColorDecisionsTsCode ( rawCssCode ) ,
55+ generateGetColorDecisionsTsCode ( rawDsfrCssCode ) ,
5956 `` ,
6057 `export type ColorDecisions = ReturnType<typeof getColorDecisions>;` ,
6158 ``
@@ -66,7 +63,10 @@ export function cssToTs() {
6663
6764 fs . writeFileSync (
6865 pathJoin ( generatedDirPath , "breakpoints.ts" ) ,
69- Buffer . from ( [ warningMessage , `` , generateBreakpointsTsCode ( rawCssCode ) ] . join ( "\n" ) , "utf8" )
66+ Buffer . from (
67+ [ warningMessage , `` , generateBreakpointsTsCode ( rawDsfrCssCode ) ] . join ( "\n" ) ,
68+ "utf8"
69+ )
7070 ) ;
7171
7272 fs . writeFileSync (
@@ -76,7 +76,7 @@ export function cssToTs() {
7676 warningMessage ,
7777 `import { breakpoints } from "../breakpoints";` ,
7878 `` ,
79- generateTypographyTsCode ( rawCssCode ) ,
79+ generateTypographyTsCode ( rawDsfrCssCode ) ,
8080 ``
8181 ] . join ( "\n" ) ,
8282 "utf8"
@@ -85,7 +85,10 @@ export function cssToTs() {
8585
8686 fs . writeFileSync (
8787 pathJoin ( generatedDirPath , "spacing.ts" ) ,
88- Buffer . from ( [ warningMessage , `` , generateSpacingTsCode ( rawCssCode ) , `` ] . join ( "\n" ) , "utf8" )
88+ Buffer . from (
89+ [ warningMessage , `` , generateSpacingTsCode ( rawDsfrCssCode ) , `` ] . join ( "\n" ) ,
90+ "utf8"
91+ )
8992 ) ;
9093
9194 fs . writeFileSync (
@@ -95,23 +98,13 @@ export function cssToTs() {
9598 warningMessage ,
9699 `` ,
97100 generateClassNamesTsCode ( {
98- rawCssCode,
99- ...( ( ) => {
100- const icons : Icon [ ] = JSON . parse (
101- fs
102- . readFileSync ( pathJoin ( dsfrDistDirPath , pathOfIconsJson ) )
103- . toString ( "utf8" )
104- ) ;
105-
106- return {
107- "dsfrIconClassNames" : icons
108- . filter ( ( { prefix } ) => prefix === "fr-icon-" )
109- . map ( ( { iconId, prefix } ) => `${ prefix } ${ iconId } ` ) ,
110- "remixiconClassNames" : icons
111- . filter ( ( { prefix } ) => prefix === "ri-" )
112- . map ( ( { iconId, prefix } ) => `${ prefix } ${ iconId } ` )
113- } ;
114- } ) ( )
101+ "rawCssCode" : rawDsfrCssCode ,
102+ "dsfrIconClassNames" : icons
103+ . filter ( ( { prefix } ) => prefix === "fr-icon-" )
104+ . map ( ( { iconId, prefix } ) => `${ prefix } ${ iconId } ` ) ,
105+ "remixiconClassNames" : icons
106+ . filter ( ( { prefix } ) => prefix === "ri-" )
107+ . map ( ( { iconId, prefix } ) => `${ prefix } ${ iconId } ` )
115108 } ) ,
116109 ``
117110 ] . join ( "\n" ) ,
0 commit comments