mirror of
https://github.com/zhigang1992/nativewind.git
synced 2026-06-16 02:34:28 +08:00
fix: add output option to postcss plugin
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
|
import { writeFileSync } from "node:fs";
|
||||||
import { Plugin, PluginCreator } from "postcss";
|
import { Plugin, PluginCreator } from "postcss";
|
||||||
import { TailwindConfig } from "tailwindcss/tailwind-config";
|
|
||||||
import { normaliseSelector } from "../shared/selector";
|
import { normaliseSelector } from "../shared/selector";
|
||||||
import { toReactNative } from "./to-react-native";
|
import { toReactNative } from "./to-react-native";
|
||||||
import { MediaRecord, StyleRecord, Style, StyleError } from "../types/common";
|
import { MediaRecord, StyleRecord, Style, StyleError } from "../types/common";
|
||||||
@@ -12,7 +12,9 @@ declare module "postcss" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PostcssPluginOptions extends Partial<TailwindConfig> {
|
export interface PostcssPluginOptions {
|
||||||
|
important?: boolean | string;
|
||||||
|
output?: string;
|
||||||
done?: (options: {
|
done?: (options: {
|
||||||
styles: StyleRecord;
|
styles: StyleRecord;
|
||||||
media: MediaRecord;
|
media: MediaRecord;
|
||||||
@@ -21,9 +23,8 @@ export interface PostcssPluginOptions extends Partial<TailwindConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const plugin: PluginCreator<PostcssPluginOptions> = ({
|
export const plugin: PluginCreator<PostcssPluginOptions> = ({
|
||||||
done = () => {
|
done,
|
||||||
return;
|
output,
|
||||||
},
|
|
||||||
important,
|
important,
|
||||||
} = {}): Plugin => {
|
} = {}): Plugin => {
|
||||||
const styles: StyleRecord = {};
|
const styles: StyleRecord = {};
|
||||||
@@ -82,7 +83,17 @@ export const plugin: PluginCreator<PostcssPluginOptions> = ({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
done({ styles, media, errors });
|
if (done) done({ styles, media, errors });
|
||||||
|
if (output) {
|
||||||
|
writeFileSync(
|
||||||
|
output,
|
||||||
|
`module.exports = {
|
||||||
|
platform: 'native',
|
||||||
|
styles: ${JSON.stringify(styles)},
|
||||||
|
media: ${JSON.stringify(media)}
|
||||||
|
}`
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user