@znck/prop-types
Advanced tools
Comparing version 0.4.0 to 0.4.1
@@ -5,2 +5,12 @@ # Change Log | ||
<a name="0.4.1"></a> | ||
## [0.4.1](https://github.com/znck/vue-prop-types/compare/v0.4.0...v0.4.1) (2019-01-19) | ||
### Bug Fixes | ||
* Reset local variables ([6fb0fd1](https://github.com/znck/vue-prop-types/commit/6fb0fd1)) | ||
<a name="0.4.0"></a> | ||
@@ -7,0 +17,0 @@ # [0.4.0](https://github.com/znck/vue-prop-types/compare/v0.4.0-alpha.3...v0.4.0) (2019-01-19) |
/** | ||
* @znck/prop-types v0.4.0 | ||
* @znck/prop-types v0.4.1 | ||
* (c) 2019 Rahul Kadyan <hi@znck.me> (https://znck.me) | ||
@@ -4,0 +4,0 @@ * @license MIT |
/** | ||
* @znck/prop-types v0.4.0 | ||
* @znck/prop-types v0.4.1 | ||
* (c) 2019 Rahul Kadyan <hi@znck.me> (https://znck.me) | ||
@@ -4,0 +4,0 @@ * @license MIT |
{ | ||
"name": "@znck/prop-types", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"description": "Fluent prop validation for Vue", | ||
@@ -5,0 +5,0 @@ "main": "dist/prop-types.js", |
@@ -19,4 +19,4 @@ <div class="text-xs-center" align="center" style="margin: 20px"> | ||
> It uses `process.env.NODE_ENV !== 'production'` to detect production build. | ||
> Use `rollup-plugin-replace` for rollup and `DefinePlugin` for webpack. | ||
> Use [rollup-plugin-replace](https://github.com/rollup/rollup-plugin-replace) or [DefinePlugin](https://webpack.js.org/plugins/define-plugin/) to replace `process.env.NODE_ENV` with `'production'`. | ||
> If you are using Vue CLI, it's already done for you. | ||
@@ -38,2 +38,4 @@ ## Usage | ||
Make sure to add `@znck/prop-types/remove` to babel config. | ||
```js | ||
@@ -40,0 +42,0 @@ // babel.config.js or .babelrc.js |
/** | ||
* @znck/prop-types v0.4.0 | ||
* @znck/prop-types v0.4.1 | ||
* (c) 2019 Rahul Kadyan <hi@znck.me> (https://znck.me) | ||
@@ -12,3 +12,3 @@ * @license MIT | ||
let hasPropTypes = false; | ||
let newProps = t.objectExpression([]); | ||
let newProps; | ||
let oldProps; | ||
@@ -22,2 +22,3 @@ return { | ||
name = path.node.specifiers.find(s => s.type === 'ImportDefaultSpecifier').local.name; | ||
newProps = oldProps = undefined; | ||
} | ||
@@ -52,7 +53,9 @@ }, | ||
const info = {}; | ||
if (!newProps) newProps = t.objectExpression([]); | ||
prop.get('value').traverse({ | ||
Identifier(path) { | ||
if (path.isIdentifier({ | ||
name: 'boolean' | ||
name: 'bool' | ||
})) { | ||
// Maybe check PropTypes.bool | ||
info.isBoolean = true; | ||
@@ -84,10 +87,6 @@ } else if (path.isIdentifier({ | ||
if (info.default.isBooleanLiteral({ | ||
value: false | ||
value: true | ||
})) { | ||
newProps.properties.push(t.objectProperty(t.identifier(prop.node.key.name), t.identifier('Boolean'))); | ||
} else { | ||
newProps.properties.push(t.objectProperty(t.identifier(prop.node.key.name), t.objectExpression([t.objectProperty(t.identifier('type'), t.identifier('Boolean')), t.objectProperty(t.identifier('default'), t.booleanLiteral(true))]))); | ||
newProps.properties.push(t.objectProperty(t.identifier(prop.node.key.name), t.objectExpression([t.objectProperty(t.identifier('default'), t.booleanLiteral(true))]))); | ||
} | ||
} else { | ||
newProps.properties.push(t.objectProperty(t.identifier(prop.node.key.name), t.identifier('Boolean'))); | ||
} | ||
@@ -112,2 +111,3 @@ } else if (info.default) { | ||
oldProps.replaceWith(node); | ||
newProps = undefined; | ||
} | ||
@@ -114,0 +114,0 @@ } else { |
@@ -6,3 +6,3 @@ export default function(babel) { | ||
let newProps = t.objectExpression([]) | ||
let newProps | ||
let oldProps | ||
@@ -19,2 +19,3 @@ | ||
).local.name | ||
newProps = oldProps = undefined | ||
} | ||
@@ -49,5 +50,7 @@ }, | ||
if (!newProps) newProps = t.objectExpression([]) | ||
prop.get('value').traverse({ | ||
Identifier(path) { | ||
if (path.isIdentifier({ name: 'boolean' })) { | ||
if (path.isIdentifier({ name: 'bool' })) { // Maybe check PropTypes.bool | ||
info.isBoolean = true | ||
@@ -73,19 +76,8 @@ } else if (path.isIdentifier({ name: 'value' })) { | ||
if (info.default) { | ||
if (info.default.isBooleanLiteral({ value: false })) { | ||
if (info.default.isBooleanLiteral({ value: true })) { | ||
newProps.properties.push( | ||
t.objectProperty( | ||
t.identifier(prop.node.key.name), | ||
t.identifier('Boolean') | ||
) | ||
) | ||
} else { | ||
newProps.properties.push( | ||
t.objectProperty( | ||
t.identifier(prop.node.key.name), | ||
t.objectExpression([ | ||
t.objectProperty( | ||
t.identifier('type'), | ||
t.identifier('Boolean') | ||
), | ||
t.objectProperty( | ||
t.identifier('default'), | ||
@@ -98,9 +90,2 @@ t.booleanLiteral(true) | ||
} | ||
} else { | ||
newProps.properties.push( | ||
t.objectProperty( | ||
t.identifier(prop.node.key.name), | ||
t.identifier('Boolean') | ||
) | ||
) | ||
} | ||
@@ -150,2 +135,3 @@ } else if (info.default) { | ||
oldProps.replaceWith(node) | ||
newProps = undefined | ||
} | ||
@@ -152,0 +138,0 @@ } else { |
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
124
38080
935