Packages
moon
2.90.2
2.90.5
retired
2.90.4
2.90.3
2.90.2
2.90.1
2.90.0
2.89.4
2.89.1
2.89.0
2.88.0
2.87.11
2.87.10
2.87.9
2.87.8
2.87.7
2.87.6
2.87.5
2.87.4
2.87.3
2.87.2
2.87.1
2.87.0
2.86.1
2.86.0
2.85.1
2.85.0
2.84.0
2.83.0
2.82.0
2.81.4
2.81.3
2.81.2
2.81.1
2.81.0
2.80.2
2.80.1
2.80.0
2.79.13
2.79.12
2.79.11
2.79.10
2.79.9
2.79.8
2.79.7
2.79.6
2.79.5
2.79.4
2.79.3
2.79.2
2.79.1
2.79.0
2.78.4
2.78.3
2.78.2
2.78.1
2.78.0
2.77.0
2.76.5
2.76.4
2.76.3
2.76.2
2.76.1
2.76.0
2.75.0
2.74.1
2.74.0
2.73.8
2.73.7
2.73.6
2.73.5
2.73.4
2.73.3
2.73.2
2.73.1
2.73.0
2.72.5
2.72.4
2.72.3
2.72.2
2.72.1
2.72.0
2.71.1
2.71.0
2.70.0
2.69.2
2.69.1
2.69.0
2.68.11
2.68.10
Components-based design system written in elixir
Current section
Files
Jump to
Current section
Files
assets/node_modules/tailwindcss/src/lib/findAtConfigPath.js
import fs from 'fs'
import path from 'path'
/**
* Find the @config at-rule in the given CSS AST and return the relative path to the config file
*
* @param {import('postcss').Root} root
* @param {import('postcss').Result} result
*/
export function findAtConfigPath(root, result) {
let configPath = null
let relativeTo = null
root.walkAtRules('config', (rule) => {
relativeTo = rule.source?.input.file ?? result.opts.from ?? null
if (relativeTo === null) {
throw rule.error(
'The `@config` directive cannot be used without setting `from` in your PostCSS config.'
)
}
if (configPath) {
throw rule.error('Only one `@config` directive is allowed per file.')
}
let matches = rule.params.match(/(['"])(.*?)\1/)
if (!matches) {
throw rule.error('A path is required when using the `@config` directive.')
}
let inputPath = matches[2]
if (path.isAbsolute(inputPath)) {
throw rule.error('The `@config` directive cannot be used with an absolute path.')
}
configPath = path.resolve(path.dirname(relativeTo), inputPath)
if (!fs.existsSync(configPath)) {
throw rule.error(
`The config file at "${inputPath}" does not exist. Make sure the path is correct and the file exists.`
)
}
rule.remove()
})
return configPath ? configPath : null
}