2017-01-23 5 views
0

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; 
} 

Antwort

0

Werfen Sie diese da draußen, haben Sie versucht, CSSComb zu löschen und die neueste Version zu installieren?

Sie haben auch einen Syntaxfehler in dieser Zeile config['rules-delimiter'] = 1

Verwandte Themen