Skip to content

Commit

Permalink
[zero] Identify zero runtime styled path (#40555)
Browse files Browse the repository at this point in the history
  • Loading branch information
brijeshb42 committed Jan 15, 2024
1 parent 9d7a370 commit a8102f8
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 4 deletions.
2 changes: 1 addition & 1 deletion packages/mui-material/src/Badge/Badge.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { usePreviousProps } from '@mui/utils';
import { unstable_composeClasses as composeClasses } from '@mui/base/composeClasses';
import { useBadge } from '@mui/base/useBadge';
import { useSlotProps } from '@mui/base';
import styled from '../styles/styled';
import { styled } from '../zero-styled';
import useThemeProps from '../styles/useThemeProps';
import capitalize from '../utils/capitalize';
import badgeClasses, { getBadgeUtilityClass } from './badgeClasses';
Expand Down
2 changes: 2 additions & 0 deletions packages/mui-material/src/zero-styled/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// eslint-disable-next-line import/prefer-default-export
export { default as styled } from '../styles/styled';
2 changes: 2 additions & 0 deletions packages/mui-material/src/zero-styled/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// eslint-disable-next-line import/prefer-default-export
export { default as styled } from '../styles/styled';
12 changes: 12 additions & 0 deletions packages/zero-runtime/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,20 @@
"import": "./utils/index.mjs",
"require": "./utils/index.js"
},
"./exports/generateAtomics": {
"default": "./exports/generateAtomics.js"
},
"./exports/keyframes": {
"default": "./exports/keyframes.js"
},
"./exports/styled": {
"default": "./exports/styled.js"
},
"./exports/sx-plugin": {
"default": "./exports/sx-plugin.js"
},
"./exports/sx": {
"default": "./exports/sx.js"
}
}
}
5 changes: 4 additions & 1 deletion packages/zero-runtime/src/processors/styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,10 @@ export class StyledProcessor extends BaseProcessor {
);
}

const styledImportIdentifier = t.addNamedImport(this.tagSource.imported, this.tagSource.source);
const styledImportIdentifier = t.addNamedImport(
this.tagSource.imported,
process.env.PACKAGE_NAME as string,
);
const styledCall = t.callExpression(
styledImportIdentifier,
componentMetaExpression ? [componentName, componentMetaExpression] : [componentName],
Expand Down
13 changes: 12 additions & 1 deletion packages/zero-unplugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ export const plugin = createUnplugin<PluginOptions, true>((options) => {
sourceMap = false,
transformSx = true,
overrideContext,
tagResolver,
...rest
} = options;
const themeArgs = { theme };
Expand Down Expand Up @@ -166,6 +167,7 @@ export const plugin = createUnplugin<PluginOptions, true>((options) => {
root: process.cwd(),
preprocessor,
pluginOptions: {
...rest,
themeArgs: {
theme,
},
Expand All @@ -179,7 +181,16 @@ export const plugin = createUnplugin<PluginOptions, true>((options) => {
}
return context;
},
...rest,
tagResolver(source: string, tag: string) {
const tagResult = tagResolver?.(source, tag);
if (tagResult) {
return tagResult;
}
if (source.endsWith('/zero-styled')) {
return `${process.env.RUNTIME_PACKAGE_NAME}/exports/${tag}`;
}
return null;
},
babelOptions: {
...rest.babelOptions,
plugins: [
Expand Down
13 changes: 12 additions & 1 deletion packages/zero-vite-plugin/src/zero-vite-plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export default function zeroVitePlugin({
preprocessor,
transformLibraries = [],
overrideContext,
tagResolver,
...rest
}: VitePluginOptions = {}): Plugin {
const filter = createFilter(include, exclude);
Expand Down Expand Up @@ -116,7 +117,7 @@ export default function zeroVitePlugin({
let shouldReturn = url.includes('node_modules');

if (shouldReturn) {
shouldReturn = !transformLibraries.some((libName) => url.includes(libName));
shouldReturn = !transformLibraries.some((libName: string) => url.includes(libName));
}

if (shouldReturn) {
Expand Down Expand Up @@ -195,6 +196,16 @@ export default function zeroVitePlugin({
}
return context;
},
tagResolver(source: string, tag: string) {
const tagResult = tagResolver?.(source, tag);
if (tagResult) {
return tagResult;
}
if (source.endsWith('/zero-styled')) {
return `${process.env.RUNTIME_PACKAGE_NAME}/exports/${tag}`;
}
return null;
},
},
},
cache,
Expand Down
4 changes: 4 additions & 0 deletions packages/zero-vite-plugin/tsup.config.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
import { Options, defineConfig } from 'tsup';
import config from '../../tsup.config';
import zeroPkgJson from '../zero-runtime/package.json';

const external = ['@mui/zero-runtime/utils'];

const baseConfig: Options = {
...(config as Options),
tsconfig: './tsconfig.build.json',
external,
env: {
RUNTIME_PACKAGE_NAME: zeroPkgJson.name,
},
};

export default defineConfig([
Expand Down

0 comments on commit a8102f8

Please sign in to comment.