react-inline
Advanced tools
+2
-6
@@ -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 @@ | ||
| ); | ||
+9
-0
@@ -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 @@ |
+40
-34
| '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']; |
+12
-10
| '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 }; |
+12
-12
| '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']; |
+35
-22
| '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 | ||
| }; |
+17
-11
| '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 }; |
+43
-40
| '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']; |
+40
-28
| '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; |
+32
-17
| "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']; |
+14
-10
| { | ||
| "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 @@ |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
58478
4.2%10
-9.09%827
4.95%11
83.33%561
-1.23%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated