From 4cdbd7257a444321cca4372dc111c3c455baf8d0 Mon Sep 17 00:00:00 2001 From: Rohit Singh Date: Sun, 17 Dec 2023 23:00:55 +0530 Subject: [PATCH] fix: flow type issues and aliases property drilling --- apps/nextjs-example/.babelrc.js | 8 ++++---- packages/babel-plugin/src/utils/state-manager.js | 16 +++++----------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/apps/nextjs-example/.babelrc.js b/apps/nextjs-example/.babelrc.js index eadb31227..303cf03a3 100644 --- a/apps/nextjs-example/.babelrc.js +++ b/apps/nextjs-example/.babelrc.js @@ -9,13 +9,13 @@ module.exports = { runtimeInjection: false, genConditionalClasses: true, treeshakeCompensation: true, + aliases: { + '@/app/*': './app/*', + '@/components/*': './components/*', + }, unstable_moduleResolution: { type: 'commonJS', rootDir: path.join(__dirname, '../..'), - aliases: { - '@/app/*': './app/*', - '@/components/*': './components/*', - }, }, }, ], diff --git a/packages/babel-plugin/src/utils/state-manager.js b/packages/babel-plugin/src/utils/state-manager.js index d7b72b5cd..f823ae540 100644 --- a/packages/babel-plugin/src/utils/state-manager.js +++ b/packages/babel-plugin/src/utils/state-manager.js @@ -26,18 +26,15 @@ type ModuleResolution = type: 'commonJS', rootDir: string, themeFileExtension?: string, - aliases?: any, } | { type: 'haste', themeFileExtension?: string, - aliases?: any, } | { type: 'experimental_crossFileParsing', rootDir: string, themeFileExtension?: string, - aliases?: any, }; export type StyleXOptions = $ReadOnly<{ @@ -49,7 +46,7 @@ export type StyleXOptions = $ReadOnly<{ treeshakeCompensation?: boolean, genConditionalClasses: boolean, unstable_moduleResolution: void | ModuleResolution, - aliases: any, + aliases: $ReadOnly<{ [string]: string }>, ... }>; @@ -221,12 +218,9 @@ export default class StateManager { switch (this.options.unstable_moduleResolution?.type) { case 'commonJS': { const rootDir = this.options.unstable_moduleResolution.rootDir; - const aliases = - this.options.unstable_moduleResolution.aliases ?? - this.options.aliases ?? - undefined; + const aliases = this.options.aliases; const themeFileExtension = - this.options.unstable_moduleResolution.themeFileExtension ?? + this.options.unstable_moduleResolution?.themeFileExtension ?? '.stylex'; if (!matchesFileSuffix(themeFileExtension)(importPath)) { return false; @@ -250,7 +244,7 @@ export default class StateManager { return ['themeNameRef', addFileExtension(importPath, sourceFilePath)]; } case 'experimental_crossFileParsing': { - const aliases = this.options.aliases ?? undefined; + const aliases = this.options.aliases; const themeFileExtension = this.options.unstable_moduleResolution.themeFileExtension ?? '.stylex'; @@ -280,7 +274,7 @@ export default class StateManager { } } // a function generate Regex to match the path of files with aliases -function generateAliasRegex(alias: string) { +function generateAliasRegex(alias: string): RegExp { const regex = new RegExp('^' + alias + '/(.*)'); return regex; }