UNPKG

10up-toolkit

Version:

Collection of reusable scripts for 10up development.

50 lines (40 loc) 1.37 kB
/** * External dependencies */ const { sync: spawn } = require('cross-spawn'); const { sync: resolveBin } = require('resolve-bin'); /** * Internal dependencies */ const { fromConfigRoot, getArgsFromCLI, hasArgInCLI, hasFileArgInCLI, hasProjectFile, hasPackageProp, } = require('../utils'); const args = getArgsFromCLI(); const defaultFilesArgs = hasFileArgInCLI() ? [] : ['**/*.(s(c|a)ss|css)']; // See: https://stylelint.io/user-guide/configuration const hasLintConfig = hasArgInCLI('--config') || hasProjectFile('.stylelintrc.js') || hasProjectFile('.stylelintrc.json') || hasProjectFile('.stylelintrc.yaml') || hasProjectFile('.stylelintrc.yml') || hasProjectFile('stylelint.config.js') || hasProjectFile('.stylelintrc') || hasPackageProp('stylelint'); const defaultConfigArgs = !hasLintConfig ? ['--config', fromConfigRoot('stylelint.config.js')] : []; // See: https://github.com/stylelint/stylelint/blob/master/docs/user-guide/configuration.md#stylelintignore. const hasIgnoredFiles = hasArgInCLI('--ignore-path') || hasProjectFile('.stylelintignore'); const defaultIgnoreArgs = !hasIgnoredFiles ? ['--ignore-path', fromConfigRoot('.stylelintignore')] : []; const result = spawn( resolveBin('stylelint'), [...defaultConfigArgs, ...defaultIgnoreArgs, ...args, ...defaultFilesArgs], { stdio: 'inherit' }, ); process.exit(result.status);