0
最後の開発者から残ったいくつかのコードに問題があります。私はcsscombを崇高に走らせて、新しいパッケージで動作するように更新しようとしています。私はscssファイルでパッケージを実行しようとするとこのエラーに遭遇しました。完全なエラーは、以下に貼り付けられます。データが無効です。チャンクはオブジェクトのバッファではなく、文字列でなければなりません。
CSScomb error:
net.js:658
throw new TypeError(
^
TypeError: Invalid data, chunk must be a string or buffer, not object
at Socket.write (net.js:658:11)
at combCSS (/Users/michaelr/Library/Application Support/Sublime Text 3/Packages/sublime-csscomb/csscomb.js:39:20)
at Socket.<anonymous> (/Users/michaelr/Library/Application Support/Sublime Text 3/Packages/sublime-csscomb/csscomb.js:18:5)
完全なコードは次のとおりです。私は誰もこのようなこのプラグインの問題に遭遇するのを見たことがないので、残念ながらノードのデバッグまで私のリーグから少し外れています。私はグーグルで遭遇した多くのエラーを修正しましたが、これを見つけることができませんでした。どのような助けにも感謝します!
// Set up Variables
var CSScomb = require ('./node_modules/csscomb/lib/csscomb');
var comb = new CSScomb();
// Set encoding
process.stdin.resume();
process.stdin.setEncoding('utf8');
// Capture data
var input = '';
process.stdin.on('data', function (data) {
input += data;
});
// All data is read, run comb:
process.stdin.on('end', function() {
combCSS();
});
// Parse css
function combCSS() {
// Apply configuration:
comb.configure(getConfig());
// Parse css:
try {
var combedCSS = comb.processString(input, {'syntax': 'scss'});
} catch (error) {
// On error, output original css:
process.stdout.write(input);
// Show error message:
process.stderr.write(error.message);
console.log(error.message);
process.exit(1);
}
// On success, output parsed css:
process.stdout.write(combedCSS);
process.exit();
}
function getConfig() {
var config = {};
// Use current project's root folder as a starting point.
// If no project is active, use current folder as a fallback:
var configpath = process.env.EDITOR_PROJECT_PATH || process.env.EDITOR_DIRECTORY_PATH;
// Search for custom config file recursively up to the home folder:
configpath = CSScomb.getCustomConfigPath(configpath + '/.csscomb.json');
try {
// Try to load config file:
config = require(configpath);
} catch (error) {
// If no config file is available, use default config:
config = getDefaultConfig();
}
return config;
}
function getDefaultConfig() {
var config = {};
var configZen = CSScomb.getConfig('zen');
// Copy only sort-order data:
config['sort-order'] = configZen['sort-order'];
// If sort-order is separated into sections, add an empty section at top:
if (config['sort-order'].length > 1) {
config['sort-order'].unshift([]);
}
// Add sort-order info for SCSS, Sass and Less functions into the first section:
config['sort-order'][0].unshift('$variable', '$include', '$import');
// Add configuration that mimics most of the settings from Espresso:
config['block-indent'] = " ";
config['rules-delimiter'] = 1
config['strip-spaces'] = true;
config['always-semicolon'] = true;
config['vendor-prefix-align'] = true;
config['unitless-zero'] = true;
config['leading-zero'] = false;
config['quotes'] = 'single';
config['color-case'] = 'lower';
config['eof-newline'] = true;
config['remove-empty-rulesets'] = true;
config['element-case'] = 'lower';
config['color-shorthand'] = false;
config['space-before-colon'] = '';
config['space-after-colon'] = ' ';
config['space-before-combinator'] = ' ';
config['space-after-combinator'] = ' ';
config['space-before-opening-brace'] = ' ';
config['space-after-opening-brace'] = '\n';
config['space-before-closing-brace'] = '\n';
config['space-before-selector-delimiter'] = '';
config['space-after-selector-delimiter'] = '\n';
config['space-between-declarations'] = '\n';
return config;
}