tailwind-ctp-intellisense @master -
refs -
log -
-
https://git.jolheiser.com/tailwind-ctp-intellisense.git
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)
}
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({
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
: []
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 })
+ }
+ )
}
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 {