Skip to content

Commit

Permalink
fix(exposeConfig): named exports in mjs for tree-shaking (#582)
Browse files Browse the repository at this point in the history
* fix(exposeConfig): mjs with write as true

* fix(exposeConfig): generating named exports

* fix(exposeConfig): adding default export for backwards compatibility

* refactor(exposeConfig): using named exports in default

* refactor: using join

* fix(exposeConfig): adding type declarations

Co-authored-by: Sébastien Chopin <seb@nuxtjs.com>
  • Loading branch information
ineshbose and Atinux committed Dec 19, 2022
1 parent 09a1a78 commit 6c3168d
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,14 @@ export default defineNuxtModule<ModuleOptions>({
// Expose resolved tailwind config as an alias
// https://tailwindcss.com/docs/configuration/#referencing-in-javascript
if (moduleOptions.exposeConfig) {
const configOptions = Object.keys(resolvedConfig)
const template = addTemplate({
filename: 'tailwind.config.mjs',
getContents: () => `export default ${JSON.stringify(resolvedConfig, null, 2)}`
getContents: () => `${Object.entries(resolvedConfig).map(([k, v]) => `export const ${k} = ${JSON.stringify(v, null, 2)}`).join('\n')}\nexport default { ${configOptions.join(', ')} }`
})
addTemplate({
filename: 'tailwind.config.d.ts',
getContents: () => 'declare const config: import("tailwindcss").Config\nexport { config as default }',
getContents: () => `type tailwindcssConfig = import("tailwindcss").Config\ndeclare const config: tailwindcssConfig\n${configOptions.map((o) => `declare const ${o}: tailwindcssConfig["${o}"]`).join('\n')}\nexport { config as default, ${configOptions.join(', ')} }`,
write: true
})
nuxt.options.alias['#tailwind-config'] = template.dst
Expand Down

0 comments on commit 6c3168d

Please sign in to comment.