daisyui icon indicating copy to clipboard operation
daisyui copied to clipboard

Tailwind Intellisense not works || Error [ERR_REQUIRE_ESM]: require() of ES Module

Open jamaluddinrumi opened this issue 3 years ago โ€ข 7 comments

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "storyblok/**/*.{vue,js}",
    "components/**/*.{vue,js}",
    "pages/**/*.vue",
  ],
  theme: {
    extend: {},
  },
  plugins: [
    require("daisyui"),
  ],
};

make tailwind intellisense not work. output:

[tailwind.config.js] File changed: /Volumes/sambashare/nuxt3-daisyui-starter/tailwind.config.js
[tailwind.config.js] Building...
[Error - 9:24:20 PM] Tailwind CSS: require() of ES Module /Volumes/sambashare/nuxt3-daisyui-starter/node_modules/nanoid/non-secure/index.js from /Volumes/sambashare/nuxt3-daisyui-starter/node_modules/postcss/lib/input.js not supported.
Instead change the require of index.js in /Volumes/sambashare/nuxt3-daisyui-starter/node_modules/postcss/lib/input.js to a dynamic import() which is available in all CommonJS modules.
Error [ERR_REQUIRE_ESM]: require() of ES Module /Volumes/sambashare/nuxt3-daisyui-starter/node_modules/nanoid/non-secure/index.js from /Volumes/sambashare/nuxt3-daisyui-starter/node_modules/postcss/lib/input.js not supported.
Instead change the require of index.js in /Volumes/sambashare/nuxt3-daisyui-starter/node_modules/postcss/lib/input.js to a dynamic import() which is available in all CommonJS modules.

but, when require("daisyui"), removed, tailwind intellisense works. even @tailwindcss/* plugins is added, tailwind intellisense still works.

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "storyblok/**/*.{vue,js}",
    "components/**/*.{vue,js}",
    "pages/**/*.vue",
  ],
  theme: {
    extend: {},
  },
  plugins: [
    
  ],
};

[tailwind.config.js] File changed: /Volumes/sambashare/nuxt3-daisyui-starter/tailwind.config.js
[tailwind.config.js] Building...

jamaluddinrumi avatar Dec 22 '22 14:12 jamaluddinrumi

i'm just creating workaround

i create empty tailwind.config.js in favor tailwind intellisense activated

# left it empty

and create tailwind.config.ts and loading daisyui here

import type { Config } from 'tailwindcss'

export default <Config>{
  content: [
    "storyblok/**/*.{vue,js}",
    "components/**/*.{vue,js}",
    "pages/**/*.vue",
  ],
  theme: {
    extend: {},
  },
  plugins: [
    require("@tailwindcss/typography"),
    require("@tailwindcss/forms"),
    require("@tailwindcss/line-clamp"),
    require("@tailwindcss/aspect-ratio"),
    require("daisyui"),
  ],
}

jamaluddinrumi avatar Dec 22 '22 14:12 jamaluddinrumi

Can you give me a reproduction repo?
Because I use Tailwind CSS Intellisense plugin on VScode on a regular basis and I see no issues.

I also tested this Nuxt 3 example (on my VScode locally - with Tailwind CSS Intellisense plugin):
https://stackblitz.com/edit/daisyui-nuxt3
And everything looks okay ๐Ÿค”

saadeghi avatar Dec 22 '22 15:12 saadeghi

this is it https://github.com/jamaluddinrumi/nuxt3-daisyui-starter

there is also recommendation for vscode extensions as well inside .vscode directory

gladly waiting for your response

jamaluddinrumi avatar Dec 22 '22 16:12 jamaluddinrumi

I just cloned your repo, ran npm i and npm run dev.
It works. There were no errors. only this warning:

(node:67069) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time                                      19:28:10
(Use `node --trace-warnings ...` to show where the warning was created)

And the only problem I see was that your empty tailwind.config.js prevented the tailwind.config.ts to work. I removed tailwind.config.js and now it's okay.

What should I do to see that ERR_REQUIRE_ESM error?

saadeghi avatar Dec 22 '22 16:12 saadeghi

sorry i didn't mention that error is appear on VSCode.

did you take a look on Tailiwind CSS Intellisense inside your VSCode?

jamaluddinrumi avatar Dec 22 '22 18:12 jamaluddinrumi

Screen Shot 2022-12-23 at 11 20 47 AM

jamaluddinrumi avatar Dec 23 '22 04:12 jamaluddinrumi

so, i'm just trying "tailwindCSS.experimental.configFile" and point it to my former tailwind config with require('daisyui') commented

.vscode/settings.json

"tailwindCSS.experimental.configFile": "tailwind.config.intellisense.js"

tailwind.config.intellisense.js

is same as with tailwinf.config.js but with daisyui is excluded from plugins

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "storyblok/**/*.{vue,js}",
    "components/**/*.{vue,js}",
    "pages/**/*.vue",
  ],
  theme: {
    extend: {},
  },
  plugins: [
    require("@tailwindcss/typography"),
    require("@tailwindcss/forms"),
    require("@tailwindcss/line-clamp"),
    require("@tailwindcss/aspect-ratio"),
    // require("daisyui"), 
  ],
}

so far it works nicely for me Screen Shot 2022-12-23 at 11 34 27 AM

jamaluddinrumi avatar Dec 23 '22 04:12 jamaluddinrumi