aboutsummaryrefslogtreecommitdiff
path: root/node_modules/clean-css/lib/writer
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/clean-css/lib/writer')
-rw-r--r--node_modules/clean-css/lib/writer/helpers.js34
-rw-r--r--node_modules/clean-css/lib/writer/simple.js6
-rw-r--r--node_modules/clean-css/lib/writer/source-maps.js5
3 files changed, 30 insertions, 15 deletions
diff --git a/node_modules/clean-css/lib/writer/helpers.js b/node_modules/clean-css/lib/writer/helpers.js
index da13cf6eb..11727402c 100644
--- a/node_modules/clean-css/lib/writer/helpers.js
+++ b/node_modules/clean-css/lib/writer/helpers.js
@@ -1,4 +1,3 @@
-var lineBreak = require('os').EOL;
var emptyCharacter = '';
var Breaks = require('../options/format').Breaks;
@@ -79,7 +78,20 @@ function property(context, tokens, position, lastPropertyAt) {
var store = context.store;
var token = tokens[position];
var isPropertyBlock = token[2][0] == Token.PROPERTY_BLOCK;
- var needsSemicolon = position < lastPropertyAt || isPropertyBlock;
+
+ var needsSemicolon;
+ if ( context.format ) {
+ if ( context.format.semicolonAfterLastProperty || isPropertyBlock ) {
+ needsSemicolon = true;
+ } else if ( position < lastPropertyAt ) {
+ needsSemicolon = true;
+ } else {
+ needsSemicolon = false;
+ }
+ } else {
+ needsSemicolon = position < lastPropertyAt || isPropertyBlock;
+ }
+
var isLast = position === lastPropertyAt;
switch (token[0]) {
@@ -101,6 +113,9 @@ function property(context, tokens, position, lastPropertyAt) {
store(context, colon(context));
value(context, token);
store(context, needsSemicolon ? semicolon(context, Breaks.AfterProperty, isLast) : emptyCharacter);
+ break;
+ case Token.RAW:
+ store(context, token);
}
}
@@ -137,7 +152,7 @@ function openBrace(context, where, needsPrefixSpace) {
context.indentWith = context.format.indentWith.repeat(context.indentBy);
return (needsPrefixSpace && allowsSpace(context, Spaces.BeforeBlockBegins) ? Marker.SPACE : emptyCharacter) +
Marker.OPEN_CURLY_BRACKET +
- (allowsBreak(context, where) ? lineBreak : emptyCharacter) +
+ (allowsBreak(context, where) ? context.format.breakWith : emptyCharacter) +
context.indentWith;
} else {
return Marker.OPEN_CURLY_BRACKET;
@@ -148,10 +163,10 @@ function closeBrace(context, where, beforeBlockEnd, isLast) {
if (context.format) {
context.indentBy -= context.format.indentBy;
context.indentWith = context.format.indentWith.repeat(context.indentBy);
- return (allowsBreak(context, Breaks.AfterProperty) || beforeBlockEnd && allowsBreak(context, Breaks.BeforeBlockEnds) ? lineBreak : emptyCharacter) +
+ return (allowsBreak(context, Breaks.AfterProperty) || beforeBlockEnd && allowsBreak(context, Breaks.BeforeBlockEnds) ? context.format.breakWith : emptyCharacter) +
context.indentWith +
Marker.CLOSE_CURLY_BRACKET +
- (isLast ? emptyCharacter : (allowsBreak(context, where) ? lineBreak : emptyCharacter) + context.indentWith);
+ (isLast ? emptyCharacter : (allowsBreak(context, where) ? context.format.breakWith : emptyCharacter) + context.indentWith);
} else {
return Marker.CLOSE_CURLY_BRACKET;
}
@@ -165,13 +180,13 @@ function colon(context) {
function semicolon(context, where, isLast) {
return context.format ?
- Marker.SEMICOLON + (isLast || !allowsBreak(context, where) ? emptyCharacter : lineBreak + context.indentWith) :
+ Marker.SEMICOLON + (isLast || !allowsBreak(context, where) ? emptyCharacter : context.format.breakWith + context.indentWith) :
Marker.SEMICOLON;
}
function comma(context) {
return context.format ?
- Marker.COMMA + (allowsBreak(context, Breaks.BetweenSelectors) ? lineBreak : emptyCharacter) + context.indentWith :
+ Marker.COMMA + (allowsBreak(context, Breaks.BetweenSelectors) ? context.format.breakWith : emptyCharacter) + context.indentWith :
Marker.COMMA;
}
@@ -204,7 +219,10 @@ function all(context, tokens) {
break;
case Token.COMMENT:
store(context, token);
- store(context, allowsBreak(context, Breaks.AfterComment) ? lineBreak : emptyCharacter);
+ store(context, allowsBreak(context, Breaks.AfterComment) ? context.format.breakWith : emptyCharacter);
+ break;
+ case Token.RAW:
+ store(context, token);
break;
case Token.RULE:
rules(context, token[1]);
diff --git a/node_modules/clean-css/lib/writer/simple.js b/node_modules/clean-css/lib/writer/simple.js
index 21e7f88a7..20fde2a29 100644
--- a/node_modules/clean-css/lib/writer/simple.js
+++ b/node_modules/clean-css/lib/writer/simple.js
@@ -1,7 +1,5 @@
var all = require('./helpers').all;
-var lineBreak = require('os').EOL;
-
function store(serializeContext, token) {
var value = typeof token == 'string' ?
token :
@@ -15,8 +13,8 @@ function store(serializeContext, token) {
function wrap(serializeContext, value) {
if (serializeContext.column + value.length > serializeContext.format.wrapAt) {
- track(serializeContext, lineBreak);
- serializeContext.output.push(lineBreak);
+ track(serializeContext, serializeContext.format.breakWith);
+ serializeContext.output.push(serializeContext.format.breakWith);
}
}
diff --git a/node_modules/clean-css/lib/writer/source-maps.js b/node_modules/clean-css/lib/writer/source-maps.js
index 4729eb055..6856579f0 100644
--- a/node_modules/clean-css/lib/writer/source-maps.js
+++ b/node_modules/clean-css/lib/writer/source-maps.js
@@ -1,7 +1,6 @@
var SourceMapGenerator = require('source-map').SourceMapGenerator;
var all = require('./helpers').all;
-var lineBreak = require('os').EOL;
var isRemoteResource = require('../utils/is-remote-resource');
var isWindows = process.platform == 'win32';
@@ -23,8 +22,8 @@ function store(serializeContext, element) {
function wrap(serializeContext, value) {
if (serializeContext.column + value.length > serializeContext.format.wrapAt) {
- track(serializeContext, lineBreak, false);
- serializeContext.output.push(lineBreak);
+ track(serializeContext, serializeContext.format.breakWith, false);
+ serializeContext.output.push(serializeContext.format.breakWith);
}
}