Home

tailwind-ctp-intellisense @master - refs - log -
-
https://git.jolheiser.com/tailwind-ctp-intellisense.git
Tailwind intellisense + Catppuccin
tree log patch
don't search for pnp file above root dir
Brad Cornes <bradlc41@gmail.com>
4 years ago
5 changed files, 60 additions(+), 38 deletions(-)
M packages/tailwindcss-intellisense/src/class-names/environment.jspackages/tailwindcss-intellisense/src/class-names/environment.js
diff --git a/packages/tailwindcss-intellisense/src/class-names/environment.js b/packages/tailwindcss-intellisense/src/class-names/environment.js
index da905bec3130fc632697695f12ab7e3b0da82f94..2eb5dbd055c602bc3010f2f98b27043d2bedac72 100644
--- a/packages/tailwindcss-intellisense/src/class-names/environment.js
+++ b/packages/tailwindcss-intellisense/src/class-names/environment.js
@@ -4,8 +4,19 @@ import findUp from 'find-up'
 import resolveFrom from 'resolve-from'
 import importFrom from 'import-from'
 
-export function withUserEnvironment(base, cb) {
-  const pnpPath = findUp.sync('.pnp.js', { cwd: base })
+export function withUserEnvironment(base, root, cb) {
+  const pnpPath = findUp.sync(
+    (dir) => {
+      const pnpFile = path.join(dir, '.pnp.js')
+      if (findUp.sync.exists(pnpFile)) {
+        return pnpFile
+      }
+      if (dir === root) {
+        return findUp.stop
+      }
+    },
+    { cwd: base }
+  )
   if (pnpPath) {
     return withPnpEnvironment(pnpPath, cb)
   }
M packages/tailwindcss-intellisense/src/class-names/getPlugins.jspackages/tailwindcss-intellisense/src/class-names/getPlugins.js
diff --git a/packages/tailwindcss-intellisense/src/class-names/getPlugins.js b/packages/tailwindcss-intellisense/src/class-names/getPlugins.js
index ee27469707f7685e047c33a498079a4bbedf5ade..fd0497acee5f94271baf281f103917a68fc3135f 100644
--- a/packages/tailwindcss-intellisense/src/class-names/getPlugins.js
+++ b/packages/tailwindcss-intellisense/src/class-names/getPlugins.js
@@ -4,8 +4,8 @@ import pkgUp from 'pkg-up'
 import { isObject } from './isObject'
 import { withUserEnvironment } from './environment'
 
-export async function getBuiltInPlugins({ cwd, resolvedConfig }) {
-  return withUserEnvironment(cwd, ({ require, resolve }) => {
+export async function getBuiltInPlugins({ base, root, resolvedConfig }) {
+  return withUserEnvironment(base, root, ({ require, resolve }) => {
     const tailwindBase = path.dirname(resolve('tailwindcss/package.json'))
     try {
       return require('./lib/corePlugins.js', tailwindBase).default({
M packages/tailwindcss-intellisense/src/class-names/getUtilityConfigMap.jspackages/tailwindcss-intellisense/src/class-names/getUtilityConfigMap.js
diff --git a/packages/tailwindcss-intellisense/src/class-names/getUtilityConfigMap.js b/packages/tailwindcss-intellisense/src/class-names/getUtilityConfigMap.js
index d7aaf1fe183ba21008aab26949996eaff40066eb..38803b90fdf1765816e6f23b001759eb6f59ac75 100644
--- a/packages/tailwindcss-intellisense/src/class-names/getUtilityConfigMap.js
+++ b/packages/tailwindcss-intellisense/src/class-names/getUtilityConfigMap.js
@@ -19,12 +19,13 @@   },
 })
 
 export async function getUtilityConfigMap({
-  cwd,
+  base,
+  root,
   resolvedConfig,
   postcss,
   browserslist,
 }) {
-  const builtInPlugins = await getBuiltInPlugins({ cwd, resolvedConfig })
+  const builtInPlugins = await getBuiltInPlugins({ base, root, resolvedConfig })
   const userPlugins = Array.isArray(resolvedConfig.plugins)
     ? resolvedConfig.plugins
     : []
M packages/tailwindcss-intellisense/src/class-names/index.jspackages/tailwindcss-intellisense/src/class-names/index.js
diff --git a/packages/tailwindcss-intellisense/src/class-names/index.js b/packages/tailwindcss-intellisense/src/class-names/index.js
index 0ab940e8bf6a143000123bc38a50122642126c1e..98d3dc0b4856787f1c1800e23120ba5464125478 100644
--- a/packages/tailwindcss-intellisense/src/class-names/index.js
+++ b/packages/tailwindcss-intellisense/src/class-names/index.js
@@ -52,7 +52,7 @@     const {
       version,
       featureFlags = { future: [], experimental: [] },
       tailwindBase,
-    } = loadMeta(configDir)
+    } = loadMeta(configDir, cwd)
 
     console.log(`Found tailwindcss v${version}: ${tailwindBase}`)
 
@@ -90,6 +90,7 @@       browserslist,
       postcss,
     } = await withPackages(
       configDir,
+      cwd,
       async ({
         postcss,
         tailwindcss,
@@ -131,7 +132,11 @@         } else {
           delete config.purge
         }
 
-        const resolvedConfig = resolveConfig({ cwd: configDir, config })
+        const resolvedConfig = resolveConfig({
+          base: configDir,
+          root: cwd,
+          config,
+        })
 
         let browserslist = []
         if (
@@ -180,7 +185,8 @@       dependencies: hook.deps,
       plugins: getPlugins(config),
       variants: getVariants({ config, version, postcss, browserslist }),
       utilityConfigMap: await getUtilityConfigMap({
-        cwd: configDir,
+        base: configDir,
+        root: cwd,
         resolvedConfig,
         postcss,
         browserslist,
@@ -235,8 +241,8 @@
   return result
 }
 
-function loadMeta(configDir) {
-  return withUserEnvironment(configDir, ({ require, resolve }) => {
+function loadMeta(configDir, root) {
+  return withUserEnvironment(configDir, root, ({ require, resolve }) => {
     const tailwindBase = path.dirname(resolve('tailwindcss/package.json'))
     const version = require('tailwindcss/package.json').version
     let featureFlags
@@ -249,31 +255,35 @@     return { version, featureFlags, tailwindBase }
   })
 }
 
-function withPackages(configDir, cb) {
-  return withUserEnvironment(configDir, async ({ isPnP, require, resolve }) => {
-    const tailwindBase = path.dirname(resolve('tailwindcss/package.json'))
-    const postcss = require('postcss', tailwindBase)
-    const tailwindcss = require('tailwindcss')
+function withPackages(configDir, root, cb) {
+  return withUserEnvironment(
+    configDir,
+    root,
+    async ({ isPnP, require, resolve }) => {
+      const tailwindBase = path.dirname(resolve('tailwindcss/package.json'))
+      const postcss = require('postcss', tailwindBase)
+      const tailwindcss = require('tailwindcss')
 
-    let browserslistCommand
-    let browserslistArgs = []
-    try {
-      const browserslistBin = resolve(
-        path.join(
-          'browserslist',
-          require('browserslist/package.json', tailwindBase).bin.browserslist
-        ),
-        tailwindBase
-      )
-      if (isPnP) {
-        browserslistCommand = 'yarn'
-        browserslistArgs = ['node', browserslistBin]
-      } else {
-        browserslistCommand = process.execPath
-        browserslistArgs = [browserslistBin]
-      }
-    } catch (_) {}
+      let browserslistCommand
+      let browserslistArgs = []
+      try {
+        const browserslistBin = resolve(
+          path.join(
+            'browserslist',
+            require('browserslist/package.json', tailwindBase).bin.browserslist
+          ),
+          tailwindBase
+        )
+        if (isPnP) {
+          browserslistCommand = 'yarn'
+          browserslistArgs = ['node', browserslistBin]
+        } else {
+          browserslistCommand = process.execPath
+          browserslistArgs = [browserslistBin]
+        }
+      } catch (_) {}
 
-    return cb({ postcss, tailwindcss, browserslistCommand, browserslistArgs })
-  })
+      return cb({ postcss, tailwindcss, browserslistCommand, browserslistArgs })
+    }
+  )
 }
M packages/tailwindcss-intellisense/src/class-names/resolveConfig.jspackages/tailwindcss-intellisense/src/class-names/resolveConfig.js
diff --git a/packages/tailwindcss-intellisense/src/class-names/resolveConfig.js b/packages/tailwindcss-intellisense/src/class-names/resolveConfig.js
index f36d11c9f2b72d6bb42b37091959fbfc4d192e7d..2b72625746249d4b5081cd1e5a526cea0f32eb76 100644
--- a/packages/tailwindcss-intellisense/src/class-names/resolveConfig.js
+++ b/packages/tailwindcss-intellisense/src/class-names/resolveConfig.js
@@ -2,7 +2,7 @@ import * as path from 'path'
 import decache from './decache'
 import { withUserEnvironment } from './environment'
 
-export default function resolveConfig({ cwd, config }) {
+export default function resolveConfig({ base, root, config }) {
   if (typeof config === 'string') {
     if (!cwd) {
       cwd = path.dirname(config)
@@ -11,7 +11,7 @@     decache(config)
     config = __non_webpack_require__(config)
   }
 
-  return withUserEnvironment(cwd, ({ require, resolve }) => {
+  return withUserEnvironment(base, root, ({ require, resolve }) => {
     let resolveConfigFn = (config) => config
     const tailwindBase = path.dirname(resolve('tailwindcss/package.json'))
     try {