Skip to content

Commit

Permalink
Merge pull request #10 from synacor/component-display-names
Browse files Browse the repository at this point in the history
Update dependencies and fix lint error for components not having display names
  • Loading branch information
developit authored Sep 7, 2017
2 parents 1058ff2 + eea6da5 commit ed7dfb9
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 52 deletions.
16 changes: 14 additions & 2 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
{
"presets": ["es2015"],
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["Last 2 versions", "IE >= 9"],
"uglify": true
},
"loose": true,
"exclude": [
"transform-es2015-typeof-symbol"
]
}]
],
"plugins": [
"transform-object-assign",
["transform-react-jsx", { "pragma": "h", "useBuiltIns": true }]
["transform-react-jsx", { "pragma": "h" }]
]
}
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,6 @@ In addition to [`<Text>`](#Text), [`withText()`](#withText) and [`<Localizer>`](

### IntlProvider

**Extends Component**

`<IntlProvider>` is a nestable internationalization definition provider.
It exposes an Intl scope & definition into the tree,
making them available to descendant components.
Expand Down
64 changes: 31 additions & 33 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,24 @@
"amdName": "preactLocalize",
"version": "1.0.1",
"description": "Preact internationalization, done simply.",
"jsnext:main": "src/index.js",
"umd:main": "dist/preact-i18n.umd.js",
"source": "src/index.js",
"module": "dist/preact-i18n.esm.js",
"main": "dist/preact-i18n.js",
"umd:main": "dist/preact-i18n.umd.js",
"scripts": {
"lint": "eslint src test",
"test": "npm run lint && karma start karma.conf.js --single-run",
"test": "npm-run-all lint test:unit",
"test:watch": "karma start karma.conf.js --no-single-run",
"test:unit": "karma start karma.conf.js --single-run",
"build": "npm-run-all clean -p rollup:* -p minify:* -s docs size",
"clean": "rimraf dist && mkdirp dist",
"rollup:cjs": "rollup -c rollup.config.js -m -f cjs -n $npm_package_amdName $npm_package_jsnext_main -o $npm_package_main",
"rollup:umd": "rollup -c rollup.config.js -m -f umd -n $npm_package_amdName $npm_package_jsnext_main -o $npm_package_umd_main",
"minify:cjs": "uglifyjs $npm_package_main --pure-funcs classCallCheck possibleConstructorReturn -c pure_getters -m toplevel -o $npm_package_main -p relative --in-source-map ${npm_package_main}.map --source-map ${npm_package_main}.map",
"minify:umd": "uglifyjs $npm_package_umd_main --pure-funcs classCallCheck possibleConstructorReturn -c pure_getters -m -o $npm_package_umd_main -p relative --in-source-map ${npm_package_umd_main}.map --source-map ${npm_package_umd_main}.map",
"rollup:cjs": "rollup -c rollup.config.js -m -f cjs -n $npm_package_amdName $npm_package_source -o $npm_package_main",
"rollup:umd": "rollup -c rollup.config.js -m -f umd -n $npm_package_amdName $npm_package_source -o $npm_package_umd_main",
"rollup:esm": "rollup -c rollup.config.js -m -f es -n $npm_package_amdName $npm_package_source -o $npm_package_module",
"minify:cjs": "uglifyjs $npm_package_main -c pure_getters,pure_funcs=classCallCheck -m toplevel -o $npm_package_main --source-map content=${npm_package_main}.map,url=preact-i18n.js.map,filename=${npm_package_main}.map",
"minify:umd": "uglifyjs $npm_package_umd_main -c pure_getters,pure_funcs=classCallCheck -m -o $npm_package_umd_main --source-map content=${npm_package_umd_main}.map,url=preact-i18n.umd.js.map,filename=${npm_package_umd_main}.map",
"docs": "mkdirp docs && documentation readme -q --section API src && documentation build src -f html -o ./docs",
"size": "echo \"Gzipped Size: $(strip-json-comments --no-whitespace $npm_package_main | gzip-size)\"",
"size": "echo \"Gzipped Size: $(strip-json-comments --no-whitespace $npm_package_main | gzip-size --raw)\"",
"release": "npm run build -s && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish"
},
"repository": "synacor/preact-i18n",
Expand All @@ -34,60 +38,54 @@
"src",
"dist"
],
"babel": {
"presets": [
"es2015",
"stage-0"
]
},
"eslintConfig": {
"extends": "eslint-config-synacor"
},
"devDependencies": {
"babel-core": "^6.25.0",
"babel-core": "^6.26.0",
"babel-eslint": "^7.2.3",
"babel-loader": "^7.0.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-object-assign": "^6.22.0",
"babel-plugin-transform-react-jsx": "^6.8.0",
"babel-polyfill": "^6.9.1",
"babel-preset-es2015": "^6.9.0",
"babel-preset-es2015-minimal-rollup": "^2.0.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.0",
"babel-preset-stage-0": "^6.5.0",
"babelrc-rollup": "^3.0.0",
"chai": "^4.1.0",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"documentation": "^4.0.0-rc.1",
"documentation": "^5.2.2",
"documentation-theme-default": "^3.0.0-beta1",
"eslint": "^3.19.0",
"eslint-config-synacor": "^1.0.0",
"eslint": "^4.5.0",
"eslint-config-synacor": "^2.0.0-beta.2",
"eslint-plugin-mocha": "^4.7.0",
"eslint-plugin-react": "^6.10.3",
"eslint-plugin-react": "^7.3.0",
"gzip-size-cli": "^2.0.0",
"karma": "^1.7.0",
"karma": "^1.7.1",
"karma-chai": "^0.1.0",
"karma-chai-as-promised": "^0.1.2",
"karma-chai-sinon": "^0.1.5",
"karma-cli": "^1.0.0",
"karma-junit-reporter": "^1.0.0",
"karma-mocha": "^1.0.1",
"karma-mocha-reporter": "^2.0.2",
"karma-mocha-reporter": "^2.2.4",
"karma-phantomjs-launcher": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.3",
"mkdirp": "^0.5.1",
"mocha": "^3.4.2",
"npm-run-all": "^4.0.2",
"preact": "^7.2.1",
"npm-run-all": "^4.1.1",
"preact": "^8.2.5",
"preact-jsx-chai": "^2.2.1",
"rimraf": "^2.5.4",
"rollup": "^0.45.2",
"rollup-plugin-babel": "^2.7.1",
"rollup-plugin-babel": "^3.0.2",
"rollup-plugin-memory": "^2.0.0",
"sinon": "^2.4.1",
"sinon-chai": "^2.12.0",
"rollup-plugin-post-replace": "^1.0.0",
"sinon": "^3.2.1",
"sinon-chai": "^2.13.0",
"strip-json-comments-cli": "^1.0.1",
"uglify-js": "^2.8.28",
"webpack": "^2.6.1"
"uglify-js": "^3.0.28",
"webpack": "^3.5.5"
},
"dependencies": {
"dlv": "^1.0.2"
Expand Down
8 changes: 6 additions & 2 deletions rollup.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import babel from 'rollup-plugin-babel';
import memory from 'rollup-plugin-memory';
import babelrc from 'babelrc-rollup'
import babelrc from 'babelrc-rollup';
import replace from 'rollup-plugin-post-replace';

export default {
useStrict: false,
Expand All @@ -18,6 +19,9 @@ export default {
path: 'src/entry.js',
contents: "export { default } from './index';"
}),
babel(babelrc())
babel(babelrc()),
replace({
'throw ': 'return; throw '
})
]
};
14 changes: 9 additions & 5 deletions src/components/with-text.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,12 @@ import translateMapping from '../lib/translate-mapping';
* <input placeholder={props.placeholder} />
* )
*/
export const withText = mapping => Child => (props, context) => {
let map = typeof mapping==='function' ? mapping(props) : mapping;
let translations = translateMapping(map, context.intl);
return <Child {...props} {...translations} />;
};
export function withText(mapping) {
return function withTextWrapper(Child) {
return function WithTextWrapper(props, context) {
let map = typeof mapping==='function' ? mapping(props) : mapping;
let translations = translateMapping(map, context.intl);
return <Child {...props} {...translations} />;
};
};
}
14 changes: 9 additions & 5 deletions src/intl.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,12 @@ export const intl = (...args) => {
};


const intlProviderWrapper = (Child, options) => props => (
<IntlProvider {...(options || {})}>
<Child {...props} />
</IntlProvider>
);
function intlProviderWrapper(Child, options) {
return function IntlProviderWrapper(props) {
return (
<IntlProvider {...(options || {})}>
<Child {...props} />
</IntlProvider>
);
};
}
6 changes: 3 additions & 3 deletions test/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ describe('intl', () => {

describe('<Text>', () => {
it('should fall back if not wrapped in a Provider', () => {
let root = rndr(
rndr(
<div>
<Text>FOO</Text>
</div>
Expand All @@ -136,7 +136,7 @@ describe('intl', () => {
});

it('should render text', () => {
let root = rndr(
rndr(
<div>
<IntlProvider definition={{ foo: 'FOO!' }}>
<div>
Expand Down Expand Up @@ -274,7 +274,7 @@ describe('intl', () => {

describe('<Localizer>', () => {
it('should translate any <Text> props on its child', () => {
let root = rndr(
rndr(
<IntlProvider definition={{ input: { pl: 'type a name' } }}>
<div>
<Localizer>
Expand Down

0 comments on commit ed7dfb9

Please sign in to comment.