@svgr/core
Advanced tools
Comparing version 2.2.0 to 2.4.0
@@ -6,2 +6,21 @@ # Change Log | ||
<a name="2.4.0"></a> | ||
# [2.4.0](https://github.com/smooth-code/svgr/compare/v2.3.0...v2.4.0) (2018-09-16) | ||
### Bug Fixes | ||
* use literal instead of litteral ([7849fd4](https://github.com/smooth-code/svgr/commit/7849fd4)) | ||
### Features | ||
* allow to spread props at the start ([#166](https://github.com/smooth-code/svgr/issues/166)) ([cd659dc](https://github.com/smooth-code/svgr/commit/cd659dc)) | ||
* **upgrade:** h2x@1.1.0 (jsdom@12.0.0) & others ([2d9b7bd](https://github.com/smooth-code/svgr/commit/2d9b7bd)) | ||
* new option "svgProps" ([#172](https://github.com/smooth-code/svgr/issues/172)) ([9657110](https://github.com/smooth-code/svgr/commit/9657110)) | ||
<a name="2.2.0"></a> | ||
@@ -8,0 +27,0 @@ # [2.2.0](https://github.com/smooth-code/svgr/compare/v2.1.1...v2.2.0) (2018-08-13) |
@@ -23,2 +23,3 @@ "use strict"; | ||
svgAttributes: null, | ||
svgProps: null, | ||
svgo: true, | ||
@@ -25,0 +26,0 @@ svgoConfig: null, |
@@ -20,8 +20,6 @@ "use strict"; | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
async function convert(code, config = {}, state = {}) { | ||
config = _objectSpread({}, _config.DEFAULT_CONFIG, config); | ||
config = _extends({}, _config.DEFAULT_CONFIG, config); | ||
state = (0, _util.expandState)(state); | ||
@@ -28,0 +26,0 @@ let result = code; // Remove null-byte character (copy/paste from Illustrator) |
@@ -12,3 +12,3 @@ "use strict"; | ||
attr.value = '1em'; | ||
attr.litteral = false; | ||
attr.literal = false; | ||
return attr; | ||
@@ -15,0 +15,0 @@ }; |
@@ -8,3 +8,3 @@ "use strict"; | ||
const expandProps = () => () => ({ | ||
const expandProps = (place = 'end') => () => ({ | ||
visitor: { | ||
@@ -17,3 +17,11 @@ JSXElement: { | ||
props.spread = true; | ||
path.node.attributes.push(props); | ||
if (place === 'start') { | ||
path.node.attributes.unshift(props); | ||
} | ||
if (place === 'end') { | ||
path.node.attributes.push(props); | ||
} | ||
path.replace(path.node); | ||
@@ -20,0 +28,0 @@ } |
@@ -25,3 +25,3 @@ "use strict"; | ||
const svgAttribute = (attributes = {}) => () => { | ||
const svgAttributes = (attributes = {}) => () => { | ||
const keys = Object.keys(attributes); | ||
@@ -35,6 +35,6 @@ return { | ||
const parseAttributes = keys.reduce((accumulation, key) => { | ||
const props = new _h2xPluginJsx.JSXAttribute(); | ||
props.name = key; | ||
props.value = attributes[key]; | ||
return [...accumulation, props]; | ||
const prop = new _h2xPluginJsx.JSXAttribute(); | ||
prop.name = key; | ||
prop.value = attributes[key]; | ||
return [...accumulation, prop]; | ||
}, []); | ||
@@ -54,3 +54,3 @@ const mergeAttributes = path.node.attributes.reduce((accumulation, value) => { | ||
var _default = svgAttribute; | ||
var _default = svgAttributes; | ||
exports.default = _default; |
@@ -16,3 +16,3 @@ "use strict"; | ||
props.value = 'svgRef'; | ||
props.litteral = true; | ||
props.literal = true; | ||
path.node.attributes.push(props); | ||
@@ -19,0 +19,0 @@ path.replace(path.node); |
@@ -6,6 +6,4 @@ "use strict"; | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
const elementToComponent = { | ||
@@ -33,3 +31,3 @@ svg: 'Svg', | ||
}; | ||
const componentToElement = Object.keys(elementToComponent).reduce((map, key) => _objectSpread({}, map, { | ||
const componentToElement = Object.keys(elementToComponent).reduce((map, key) => _extends({}, map, { | ||
[elementToComponent[key]]: key | ||
@@ -36,0 +34,0 @@ }), {}); |
@@ -13,2 +13,3 @@ "use strict"; | ||
svgAttributes: true, | ||
svgProps: true, | ||
svgRef: true, | ||
@@ -20,3 +21,3 @@ titleProp: true, | ||
}; | ||
exports.reactNativeTemplate = exports.reactDomTemplate = exports.toReactNative = exports.titleProp = exports.svgRef = exports.svgAttributes = exports.stripAttribute = exports.replaceAttrValues = exports.removeStyle = exports.removeDimensions = exports.removeComments = exports.expandProps = exports.emSize = exports.default = void 0; | ||
exports.reactNativeTemplate = exports.reactDomTemplate = exports.toReactNative = exports.titleProp = exports.svgRef = exports.svgProps = exports.svgAttributes = exports.stripAttribute = exports.replaceAttrValues = exports.removeStyle = exports.removeDimensions = exports.removeComments = exports.expandProps = exports.emSize = exports.default = void 0; | ||
@@ -75,2 +76,6 @@ var _convert = _interopRequireDefault(require("./convert")); | ||
var _svgProps = _interopRequireDefault(require("./h2x/svgProps")); | ||
exports.svgProps = _svgProps.default; | ||
var _svgRef = _interopRequireDefault(require("./h2x/svgRef")); | ||
@@ -77,0 +82,0 @@ |
@@ -14,6 +14,4 @@ "use strict"; | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
function configToPlugins(config) { | ||
@@ -26,3 +24,5 @@ const plugins = [_h2xPluginJsx.default, (0, _.stripAttribute)('xmlns'), (0, _.removeComments)(), (0, _.removeStyle)()]; | ||
if (config.svgAttributes) plugins.push((0, _.svgAttributes)(config.svgAttributes)); | ||
if (config.expandProps) plugins.push((0, _.expandProps)()); | ||
if (config.svgProps) plugins.push((0, _.svgProps)(config.svgProps)); // TODO remove boolean value in the next major release | ||
if (config.expandProps) plugins.push((0, _.expandProps)(config.expandProps === true ? 'end' : config.expandProps)); | ||
if (config.native) plugins.push((0, _.toReactNative)()); | ||
@@ -35,3 +35,3 @@ if (config.titleProp) plugins.push((0, _.titleProp)()); | ||
const plugins = configToPlugins(config); | ||
return (0, _h2xCore.transform)(code, _objectSpread({ | ||
return (0, _h2xCore.transform)(code, _extends({ | ||
plugins, | ||
@@ -38,0 +38,0 @@ state |
@@ -8,3 +8,3 @@ "use strict"; | ||
var _merge = _interopRequireDefault(require("lodash/merge")); | ||
var _mergeDeep = _interopRequireDefault(require("merge-deep")); | ||
@@ -19,3 +19,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
}); | ||
return _prettier.default.format(code, (0, _merge.default)({ | ||
return _prettier.default.format(code, (0, _mergeDeep.default)({ | ||
parser: 'babylon' | ||
@@ -22,0 +22,0 @@ }, prettierRcConfig, config.prettierConfig || {})); |
@@ -10,3 +10,3 @@ "use strict"; | ||
var _mergeConfigs = _interopRequireDefault(require("./mergeConfigs")); | ||
var _mergeDeep = _interopRequireDefault(require("merge-deep")); | ||
@@ -34,3 +34,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const svgoRcConfig = await explorer.search(filePath); | ||
const svgo = new _svgo.default((0, _mergeConfigs.default)(getBaseSvgoConfig(config), svgoRcConfig, config.svgoConfig)); | ||
const svgo = new _svgo.default((0, _mergeDeep.default)(getBaseSvgoConfig(config), svgoRcConfig, config.svgoConfig)); | ||
const info = state.filePath ? { | ||
@@ -37,0 +37,0 @@ input: 'file', |
@@ -6,21 +6,16 @@ "use strict"; | ||
exports.expandState = expandState; | ||
exports.pascalCase = void 0; | ||
var _path = _interopRequireDefault(require("path")); | ||
var _lodash = require("lodash"); | ||
var _camelcase = _interopRequireDefault(require("camelcase")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
const pascalCase = str => (0, _lodash.upperFirst)((0, _lodash.camelCase)(str)); | ||
exports.pascalCase = pascalCase; | ||
function getComponentName(state) { | ||
if (!state.filePath) return 'SvgComponent'; | ||
const componentName = pascalCase(_path.default.parse(state.filePath).name); | ||
const componentName = (0, _camelcase.default)(_path.default.parse(state.filePath).name, { | ||
pascalCase: true | ||
}); | ||
if (Number.isNaN(parseInt(componentName[0], 10))) return componentName; | ||
@@ -31,5 +26,5 @@ return `Svg${componentName}`; | ||
function expandState(state) { | ||
return _objectSpread({ | ||
return _extends({ | ||
componentName: state.componentName || getComponentName(state) | ||
}, state); | ||
} |
{ | ||
"name": "@svgr/core", | ||
"description": "Transform SVG into React Components.", | ||
"version": "2.2.0", | ||
"version": "2.4.0", | ||
"main": "lib/index.js", | ||
@@ -25,10 +25,11 @@ "repository": "git@github.com:smooth-code/svgr.git", | ||
"dependencies": { | ||
"camelcase": "^5.0.0", | ||
"cosmiconfig": "^5.0.6", | ||
"h2x-core": "^1.0.0", | ||
"h2x-plugin-jsx": "^1.0.0", | ||
"lodash": "^4.17.10", | ||
"h2x-core": "^1.1.0", | ||
"h2x-plugin-jsx": "^1.1.0", | ||
"merge-deep": "^3.0.2", | ||
"prettier": "^1.14.2", | ||
"svgo": "^1.0.5" | ||
}, | ||
"gitHead": "c7ab92b534b0e099670bb9c826e2ffe611a8926c" | ||
"gitHead": "d84e80fe460f194653e79504bf9a4e733364fc26" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
29707
644
7
+ Addedcamelcase@^5.0.0
+ Addedmerge-deep@^3.0.2
+ Addedarr-union@3.1.0(transitive)
+ Addedcamelcase@5.3.1(transitive)
+ Addedclone-deep@0.2.4(transitive)
+ Addedfor-in@0.1.81.0.2(transitive)
+ Addedfor-own@0.1.5(transitive)
+ Addedis-buffer@1.1.6(transitive)
+ Addedis-extendable@0.1.1(transitive)
+ Addedis-plain-object@2.0.4(transitive)
+ Addedisobject@3.0.1(transitive)
+ Addedkind-of@2.0.13.2.2(transitive)
+ Addedlazy-cache@0.2.71.0.4(transitive)
+ Addedmerge-deep@3.0.3(transitive)
+ Addedmixin-object@2.0.1(transitive)
+ Addedshallow-clone@0.1.2(transitive)
- Removedlodash@^4.17.10
- Removedlodash@4.17.21(transitive)
Updatedh2x-core@^1.1.0
Updatedh2x-plugin-jsx@^1.1.0