New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

react-inline

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-inline - npm Package Compare versions

Comparing version
0.7.0
to
0.8.0
+2
-6
bin/cli.js

@@ -32,4 +32,3 @@ #!/usr/bin/env node

.option('-B, --no-bundle', 'Disable bundling CSS')
.option('-a, --babelize', 'Add a Babel transformation step')
.option('-s, --babel-stage <stage>', 'Set Babel\'s experimental proposal stage (default: 2)', 2)
.option('-a, --babelize', 'Add a Babel transformation step (configure it with a .babelrc)')
.resolve(

@@ -67,5 +66,3 @@ function(id) {

var babelOptions = {
ast: false,
optional: ['runtime'],
stage: options.babelStage
ast: false, filename: extractOptions.filename
};

@@ -94,2 +91,1 @@

);

@@ -12,2 +12,11 @@ # Changelog

## 0.8.0 (November 7, 2015)
- **New Feature**
- The CLI now uses Babel v6 for the additional transformation step
- **Breaking Change**
- Remove the `--babel-stage` CLI option, use a `.babelrc` file to configure the additional Babel transformation step
- **Internal**
- Transpile code with Babel v6
## 0.7.0 (November 6, 2015)

@@ -14,0 +23,0 @@

'use strict';
var _Object$assign = require('babel-runtime/core-js/object/assign')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
exports.__esModule = true;
var _postcss = require('postcss');
var _postcss2 = _interopRequireDefault(_postcss);
var _autoprefixerCore = require('autoprefixer-core');
var _autoprefixerCore2 = _interopRequireDefault(_autoprefixerCore);
var _cleanCss = require('clean-css');
var _cleanCss2 = _interopRequireDefault(_cleanCss);
var _foreach = require('foreach');
var _foreach2 = _interopRequireDefault(_foreach);
var _transformSpecificationIntoCSS = require('./transformSpecificationIntoCSS');
var _transformSpecificationIntoCSS2 = _interopRequireDefault(_transformSpecificationIntoCSS);
exports['default'] = function (stylesheets, options) {
exports.default = function (stylesheets, options) {
var css = '';
_foreach2['default'](stylesheets, function (stylesheet, name) {
var cssOptions = _Object$assign({}, options);
(0, _foreach2.default)(stylesheets, function (stylesheet, name) {
var cssOptions = (0, _objectAssign2.default)({}, options);
cssOptions.prefixes = [options.filename, name];
css += _transformSpecificationIntoCSS2['default'](stylesheet, cssOptions);
css += (0, _transformSpecificationIntoCSS2.default)(stylesheet, cssOptions);

@@ -50,6 +28,6 @@ if (css.length) {

if (vp) {
if (typeof vp === 'object') {
css = _postcss2['default']([_autoprefixerCore2['default'](vp)]).process(css).css;
if ((typeof vp === 'undefined' ? 'undefined' : (0, _typeof3.default)(vp)) === 'object') {
css = (0, _postcss2.default)([(0, _autoprefixer2.default)(vp)]).process(css).css;
} else {
css = _postcss2['default']([_autoprefixerCore2['default']]).process(css).css;
css = (0, _postcss2.default)([_autoprefixer2.default]).process(css).css;
}

@@ -59,3 +37,3 @@ }

if (options.minify) {
css = new _cleanCss2['default']().minify(css).styles;
css = new _cleanCss2.default().minify(css).styles;
}

@@ -66,2 +44,30 @@

module.exports = exports['default'];
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
var _postcss = require('postcss');
var _postcss2 = _interopRequireDefault(_postcss);
var _objectAssign = require('object-assign');
var _objectAssign2 = _interopRequireDefault(_objectAssign);
var _autoprefixer = require('autoprefixer');
var _autoprefixer2 = _interopRequireDefault(_autoprefixer);
var _cleanCss = require('clean-css');
var _cleanCss2 = _interopRequireDefault(_cleanCss);
var _foreach = require('foreach');
var _foreach2 = _interopRequireDefault(_foreach);
var _transformSpecificationIntoCSS = require('./transformSpecificationIntoCSS');
var _transformSpecificationIntoCSS2 = _interopRequireDefault(_transformSpecificationIntoCSS);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
'use strict';
exports.__esModule = true;
exports['default'] = buildCSSRule;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = buildCSSRule;
var isUnquotedContentValue = /^(normal|none|(\b(url\([^)]*\)|chapter_counter|attr\([^)]*\)|(no-)?(open|close)-quote|inherit)((\b\s*)|$|\s+))+)$/;

@@ -47,2 +49,1 @@ var uppercaseLetter = /([A-Z])/g;

}
module.exports = exports['default'];
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bundle = bundle;
exports.__esModule = true;
var _path = require('path');

@@ -23,2 +24,4 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function bundle(sourceDir) {

@@ -28,3 +31,3 @@ var filename = arguments.length <= 1 || arguments[1] === undefined ? 'bundle.css' : arguments[1];

var bundleFile = _path2['default'].join(sourceDir, filename);
var bundleFile = _path2.default.join(sourceDir, filename);

@@ -37,13 +40,12 @@ var globOptions = { cwd: sourceDir, realpath: true, ignore: bundleFile };

var cssFiles = _glob2['default'].sync(globPattern, globOptions);
var cssFiles = _glob2.default.sync(globPattern, globOptions);
var bundleCSS = cssFiles.reduce(function (memo, filePath) {
return memo + _fs2['default'].readFileSync(filePath, readOptions);
return memo + _fs2.default.readFileSync(filePath, readOptions);
}, '');
_mkdirp2['default'].sync(_path2['default'].dirname(bundleFile));
_fs2['default'].writeFileSync(bundleFile, bundleCSS, writeOptions);
_mkdirp2.default.sync(_path2.default.dirname(bundleFile));
_fs2.default.writeFileSync(bundleFile, bundleCSS, writeOptions);
}
exports['default'] = { bundle: bundle };
module.exports = exports['default'];
exports.default = { bundle: bundle };
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.clearCache = clearCache;
exports.default = compressClassName;
exports.__esModule = true;
exports['default'] = compressClassName;
var _DiskCache = require('./utils/DiskCache');
var _utilsDiskCache = require('./utils/DiskCache');
var _DiskCache2 = _interopRequireDefault(_DiskCache);
var _utilsDiskCache2 = _interopRequireDefault(_utilsDiskCache);
var _MemoryCache = require('./utils/MemoryCache');
var _utilsMemoryCache = require('./utils/MemoryCache');
var _MemoryCache2 = _interopRequireDefault(_MemoryCache);
var _utilsMemoryCache2 = _interopRequireDefault(_utilsMemoryCache);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,5 +23,5 @@ var cacheName = 'classnames';

if (options.cacheDir) {
return new _utilsDiskCache2['default'](cacheName, options);
return new _DiskCache2.default(cacheName, options);
} else {
return new _utilsMemoryCache2['default'](cacheName);
return new _MemoryCache2.default(cacheName);
}

@@ -38,4 +41,1 @@ }

}
compressClassName.clearCache = clearCache;
module.exports = exports['default'];
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
var _interopRequire = require('babel-runtime/helpers/interop-require')['default'];
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.transformSpecificationIntoCSS = exports.transformStyleSheetObjectIntoSpecification = exports.transformObjectExpressionIntoStyleSheetObject = undefined;
exports.transform = transform;

@@ -12,2 +11,14 @@ exports.transformFile = transformFile;

var _transformObjectExpressionIntoStyleSheetObject = require('./transformObjectExpressionIntoStyleSheetObject');
var _transformObjectExpressionIntoStyleSheetObject2 = _interopRequireDefault(_transformObjectExpressionIntoStyleSheetObject);
var _transformStyleSheetObjectIntoSpecification = require('./transformStyleSheetObjectIntoSpecification');
var _transformStyleSheetObjectIntoSpecification2 = _interopRequireDefault(_transformStyleSheetObjectIntoSpecification);
var _transformSpecificationIntoCSS = require('./transformSpecificationIntoCSS');
var _transformSpecificationIntoCSS2 = _interopRequireDefault(_transformSpecificationIntoCSS);
var _fs = require('fs');

@@ -27,14 +38,7 @@

var _transformObjectExpressionIntoStyleSheetObject = require('./transformObjectExpressionIntoStyleSheetObject');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.transformObjectExpressionIntoStyleSheetObject = _interopRequire(_transformObjectExpressionIntoStyleSheetObject);
var _transformStyleSheetObjectIntoSpecification = require('./transformStyleSheetObjectIntoSpecification');
exports.transformStyleSheetObjectIntoSpecification = _interopRequire(_transformStyleSheetObjectIntoSpecification);
var _transformSpecificationIntoCSS = require('./transformSpecificationIntoCSS');
exports.transformSpecificationIntoCSS = _interopRequire(_transformSpecificationIntoCSS);
exports.transformObjectExpressionIntoStyleSheetObject = _transformObjectExpressionIntoStyleSheetObject2.default;
exports.transformStyleSheetObjectIntoSpecification = _transformStyleSheetObjectIntoSpecification2.default;
exports.transformSpecificationIntoCSS = _transformSpecificationIntoCSS2.default;
function transform(source) {

@@ -46,7 +50,7 @@ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];

var stylesheets = {};
var ast = _recast.parse(source, {
var ast = (0, _recast.parse)(source, {
sourceFileName: options.filename
});
_transformAST2['default'](ast, stylesheets, options);
(0, _transformAST2.default)(ast, stylesheets, options);

@@ -59,7 +63,7 @@ var printOptions = {};

var result = _recast.print(ast, printOptions);
var result = (0, _recast.print)(ast, printOptions);
var code = result.code;
var map = result.map;
var css = _buildCSS2['default'](stylesheets, options);
var css = (0, _buildCSS2.default)(stylesheets, options);

@@ -77,3 +81,3 @@ return { code: code, map: map, css: css };

_fs2['default'].readFile(filename, function (err, source) {
_fs2.default.readFile(filename, function (err, source) {
if (err) {

@@ -100,3 +104,12 @@ return callback(err);

return transform(_fs2['default'].readFileSync(filename), options);
return transform(_fs2.default.readFileSync(filename), options);
}
exports.default = {
transform: transform,
transformFile: transformFile,
transformFileSync: transformFileSync,
transformObjectExpressionIntoStyleSheetObject: _transformObjectExpressionIntoStyleSheetObject2.default,
transformStyleSheetObjectIntoSpecification: _transformStyleSheetObjectIntoSpecification2.default,
transformSpecificationIntoCSS: _transformSpecificationIntoCSS2.default
};
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = generateClassName;
exports.__esModule = true;
exports['default'] = generateClassName;
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _compressClassName = require('./compressClassName');

@@ -12,6 +16,8 @@

var _utilsSplitSelector = require('./utils/splitSelector');
var _splitSelector3 = require('./utils/splitSelector');
var _utilsSplitSelector2 = _interopRequireDefault(_utilsSplitSelector);
var _splitSelector4 = _interopRequireDefault(_splitSelector3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var invalidChars = /[^_a-z0-9-]/ig;

@@ -33,8 +39,10 @@

if (options.compressClassNames) {
var _splitSelector = _utilsSplitSelector2['default'](result);
var _splitSelector = (0, _splitSelector4.default)(result);
var className = _splitSelector[0];
var selector = _splitSelector[1];
var _splitSelector2 = (0, _slicedToArray3.default)(_splitSelector, 2);
return _compressClassName2['default'](className, options) + selector;
var className = _splitSelector2[0];
var selector = _splitSelector2[1];
return (0, _compressClassName2.default)(className, options) + selector;
}

@@ -44,3 +52,1 @@

}
module.exports = exports['default'];
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
function create(spec) {

@@ -8,3 +10,2 @@ return spec;

exports["default"] = { create: create };
module.exports = exports["default"];
exports.default = { create: create };
'use strict';
var _Object$assign = require('babel-runtime/core-js/object/assign')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Object$keys = require('babel-runtime/core-js/object/keys')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
exports.__esModule = true;
var _assert = require('assert');
var _assert2 = _interopRequireDefault(_assert);
var _recast = require('recast');
var _transformObjectExpressionIntoStyleSheetObject = require('./transformObjectExpressionIntoStyleSheetObject');
var _transformObjectExpressionIntoStyleSheetObject2 = _interopRequireDefault(_transformObjectExpressionIntoStyleSheetObject);
var _transformStyleSheetObjectIntoSpecification = require('./transformStyleSheetObjectIntoSpecification');
var _transformStyleSheetObjectIntoSpecification2 = _interopRequireDefault(_transformStyleSheetObjectIntoSpecification);
var _generateClassName = require('./generateClassName');
var _generateClassName2 = _interopRequireDefault(_generateClassName);
var n = _recast.types.namedTypes;
var b = _recast.types.builders;
exports['default'] = function (ast, stylesheets, options) {
_recast.visit(ast, {
exports.default = function (ast, stylesheets, options) {
(0, _recast.visit)(ast, {
visitCallExpression: function visitCallExpression(path) {

@@ -42,3 +17,3 @@ var node = path.node;

_assert2['default'](n.VariableDeclarator.check(parent), 'return value of StyleSheet.create(...) must be assigned to a variable');
(0, _assert2.default)(n.VariableDeclarator.check(parent), 'return value of StyleSheet.create(...) must be assigned to a variable');

@@ -48,10 +23,10 @@ var sheetId = parent.id.name;

_assert2['default'](expr, 'StyleSheet.create(...) call is missing an argument');
(0, _assert2.default)(expr, 'StyleSheet.create(...) call is missing an argument');
var obj = _transformObjectExpressionIntoStyleSheetObject2['default'](expr, options.context);
var sheet = _transformStyleSheetObjectIntoSpecification2['default'](obj);
var obj = (0, _transformObjectExpressionIntoStyleSheetObject2.default)(expr, options.context);
var sheet = (0, _transformStyleSheetObjectIntoSpecification2.default)(obj);
stylesheets[sheetId] = sheet;
var gcnOptions = _Object$assign({}, options);
var gcnOptions = (0, _objectAssign2.default)({}, options);
gcnOptions.prefixes = [options.filename, sheetId];

@@ -61,4 +36,4 @@

_Object$keys(sheet).forEach(function (styleId) {
var className = _generateClassName2['default'](styleId, gcnOptions);
(0, _keys2.default)(sheet).forEach(function (styleId) {
var className = (0, _generateClassName2.default)(styleId, gcnOptions);
var key = b.identifier(styleId);

@@ -75,3 +50,2 @@ var value = b.literal(className);

},
visitImportDeclaration: function visitImportDeclaration(path) {

@@ -85,3 +59,2 @@ if (path.node.source.value === 'react-inline') {

},
visitVariableDeclarator: function visitVariableDeclarator(path) {

@@ -98,2 +71,33 @@ if (isRequireReactInline(path.node)) {

var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _assert = require('assert');
var _assert2 = _interopRequireDefault(_assert);
var _objectAssign = require('object-assign');
var _objectAssign2 = _interopRequireDefault(_objectAssign);
var _recast = require('recast');
var _transformObjectExpressionIntoStyleSheetObject = require('./transformObjectExpressionIntoStyleSheetObject');
var _transformObjectExpressionIntoStyleSheetObject2 = _interopRequireDefault(_transformObjectExpressionIntoStyleSheetObject);
var _transformStyleSheetObjectIntoSpecification = require('./transformStyleSheetObjectIntoSpecification');
var _transformStyleSheetObjectIntoSpecification2 = _interopRequireDefault(_transformStyleSheetObjectIntoSpecification);
var _generateClassName = require('./generateClassName');
var _generateClassName2 = _interopRequireDefault(_generateClassName);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var n = _recast.types.namedTypes;
var b = _recast.types.builders;
function isStyleSheetCreate(node) {

@@ -106,2 +110,1 @@ return n.MemberExpression.check(node) && n.Identifier.check(node.object) && node.object.name === 'StyleSheet' && (n.Identifier.check(node.property) && node.property.name === 'create' || n.Literal.check(node.property) && node.property.value === 'create');

}
module.exports = exports['default'];
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = transformObjectExpressionIntoStyleSheetObject;
exports.__esModule = true;
exports['default'] = transformObjectExpressionIntoStyleSheetObject;
var _assert = require('assert');

@@ -22,2 +22,4 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var n = _recast.types.namedTypes;

@@ -27,8 +29,8 @@ var isBlank = /^\s*$/;

function transformObjectExpressionIntoStyleSheetObject(expr, context) {
_assert2['default'](n.ObjectExpression.check(expr), 'must be a object expression');
(0, _assert2.default)(n.ObjectExpression.check(expr), 'must be a object expression');
context = _vm2['default'].createContext(_objectAssign2['default']({}, context));
context = _vm2.default.createContext((0, _objectAssign2.default)({}, context));
context.evaluate = function (node) {
return _vm2['default'].runInContext(_recast.print(node).code, this);
return _vm2.default.runInContext((0, _recast.print)(node).code, this);
};

@@ -48,3 +50,3 @@

_assert2['default'](n.ObjectExpression.check(value), 'top-level value must be a object expression');
(0, _assert2.default)(n.ObjectExpression.check(value), 'top-level value must be a object expression');

@@ -68,6 +70,6 @@ result[name] = {};

_assert2['default'](typeof val === 'string' || typeof val === 'number', 'value must be a string or number');
(0, _assert2.default)(typeof val === 'string' || typeof val === 'number', 'value must be a string or number');
if (typeof val === 'string') {
_assert2['default'](!isBlank.test(val), 'string value cannot be blank');
(0, _assert2.default)(!isBlank.test(val), 'string value cannot be blank');
}

@@ -81,7 +83,7 @@

} else if (n.UnaryExpression.check(value) && value.prefix === true && value.operator === '-') {
_assert2['default'](n.Literal.check(value.argument), 'invalid unary argument type');
(0, _assert2.default)(n.Literal.check(value.argument), 'invalid unary argument type');
result[name] = -value.argument.value;
} else {
_assert2['default'](false, 'invalid value expression type');
(0, _assert2.default)(false, 'invalid value expression type');
}

@@ -91,3 +93,3 @@ }

function keyToName(key) {
_assert2['default'](n.Identifier.check(key) || n.Literal.check(key) && typeof key.value === 'string', 'key must be a string or identifier');
(0, _assert2.default)(n.Identifier.check(key) || n.Literal.check(key) && typeof key.value === 'string', 'key must be a string or identifier');

@@ -97,39 +99,14 @@ return key.name || key.value;

function canEvaluate(_x, _x2) {
var _left;
function canEvaluate(expr, context) {
if (n.Literal.check(expr)) {
return true;
} else if (n.Identifier.check(expr) && context.hasOwnProperty(expr.name)) {
return true;
} else if (n.MemberExpression.check(expr)) {
return n.Identifier.check(expr.property) && canEvaluate(expr.object, context);
} else if (n.BinaryExpression.check(expr)) {
return canEvaluate(expr.left, context) && canEvaluate(expr.right, context);
}
var _again = true;
_function: while (_again) {
var expr = _x,
context = _x2;
_again = false;
if (n.Literal.check(expr)) {
return true;
} else if (n.Identifier.check(expr) && context.hasOwnProperty(expr.name)) {
return true;
} else if (n.MemberExpression.check(expr)) {
if (!(_left = n.Identifier.check(expr.property))) {
return _left;
}
_x = expr.object;
_x2 = context;
_again = true;
continue _function;
} else if (n.BinaryExpression.check(expr)) {
if (!(_left = canEvaluate(expr.left, context))) {
return _left;
}
_x = expr.right;
_x2 = context;
_again = true;
continue _function;
}
return false;
}
return false;
}
module.exports = exports['default'];
'use strict';
var _Object$keys = require('babel-runtime/core-js/object/keys')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = transformSpecificationIntoCSS;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
var _keys = require('babel-runtime/core-js/object/keys');
exports.__esModule = true;
exports['default'] = transformSpecificationIntoCSS;
var _keys2 = _interopRequireDefault(_keys);
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
var _foreach = require('foreach');

@@ -22,2 +28,4 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function transformSpecificationIntoCSS(spec) {

@@ -28,3 +36,3 @@ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];

_foreach2['default'](spec, function (value, key) {
(0, _foreach2.default)(spec, function (value, key) {
processStyle(css, key, value, 0, options);

@@ -47,6 +55,6 @@ });

css.push(indent(level) + '.' + _generateClassName2['default'](name, options) + ' {');
css.push(indent(level) + '.' + (0, _generateClassName2.default)(name, options) + ' {');
_foreach2['default'](rules, function (value, key) {
css.push(indent(level + 1) + _buildCSSRule2['default'](key, value, options));
(0, _foreach2.default)(rules, function (value, key) {
css.push(indent(level + 1) + (0, _buildCSSRule2.default)(key, value, options));
});

@@ -62,3 +70,3 @@

_foreach2['default'](selectors, function (value, key) {
(0, _foreach2.default)(selectors, function (value, key) {
processRules(css, name + key, value.rules, level, options);

@@ -73,3 +81,3 @@ });

_foreach2['default'](mediaQueries, function (value, key) {
(0, _foreach2.default)(mediaQueries, function (value, key) {
processMediaQuery(css, name, key, value, level, options);

@@ -111,4 +119,3 @@ });

function isEmpty(obj) {
return typeof obj !== 'object' || _Object$keys(obj).length === 0;
return (typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) !== 'object' || (0, _keys2.default)(obj).length === 0;
}
module.exports = exports['default'];
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = transformStyleSheetObjectIntoSpecification;
exports.__esModule = true;
exports['default'] = transformStyleSheetObjectIntoSpecification;
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _assert = require('assert');

@@ -16,6 +20,8 @@

var _utilsSplitSelector = require('./utils/splitSelector');
var _splitSelector5 = require('./utils/splitSelector');
var _utilsSplitSelector2 = _interopRequireDefault(_utilsSplitSelector);
var _splitSelector6 = _interopRequireDefault(_splitSelector5);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var isMediaQueryDeclaration = /^@/;

@@ -31,13 +37,15 @@ var hasAttachedSelector = /[^:\[]+[:\[]/;

_foreach2['default'](content, function (value, key) {
(0, _foreach2.default)(content, function (value, key) {
if (isMediaQueryDeclaration.test(key)) {
processMediaQuery(styles, key.substring(1), value);
} else if (isStandaloneSelector.test(key)) {
_assert2['default'](false, 'stand-alone selectors are not allowed at the top-level');
(0, _assert2.default)(false, 'stand-alone selectors are not allowed at the top-level');
} else if (hasAttachedSelector.test(key)) {
var _splitSelector = _utilsSplitSelector2['default'](key);
var _splitSelector = (0, _splitSelector6.default)(key);
var styleName = _splitSelector[0];
var selectorName = _splitSelector[1];
var _splitSelector2 = (0, _slicedToArray3.default)(_splitSelector, 2);
var styleName = _splitSelector2[0];
var selectorName = _splitSelector2[1];
processStyleAndSelector(styles, styleName, selectorName, value);

@@ -55,13 +63,15 @@ } else {

_foreach2['default'](content, function (value, key) {
(0, _foreach2.default)(content, function (value, key) {
if (isMediaQueryDeclaration.test(key)) {
_assert2['default'](false, 'media queries cannot be nested into each other');
(0, _assert2.default)(false, 'media queries cannot be nested into each other');
} else if (isStandaloneSelector.test(key)) {
_assert2['default'](false, 'stand-alone selectors are not allowed in top-level media queries');
(0, _assert2.default)(false, 'stand-alone selectors are not allowed in top-level media queries');
} else if (hasAttachedSelector.test(key)) {
var _splitSelector2 = _utilsSplitSelector2['default'](key);
var _splitSelector3 = (0, _splitSelector6.default)(key);
var styleName = _splitSelector2[0];
var selectorName = _splitSelector2[1];
var _splitSelector4 = (0, _slicedToArray3.default)(_splitSelector3, 2);
var styleName = _splitSelector4[0];
var selectorName = _splitSelector4[1];
processStyleAndMediaQueryAndSelector(styles, styleName, mediaQueryName, selectorName, value);

@@ -79,3 +89,3 @@ } else {

_foreach2['default'](content, function (value, key) {
(0, _foreach2.default)(content, function (value, key) {
if (isMediaQueryDeclaration.test(key)) {

@@ -86,3 +96,3 @@ processStyleAndMediaQuery(styles, styleName, key.substring(1), value);

} else if (hasAttachedSelector.test(key)) {
_assert2['default'](false, 'styles cannot be nested into each other');
(0, _assert2.default)(false, 'styles cannot be nested into each other');
} else {

@@ -100,9 +110,9 @@ processRule(style.rules, key, value);

_foreach2['default'](content, function (value, key) {
(0, _foreach2.default)(content, function (value, key) {
if (isMediaQueryDeclaration.test(key)) {
_assert2['default'](false, 'media queries cannot be nested into each other');
(0, _assert2.default)(false, 'media queries cannot be nested into each other');
} else if (isStandaloneSelector.test(key)) {
processStyleAndMediaQueryAndSelector(styles, styleName, mediaQueryName, key, value);
} else if (hasAttachedSelector.test(key)) {
_assert2['default'](false, 'styles cannot be nested into each other');
(0, _assert2.default)(false, 'styles cannot be nested into each other');
} else {

@@ -120,9 +130,9 @@ processRule(mediaQuery.rules, key, value);

_foreach2['default'](content, function (value, key) {
(0, _foreach2.default)(content, function (value, key) {
if (isMediaQueryDeclaration.test(key)) {
_assert2['default'](false, 'media queries cannot be nested into selectors');
(0, _assert2.default)(false, 'media queries cannot be nested into selectors');
} else if (isStandaloneSelector.test(key)) {
processStyleAndSelector(styles, styleName, selectorName + key, value);
} else if (hasAttachedSelector.test(key)) {
_assert2['default'](false, 'styles cannot be nested into each other');
(0, _assert2.default)(false, 'styles cannot be nested into each other');
} else {

@@ -135,3 +145,3 @@ processRule(selector.rules, key, value);

function processStyleAndMediaQueryAndSelector(styles, styleName, mediaQueryName, selectorName, content) {
_assert2['default'](isPlainObject(content), 'style value must be a plain object');
(0, _assert2.default)(isPlainObject(content), 'style value must be a plain object');

@@ -142,9 +152,9 @@ var style = initStyleSpec(styles, styleName);

_foreach2['default'](content, function (value, key) {
(0, _foreach2.default)(content, function (value, key) {
if (isMediaQueryDeclaration.test(key)) {
_assert2['default'](false, 'media queries cannot be nested into each other');
(0, _assert2.default)(false, 'media queries cannot be nested into each other');
} else if (isStandaloneSelector.test(key)) {
processStyleAndMediaQueryAndSelector(styles, styleName, mediaQueryName, selectorName + key, value);
} else if (hasAttachedSelector.test(key)) {
_assert2['default'](false, 'styles cannot be nested into each other');
(0, _assert2.default)(false, 'styles cannot be nested into each other');
} else {

@@ -157,3 +167,3 @@ processRule(selector.rules, key, value);

function processRule(rules, key, value) {
_assert2['default'](typeof value === 'string' || typeof value === 'number', 'value must be a number or a string');
(0, _assert2.default)(typeof value === 'string' || typeof value === 'number', 'value must be a number or a string');
rules[key] = value;

@@ -163,3 +173,3 @@ }

function initStyleSpec(styles, name) {
_assert2['default'](isValidStyleName.test(name), 'style name is invalid');
(0, _assert2.default)(isValidStyleName.test(name), 'style name is invalid');

@@ -185,4 +195,3 @@ styles[name] = styles[name] || { rules: {}, selectors: {}, mediaQueries: {} };

function assertPlainObject(content) {
_assert2['default'](isPlainObject(content), 'value must be a plain object');
(0, _assert2.default)(isPlainObject(content), 'value must be a plain object');
}
module.exports = exports['default'];
'use strict';
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Object$keys = require('babel-runtime/core-js/object/keys')['default'];
var _keys = require('babel-runtime/core-js/object/keys');
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
var _keys2 = _interopRequireDefault(_keys);
exports.__esModule = true;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _fs = require('fs');

@@ -23,7 +31,9 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var hasOwnProperty = Object.prototype.hasOwnProperty;
function remove(filePath) {
if (_fs2['default'].existsSync(filePath)) {
_fs2['default'].unlinkSync(filePath);
if (_fs2.default.existsSync(filePath)) {
_fs2.default.unlinkSync(filePath);
}

@@ -33,4 +43,4 @@ }

function load(filePath) {
if (!_fs2['default'].existsSync(filePath)) {
_mkdirp2['default'].sync(_path2['default'].dirname(filePath));
if (!_fs2.default.existsSync(filePath)) {
_mkdirp2.default.sync(_path2.default.dirname(filePath));
store({}, filePath);

@@ -40,3 +50,3 @@ return {};

var data = _fs2['default'].readFileSync(filePath, { encoding: 'utf8' });
var data = _fs2.default.readFileSync(filePath, { encoding: 'utf8' });

@@ -47,3 +57,3 @@ return JSON.parse(data);

function store(data, filePath) {
_fs2['default'].writeFileSync(filePath, JSON.stringify(data));
_fs2.default.writeFileSync(filePath, JSON.stringify(data));
}

@@ -53,5 +63,5 @@

function DiskCache(name, options) {
_classCallCheck(this, DiskCache);
(0, _classCallCheck3.default)(this, DiskCache);
this.filePath = _path2['default'].resolve(_path2['default'].join(options.cacheDir, name + '.json'));
this.filePath = _path2.default.resolve(_path2.default.join(options.cacheDir, name + '.json'));

@@ -62,24 +72,26 @@ this.fetch.bind(this);

DiskCache.prototype.fetch = function fetch(key, miss) {
var cache = load(this.filePath);
(0, _createClass3.default)(DiskCache, [{
key: 'fetch',
value: function fetch(key, miss) {
var cache = load(this.filePath);
if (hasOwnProperty.call(cache, key)) {
return cache[key];
}
if (hasOwnProperty.call(cache, key)) {
return cache[key];
}
cache[key] = miss(_Object$keys(cache));
cache[key] = miss((0, _keys2.default)(cache));
store(cache, this.filePath);
store(cache, this.filePath);
return cache[key];
};
DiskCache.prototype.clear = function clear() {
remove(this.filePath);
};
return cache[key];
}
}, {
key: 'clear',
value: function clear() {
remove(this.filePath);
}
}]);
return DiskCache;
})();
exports['default'] = DiskCache;
module.exports = exports['default'];
exports.default = DiskCache;
"use strict";
var _classCallCheck = require("babel-runtime/helpers/class-call-check")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Object$keys = require("babel-runtime/core-js/object/keys")["default"];
var _keys = require("babel-runtime/core-js/object/keys");
exports.__esModule = true;
var _keys2 = _interopRequireDefault(_keys);
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require("babel-runtime/helpers/createClass");
var _createClass3 = _interopRequireDefault(_createClass2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var hasOwnProperty = Object.prototype.hasOwnProperty;

@@ -14,3 +27,3 @@

function MemoryCache(name) {
_classCallCheck(this, MemoryCache);
(0, _classCallCheck3.default)(this, MemoryCache);

@@ -25,19 +38,21 @@ this.name = name;

MemoryCache.prototype.fetch = function fetch(key, miss) {
if (hasOwnProperty.call(cache[this.name], key)) {
(0, _createClass3.default)(MemoryCache, [{
key: "fetch",
value: function fetch(key, miss) {
if (hasOwnProperty.call(cache[this.name], key)) {
return cache[this.name][key];
}
cache[this.name][key] = miss((0, _keys2.default)(cache[this.name]));
return cache[this.name][key];
}
cache[this.name][key] = miss(_Object$keys(cache[this.name]));
return cache[this.name][key];
};
MemoryCache.prototype.clear = function clear() {
cache[this.name] = {};
};
}, {
key: "clear",
value: function clear() {
cache[this.name] = {};
}
}]);
return MemoryCache;
})();
exports["default"] = MemoryCache;
module.exports = exports["default"];
exports.default = MemoryCache;
'use strict';
exports.__esModule = true;
exports['default'] = splitSelector;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = splitSelector;
function splitSelector(name) {

@@ -26,3 +27,1 @@ var indexOfColon = name.indexOf(':');

}
module.exports = exports['default'];
{
"name": "react-inline",
"version": "0.7.0",
"version": "0.8.0",
"description": "Transform inline styles defined in JavaScript modules into static CSS code and class names so they become available to, e.g. the `className` prop of React elements.",

@@ -34,5 +34,4 @@ "keywords": [

"dependencies": {
"autoprefixer-core": "^5.2.0",
"babel-core": "^5.2.15",
"babel-runtime": "^5.2.15",
"autoprefixer": "^6.1.0",
"babel-core": "^6.1.2",
"clean-css": "^3.2.8",

@@ -43,11 +42,16 @@ "commoner": "martinandert/commoner#react-inline",

"mkdirp": "^0.5.0",
"object-assign": "^2.0.0",
"postcss": "^4.1.11",
"object-assign": "^4.0.1",
"postcss": "^5.0.10",
"recast": "^0.10.12"
},
"devDependencies": {
"babel": "^5.2.15",
"babel-eslint": "^3.0.1",
"eslint": "^0.20.0",
"istanbul": "^0.3.13",
"babel-cli": "^6.1.2",
"babel-eslint": "^4.1.4",
"babel-plugin-transform-object-assign": "^6.0.14",
"babel-plugin-transform-runtime": "^6.1.2",
"babel-preset-es2015": "^6.1.2",
"babel-preset-stage-1": "^6.1.2",
"babel-runtime": "^6.0.14",
"eslint": "^1.9.0",
"istanbul": "^0.4.0",
"mocha": "^2.2.1",

@@ -54,0 +58,0 @@ "rimraf": "^2.3.3"

+10
-17

@@ -225,12 +225,12 @@ # React Inline

| Option | Default | Description |
|----------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `filename` | `"unknown"` | The name of the file for the source to transform. This value is used (in revised form) as a prefix when generating CSS class names. |
| `vendorPrefixes` | `false` | If truthy, the generated CSS is run through [autoprefixer](https://www.npmjs.com/package/autoprefixer) to add vendor prefixes to the rules. If set to an object, it is passed to autoprefixer as `options` argument. |
| `minify` | `false` | Set to `true` to enable minification of the generated CSS. The popular [clean-css](https://www.npmjs.com/package/clean-css) package is used for this. |
| `compressClassNames` | `false` | Set to `true` to shorten/obfuscate generated CSS class names. A class name like `"my_file-my_styles_var-my_name"` will so be converted to, e.g., `"_bf"`. |
| `mediaMap` | `{}` | This allows you to define media query shortcuts which are expanded on building the CSS. Example: using `{ phone: "media only screen and (max-width: 640px)" }` as value for this option and a stylesheet spec having `"@phone"` as a key, that key will be translated to `@media only screen and (max-width: 640px)` in the final CSS. |
| `context` | `null` | If set to an object, each identifier found on the right-hand side of a style rule is substituted with the corresponding property value of this object.
| Option | Default | Description |
|----------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `filename` | `"unknown"` | The name of the file for the source to transform. This value is used (in revised form) as a prefix when generating CSS class names. |
| `vendorPrefixes` | `false` | If truthy, the generated CSS is run through [autoprefixer](https://www.npmjs.com/package/autoprefixer) to add vendor prefixes to the rules. If set to an object, it is passed to autoprefixer as `options` argument. |
| `minify` | `false` | Set to `true` to enable minification of the generated CSS. The popular [clean-css](https://www.npmjs.com/package/clean-css) package is used for this. |
| `compressClassNames` | `false` | Set to `true` to shorten/obfuscate generated CSS class names. A class name like `"my_file-my_styles_var-my_name"` will so be converted to, e.g., `"_bf"`. |
| `mediaMap` | `{}` | This allows you to define media query shortcuts which are expanded on building the CSS. Example: using `{ phone: "media only screen and (max-width: 640px)" }` as value for this option and a stylesheet spec having `"@phone"` as a key, that key will be translated to `@media only screen and (max-width: 640px)` in the final CSS. |
| `context` | `null` | If set to an object, each identifier found on the right-hand side of a style rule is substituted with the corresponding property value of this object. |
| `cacheDir` | `null` | If set to a string value, e.g. `"tmp/cache/"`, the class name cache will be persisted in a file in this directory. Otherwise, an in-memory cache is used. |
| `sourceMapName` | `null` | If set to a string value, a source map will be generated with the given name and returned as `map`, e.g. `result.map` in the example above. |
| `sourceMapName` | `null` | If set to a string value, a source map will be generated with the given name and returned as `map`, e.g. `result.map` in the example above. |

@@ -315,4 +315,3 @@ #### `object Extractor.transformFile(string filename, [object options], function callback)`

-B, --no-bundle Disable bundling CSS
-a, --babelize Add a Babel transformation step
-s, --babel-stage <stage> Set Babel's experimental proposal stage (default: 2)
-a, --babelize Add a Babel transformation step (configure it with a .babelrc)
```

@@ -525,9 +524,3 @@

If you use React Inline's CLI to transform your styles and set the `--babelize` option, you need to install the [babel-runtime](https://www.npmjs.com/package/babel-runtime) package as an additional dependency:
```bash
% npm install babel-runtime --save
```
## Example

@@ -534,0 +527,0 @@