0.2.0 - Mid migration

This commit is contained in:
Daniel Mason 2022-04-25 14:47:15 +12:00
parent 139e6a915e
commit 7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions

131
web/node_modules/postcss-load-config/src/index.js generated vendored Normal file
View file

@ -0,0 +1,131 @@
'use strict'
const resolve = require('path').resolve
const config = require('cosmiconfig')
const loadOptions = require('./options.js')
const loadPlugins = require('./plugins.js')
/**
* Process the result from cosmiconfig
*
* @param {Object} ctx Config Context
* @param {Object} result Cosmiconfig result
*
* @return {Object} PostCSS Config
*/
const processResult = (ctx, result) => {
let file = result.filepath || ''
let config = result.config || {}
if (typeof config === 'function') {
config = config(ctx)
} else {
config = Object.assign({}, config, ctx)
}
if (!config.plugins) {
config.plugins = []
}
return {
plugins: loadPlugins(config, file),
options: loadOptions(config, file),
file: file
}
}
/**
* Builds the Config Context
*
* @param {Object} ctx Config Context
*
* @return {Object} Config Context
*/
const createContext = (ctx) => {
/**
* @type {Object}
*
* @prop {String} cwd=process.cwd() Config search start location
* @prop {String} env=process.env.NODE_ENV Config Enviroment, will be set to `development` by `postcss-load-config` if `process.env.NODE_ENV` is `undefined`
*/
ctx = Object.assign({
cwd: process.cwd(),
env: process.env.NODE_ENV
}, ctx)
if (!ctx.env) {
process.env.NODE_ENV = 'development'
}
return ctx
}
/**
* Load Config
*
* @method rc
*
* @param {Object} ctx Config Context
* @param {String} path Config Path
* @param {Object} options Config Options
*
* @return {Promise} config PostCSS Config
*/
const rc = (ctx, path, options) => {
/**
* @type {Object} The full Config Context
*/
ctx = createContext(ctx)
/**
* @type {String} `process.cwd()`
*/
path = path ? resolve(path) : process.cwd()
return config('postcss', options)
.search(path)
.then((result) => {
if (!result) {
throw new Error(`No PostCSS Config found in: ${path}`)
}
return processResult(ctx, result)
})
}
rc.sync = (ctx, path, options) => {
/**
* @type {Object} The full Config Context
*/
ctx = createContext(ctx)
/**
* @type {String} `process.cwd()`
*/
path = path ? resolve(path) : process.cwd()
const result = config('postcss', options).searchSync(path)
if (!result) {
throw new Error(`No PostCSS Config found in: ${path}`)
}
return processResult(ctx, result)
}
/**
* Autoload Config for PostCSS
*
* @author Michael Ciniawsky @michael-ciniawsky <michael.ciniawsky@gmail.com>
* @license MIT
*
* @module postcss-load-config
* @version 2.1.0
*
* @requires comsiconfig
* @requires ./options
* @requires ./plugins
*/
module.exports = rc

47
web/node_modules/postcss-load-config/src/options.js generated vendored Normal file
View file

@ -0,0 +1,47 @@
'use strict'
const req = require('import-cwd')
/**
* Load Options
*
* @private
* @method options
*
* @param {Object} config PostCSS Config
*
* @return {Object} options PostCSS Options
*/
const options = (config, file) => {
if (config.parser && typeof config.parser === 'string') {
try {
config.parser = req(config.parser)
} catch (err) {
throw new Error(`Loading PostCSS Parser failed: ${err.message}\n\n(@${file})`)
}
}
if (config.syntax && typeof config.syntax === 'string') {
try {
config.syntax = req(config.syntax)
} catch (err) {
throw new Error(`Loading PostCSS Syntax failed: ${err.message}\n\n(@${file})`)
}
}
if (config.stringifier && typeof config.stringifier === 'string') {
try {
config.stringifier = req(config.stringifier)
} catch (err) {
throw new Error(`Loading PostCSS Stringifier failed: ${err.message}\n\n(@${file})`)
}
}
if (config.plugins) {
delete config.plugins
}
return config
}
module.exports = options

85
web/node_modules/postcss-load-config/src/plugins.js generated vendored Normal file
View file

@ -0,0 +1,85 @@
'use strict'
const req = require('import-cwd')
/**
* Plugin Loader
*
* @private
* @method load
*
* @param {String} plugin PostCSS Plugin Name
* @param {Object} options PostCSS Plugin Options
*
* @return {Function} PostCSS Plugin
*/
const load = (plugin, options, file) => {
try {
if (
options === null ||
options === undefined ||
Object.keys(options).length === 0
) {
return req(plugin)
} else {
return req(plugin)(options)
}
} catch (err) {
throw new Error(`Loading PostCSS Plugin failed: ${err.message}\n\n(@${file})`)
}
}
/**
* Load Plugins
*
* @private
* @method plugins
*
* @param {Object} config PostCSS Config Plugins
*
* @return {Array} plugins PostCSS Plugins
*/
const plugins = (config, file) => {
let plugins = []
if (Array.isArray(config.plugins)) {
plugins = config.plugins.filter(Boolean)
} else {
plugins = Object.keys(config.plugins)
.filter((plugin) => {
return config.plugins[plugin] !== false ? plugin : ''
})
.map((plugin) => {
return load(plugin, config.plugins[plugin], file)
})
}
if (plugins.length && plugins.length > 0) {
plugins.forEach((plugin, i) => {
if (plugin.default) {
plugin = plugin.default
}
if (plugin.postcss === true) {
plugin = plugin()
} else if (plugin.postcss) {
plugin = plugin.postcss
}
if (
// eslint-disable-next-line
!(
(typeof plugin === 'object' && Array.isArray(plugin.plugins)) ||
(typeof plugin === 'object' && plugin.postcssPlugin) ||
(typeof plugin === 'function')
)
) {
throw new TypeError(`Invalid PostCSS Plugin found at: plugins[${i}]\n\n(@${file})`)
}
})
}
return plugins
}
module.exports = plugins