Ich habe ein kleines Problem mit etwas Code, der vom letzten Entwickler übrig geblieben ist. Ich versuche, csscomb auf sublime auszuführen und es zu dem Punkt zu aktualisieren, wo es mit den neueren Paketen funktioniert. Dieser Fehler ist aufgetreten, als ich versucht habe, das Paket in einer scss-Datei auszuführen. Der vollständige Fehler ist unterungültige Daten, Chunk muss Pufferzeichenfolge sein, kein Objekt
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)
eingefügt und der vollständige Code ist unten. Ich habe noch nie jemanden gesehen, der auf ein Problem mit diesem Plugin gestoßen ist, daher bin ich ein bisschen außerhalb meiner Liga, was den Debugging-Knoten betrifft. Ich habe viele Fehler gegoogelt und behoben, aber ich konnte diese nicht finden. Jede Hilfe wäre super geschätzt!
// 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;
}