diff --git a/.gitignore b/.gitignore index d778de3..df1af72 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,9 @@ coverage/ /reports /test-report.xml jest_0 -lib -dist +/lib +/dist /public /docs/cli /docs/declinations -package-lock.json \ No newline at end of file +package-lock.json diff --git a/.npmignore b/.npmignore index 002ae5b..e2b709a 100644 --- a/.npmignore +++ b/.npmignore @@ -3,9 +3,18 @@ sonar-project.properties .gitlab-ci.yml .travis.yml .npmrc +.babelrc CONTRIBUTING.md CODE_OF_CONDUCT.md CHANGELOG.md internals babel.config.js -babel.ext.json \ No newline at end of file +babel.ext.json +README.md +text-report.xml +.idea +coverage +docs/ +reports/ +/styleguide +bundle-stats.html diff --git a/.travis.yml b/.travis.yml index ae790e4..b8865da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,7 +53,7 @@ jobs: organization: $(echo $TRAVIS_REPO_SLUG | awk -F '/' '{print $1}') script: - npm run test - - sonar-scanner -Dsonar.projectVersion=${SONAR_VERSION} + - if [[ "$TRAVIS_BRANCH" != greenkeeper* ]]; then sonar-scanner -Dsonar.projectVersion=${SONAR_VERSION}; fi # Job: Release - stage: release diff --git a/README.md b/README.md index ac410ab..0025cda 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [![Build Status](https://travis-ci.org/bootstrap-styled/toggle.svg?branch=master)](https://travis-ci.org/bootstrap-styled/toggle) [![npm Version](https://img.shields.io/npm/v/@bootstrap-styled/toggle.svg?style=flat)](https://www.npmjs.com/package/@bootstrap-styled/toggle) [![License](https://img.shields.io/npm/l/@bootstrap-styled/toggle.svg?style=flat)](https://www.npmjs.com/package/@bootstrap-styled/toggle) [![NPM monthly downloads](https://img.shields.io/npm/dm/@bootstrap-styled/toggle.svg?style=flat)](https://npmjs.org/package/@bootstrap-styled/toggle) [![NPM total downloads](https://img.shields.io/npm/dt/@bootstrap-styled/toggle.svg?style=flat)](https://npmjs.org/package/@bootstrap-styled/toggle) [![npm Version](https://img.shields.io/node/v/@bootstrap-styled/toggle.svg?style=flat)](https://www.npmjs.com/package/@bootstrap-styled/toggle) [![Module formats](https://img.shields.io/badge/module%20formats-umd%2C%20cjs%2C%20esm-green.svg?style=flat)](https://www.npmjs.com/package/@bootstrap-styled/toggle) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.github.bootstrap-styled.toggle&metric=coverage)](https://sonarcloud.io/dashboard?id=com.github.bootstrap-styled.toggle) [![Quality gate status](https://sonarcloud.io/api/project_badges/measure?project=com.github.bootstrap-styled.toggle&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.github.bootstrap-styled.toggle) +[![gitter](https://badges.gitter.im/bootstrap-styled/bootstrap-styled.svg)](https://gitter.im/bootstrap-styled) +[![Greenkeeper badge](https://badges.greenkeeper.io/bootstrap-styled/toggle.svg)](https://greenkeeper.io/) Toggle option made with bootstrap and optionaly use react-intl or any other ui component @@ -29,7 +31,7 @@ Please also note that all repositories under the bootstrap-styled organization f The MIT License -Copyright (c) 2017-2018 Yeutech Company Limited. https://bootstrap-styled.github.io +Copyright (c) 2017-2018 Yeutech Company Limited. https://bootstrap-styled.github.io/bootstrap-styled Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/lib/components/Toggle/ToggleOption.js b/lib/components/Toggle/ToggleOption.js deleted file mode 100644 index 447ec56..0000000 --- a/lib/components/Toggle/ToggleOption.js +++ /dev/null @@ -1,87 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -var _Option = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Option")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } - -var injectIntl; -var intlShape; // this make react-intl optional to our component and our module - -try { - var _require = require('react-intl'), - injectIntlDefault = _require.injectIntl, - intlShapeDefault = _require.intlShape; // eslint-disable-line - - - injectIntl = injectIntlDefault; // eslint-disable-line - - intlShape = intlShapeDefault; // eslint-disable-line -} catch (er) { - injectIntl = null; - intlShape = null; -} -/** - * This component is automatically used when using `` - * If you need a different option tag, instead just pass the prop `optionTag` to the `` component. - */ - - -var ToggleOption = function ToggleOption(_ref) { - var Tag = _ref.tag, - value = _ref.value, - message = _ref.message, - intl = _ref.intl, - rest = _objectWithoutProperties(_ref, ["tag", "value", "message", "intl"]); - - return _react.default.createElement(Tag, _extends({ - value: value - }, rest), message && intl ? intl.formatMessage(message) : value); -}; - -ToggleOption.defaultProps = { - tag: _Option.default -}; -/* eslint-disable react/require-default-props */ - -ToggleOption.propTypes = { - /** - * Replace the default component tag by the one specified. Can be: - */ - tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element, _propTypes.default.func, _propTypes.default.object]), - - /** - * The value - */ - value: _propTypes.default.string.isRequired, - - /** - * react-intl messages (optional) - */ - message: _propTypes.default.object -}; -var exported = ToggleOption; // eslint-disable-line import/no-mutable-exports - -if (intlShape) { - /** @ignore */ - ToggleOption.propTypes.intl = intlShape.isRequired; - exported = injectIntl(ToggleOption); -} - -var _default = exported; -exports.default = _default; -module.exports = exports["default"]; \ No newline at end of file diff --git a/lib/components/Toggle/index.js b/lib/components/Toggle/index.js deleted file mode 100644 index 577fb55..0000000 --- a/lib/components/Toggle/index.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -var _Option = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Option")); - -var _Input = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Input")); - -var _ToggleOption = _interopRequireDefault(require("./ToggleOption")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } - -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } - -function Toggle(props) { - var Tag = props.tag, - OptionTag = props.optionTag, - defaultLabel = props.defaultLabel, - className = props.className, - onToggle = props.onToggle, - value = props.value, - values = props.values, - messages = props.messages, - rest = _objectWithoutProperties(props, ["tag", "optionTag", "defaultLabel", "className", "onToggle", "value", "values", "messages"]); // If we have items, render them - - - var content = !values.length ? _react.default.createElement(_Option.default, null, defaultLabel) : values.map(function (v) { - return _react.default.createElement(OptionTag, { - key: v, - value: v, - message: messages[v] - }); - }); - return _react.default.createElement(Tag, _extends({ - type: "select", - name: "select", - value: value, - onChange: onToggle, - className: className - }, rest), content); -} - -Toggle.defaultProps = { - tag: _Input.default, - optionTag: _ToggleOption.default, - defaultLabel: '--', - messages: {}, - value: '', - values: [], - onToggle: function onToggle() {} -}; -/* eslint-disable react/require-default-props */ - -Toggle.propTypes = { - /** - * Replace the default component tag by the one specified. Can be: - */ - tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element, _propTypes.default.object, _propTypes.default.func]), - - /** - * Replace the option component tag by the one specified. Can be: - */ - optionTag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element, _propTypes.default.object, _propTypes.default.func]), - - /** - * Trigger when toggle - */ - onToggle: _propTypes.default.func, - - /** - * Label used by default when no selection - */ - defaultLabel: _propTypes.default.string, - - /** - * List of all possible values - */ - values: _propTypes.default.array, - - /** - * Current value - */ - value: _propTypes.default.string, - - /** @ignore */ - className: _propTypes.default.string, - - /** react-intl messages (optional) */ - messages: _propTypes.default.object -}; -/* eslint-enable react/require-default-props */ - -var _default = Toggle; -exports.default = _default; -module.exports = exports["default"]; \ No newline at end of file diff --git a/lib/components/Toggle/tests/ToggleOption.test.js b/lib/components/Toggle/tests/ToggleOption.test.js deleted file mode 100644 index 2f3619d..0000000 --- a/lib/components/Toggle/tests/ToggleOption.test.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -var _react = _interopRequireDefault(require("react")); - -var _enzyme = require("enzyme"); - -var _reactIntl = require("react-intl"); - -var _ToggleOption = _interopRequireDefault(require("../ToggleOption")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/* eslint-disable function-paren-newline */ -describe('', function () { - it('should render default language messages', function () { - var defaultEnMessage = 'someContent'; - var message = (0, _reactIntl.defineMessages)({ - enMessage: { - id: 'boilerplate.containers.LocaleToggle.en', - defaultMessage: defaultEnMessage - } - }); - var renderedComponent = (0, _enzyme.shallow)(_react.default.createElement(_reactIntl.IntlProvider, { - locale: "en" - }, _react.default.createElement(_ToggleOption.default, { - value: "en", - message: message.enMessage - }))); - expect(renderedComponent.contains(_react.default.createElement(_ToggleOption.default, { - value: "en", - message: message.enMessage - }))).toBe(true); - }); - it('should display `value`(two letter language code) when `message` is absent', function () { - var renderedComponent = (0, _enzyme.mount)(_react.default.createElement(_reactIntl.IntlProvider, { - locale: "de" - }, _react.default.createElement(_ToggleOption.default, { - value: "de" - }))); - expect(renderedComponent.text()).toBe('de'); - }); -}); \ No newline at end of file diff --git a/lib/components/Toggle/tests/index.test.js b/lib/components/Toggle/tests/index.test.js deleted file mode 100644 index 64130a4..0000000 --- a/lib/components/Toggle/tests/index.test.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -var _react = _interopRequireDefault(require("react")); - -var _enzyme = require("enzyme"); - -var _reactIntl = require("react-intl"); - -var _Option = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Option")); - -var _index = _interopRequireDefault(require("../index")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/* eslint-disable function-paren-newline */ -describe('', function () { - it('should contain default text', function () { - var defaultEnMessage = 'someContent'; - var defaultDeMessage = 'someOtherContent'; - var messages = (0, _reactIntl.defineMessages)({ - en: { - id: 'boilerplate.containers.LocaleToggle.en', - defaultMessage: defaultEnMessage - }, - de: { - id: 'boilerplate.containers.LocaleToggle.en', - defaultMessage: defaultDeMessage - } - }); - var renderedComponent = (0, _enzyme.shallow)(_react.default.createElement(_reactIntl.IntlProvider, { - locale: "en" - }, _react.default.createElement(_index.default, { - values: ['en', 'de'], - messages: messages - }))); - expect(renderedComponent.contains(_react.default.createElement(_index.default, { - values: ['en', 'de'], - messages: messages - }))).toBe(true); - expect(renderedComponent.find('option').length).toBe(0); - }); - it('should not have ToggleOptions if props.values is not defined', function () { - var renderedComponent = (0, _enzyme.shallow)(_react.default.createElement(_index.default, null)); - expect(renderedComponent.contains(_react.default.createElement(_Option.default, null, "--"))).toBe(true); - expect(renderedComponent.find('Option').length).toBe(1); - }); - it('should have ToggleOptions if props.values is defined', function () { - var renderedComponent = (0, _enzyme.shallow)(_react.default.createElement(_index.default, { - value: "a", - values: ['a', 'b'] - })); - expect(renderedComponent.find('InjectIntl(ToggleOption)').length).toBe(2); - }); -}); \ No newline at end of file diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index b88c53b..0000000 --- a/lib/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "default", { - enumerable: true, - get: function get() { - return _Toggle.default; - } -}); -Object.defineProperty(exports, "ToggleOption", { - enumerable: true, - get: function get() { - return _ToggleOption.default; - } -}); - -var _Toggle = _interopRequireDefault(require("./components/Toggle")); - -var _ToggleOption = _interopRequireDefault(require("./components/Toggle/ToggleOption")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/lib/tests/index.test.js b/lib/tests/index.test.js deleted file mode 100644 index 9fa42cb..0000000 --- a/lib/tests/index.test.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -var exported = require('../index'); - -describe('should export', function () { - Object.keys(exported).forEach(function (key) { - it("".concat(key, " should be defined"), function () { - expect(exported[key]).toBeDefined(); - }); - }); -}); \ No newline at end of file diff --git a/package.json b/package.json index 50fef36..10e3825 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "jsnext:main": "dist/@bootstrap-styled/toggle.es.js", "module": "dist/@bootstrap-styled/toggle.es.js", "homepage": "https://bootstrap-styled.github.io/toggle", + "engines": { + "node": ">=8" + }, "browserslist": [ "IE >= 9", "last 2 versions" @@ -22,7 +25,7 @@ "build:dist:watch": "rollup -c --watch", "build:lib:watch": "npm run build:lib -- --watch", "test": "npm run lint && npm run test:web", - "test:web": "NODE_ENV=test TEST_REPORT_PATH=reports jest --coverage", + "test:web": "NODE_ENV=test jest --coverage", "test:clean": "rimraf ./coverage", "test:watch": "npm run test -- --watch", "lint": "eslint src", @@ -40,12 +43,6 @@ "bugs": { "url": "https://github.com/bootstrap-styled/toggle/issues" }, - "files": [ - "LICENSE.md", - "dist", - "lib", - "bin" - ], "keywords": [ "bootstrap", "bootstrap-styled", @@ -135,76 +132,77 @@ ] }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-external-helpers": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-decorators": "^7.0.0", - "@babel/plugin-proposal-json-strings": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-import-meta": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-react-constant-elements": "^7.0.0", - "@babel/plugin-transform-react-inline-elements": "^7.0.0", - "@babel/preset-env": "^7.0.0", + "@babel/cli": "^7.2.0", + "@babel/core": "^7.2.2", + "@babel/plugin-external-helpers": "^7.2.0", + "@babel/plugin-proposal-class-properties": "^7.2.1", + "@babel/plugin-proposal-decorators": "^7.2.2", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-import-meta": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-react-constant-elements": "^7.2.0", + "@babel/plugin-transform-react-inline-elements": "^7.2.0", + "@babel/preset-env": "^7.2.0", "@babel/preset-react": "^7.0.0", + "@bootstrap-styled/documentation": "^1.2.0", + "@rollup-umd/documentation": "^1.3.0", "@semantic-release/changelog": "^3.0.1", - "@semantic-release/exec": "^3.3.0", + "@semantic-release/exec": "^3.3.1", "@semantic-release/git": "^7.0.5", - "@semantic-release/github": "^5.2.1", - "@semantic-release/npm": "^5.1.1", - "@yeutech-lab/rollup-umd-documentation": "^2.4.5", + "@semantic-release/github": "^5.2.6", + "@semantic-release/npm": "^5.1.2", "babel-core": "^7.0.0-bridge.0", - "babel-eslint": "^9.0.0", - "babel-jest": "^23.4.2", - "babel-loader": "^8.0.0", - "babel-plugin-add-module-exports": "^0.2.1", - "babel-plugin-dynamic-import-node": "^1.1.0", - "babel-plugin-react-intl": "^2.4.0", + "babel-eslint": "^10.0.1", + "babel-jest": "^23.6.0", + "babel-loader": "^8.0.4", + "babel-plugin-add-module-exports": "^1.0.0", + "babel-plugin-dynamic-import-node": "^2.2.0", + "babel-plugin-react-intl": "^3.0.1", "babel-plugin-react-transform": "^3.0.0", - "babel-plugin-styled-components": "^1.5.1", - "babel-plugin-transform-react-remove-prop-types": "^0.4.13", + "babel-plugin-styled-components": "^1.9.4", + "babel-plugin-transform-react-remove-prop-types": "^0.4.21", "cz-conventional-changelog": "^2.1.0", - "enzyme": "^3.3.0", - "enzyme-adapter-react-16": "^1.1.1", - "eslint": "^4.18.2", - "eslint-config-airbnb": "^16.1.0", - "eslint-plugin-import": "^2.9.0", - "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-react": "^7.7.0", + "enzyme": "^3.8.0", + "enzyme-adapter-react-16": "^1.7.1", + "eslint": "^5.10.0", + "eslint-config-airbnb": "^17.1.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-jsx-a11y": "^6.1.2", + "eslint-plugin-react": "^7.11.1", "exports-loader": "^0.7.0", - "gulp": "^3.9.1", - "istanbul-api": "1.2.2", - "istanbul-reports": "1.1.4", - "jest-cli": "^22.4.2", - "jest-sonar-reporter": "^1.3.0", - "lint-staged": "^4.1.3", + "gulp": "^4.0.0", + "istanbul-api": "^2.0.6", + "istanbul-reports": "^2.0.1", + "jest-cli": "^23.6.0", + "jest-sonar-reporter": "^2.0.0", + "lint-staged": "^8.1.0", "pre-commit": "^1.2.2", - "raf": "^3.4.0", - "react": "^16.3.2", + "raf": "^3.4.1", + "react": "^16.6.3", "react-intl": "^2.7.2", - "react-redux": "^5.1.1", - "react-styleguidist": "^8.0.4", - "react-test-renderer": "^16.3.2", + "react-redux": "^6.0.0", + "react-styleguidist": "^8.0.6", + "react-test-renderer": "^16.6.3", "redux": "^4.0.1", - "rollup": "^0.57.1", - "rollup-plugin-babel": "^4.0.1", - "rollup-plugin-cleanup": "^2.0.0", - "rollup-plugin-commonjs": "^9.1.0", - "rollup-plugin-inject": "^2.0.0", - "rollup-plugin-json": "^2.3.0", + "rollup": "^0.68.0", + "rollup-plugin-babel": "^4.1.0", + "rollup-plugin-cleanup": "^3.0.0", + "rollup-plugin-commonjs": "^9.2.0", + "rollup-plugin-inject": "^2.2.0", + "rollup-plugin-json": "^3.1.0", "rollup-plugin-node-builtins": "^2.1.2", - "rollup-plugin-node-resolve": "^3.3.0", - "rollup-plugin-replace": "^2.0.0", - "rollup-plugin-uglify": "^3.0.0", - "rollup-plugin-visualizer": "^0.5.0", + "rollup-plugin-node-resolve": "^4.0.0", + "rollup-plugin-replace": "^2.1.0", + "rollup-plugin-terser": "^3.0.0", + "rollup-plugin-visualizer": "^0.9.2", "rollup-watch": "^4.3.1", - "semantic-release": "^15.12.1", - "sinon": "^2.3.2", - "styled-components": "^4.1.1", + "semantic-release": "^15.13.0", + "sinon": "^7.2.2", + "styled-components": "^4.1.2", "toctoc": "^0.3.2", - "webpack": "^4.16.1" + "webpack": "^4.27.1" }, "lint-staged": { "*.js": [ @@ -219,14 +217,14 @@ "extract-intl:doc" ], "dependencies": { - "@bootstrap-styled/v4": "^1.2.6", - "prop-types": "^15.6.1" + "@bootstrap-styled/v4": "^1.3.0", + "prop-types": "^15.6.2" }, "peerDependencies": { - "react": "^16.3.2", - "styled-components": "^4.1.1", + "react": "^16.6.3", + "styled-components": "^4.1.2", "redux": "^4.0.1", - "react-redux": "^5.1.1" + "react-redux": "^6.0.0" }, "jest": { "testURL": "http://localhost", @@ -260,6 +258,11 @@ ], "setupTestFrameworkScriptFile": "/internals/testing/test-bundler.js" }, + "jestSonar": { + "reportPath": "reports", + "reportFile": "test-report.xml", + "indent": 2 + }, "translation": { "locale": "en", "locales": [ diff --git a/rollup.config.js b/rollup.config.js index c9bf0ac..224b0a5 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -5,7 +5,7 @@ import commonjs from 'rollup-plugin-commonjs'; import inject from 'rollup-plugin-inject'; import babel from 'rollup-plugin-babel'; import json from 'rollup-plugin-json'; -import uglify from 'rollup-plugin-uglify'; +import { terser } from 'rollup-plugin-terser'; import cleanup from 'rollup-plugin-cleanup'; import visualizer from 'rollup-plugin-visualizer'; import builtins from 'rollup-plugin-node-builtins'; @@ -66,11 +66,9 @@ const plugins = [ cleanup(), ]; -if (prod) plugins.push(uglify(), visualizer({ filename: './bundle-stats.html' })); - -export default { +export default output.map((o) => ({ input: 'src/index.js', external, - output, - plugins, -}; + output: o, + plugins: prod ? plugins.concat([terser(), visualizer({ filename: './bundle-stats.html' })]) : plugins, +})); diff --git a/styleguide.config.js b/styleguide.config.js index 81cece4..10381ba 100644 --- a/styleguide.config.js +++ b/styleguide.config.js @@ -1,3 +1,3 @@ -const { config } = require('@yeutech-lab/rollup-umd-documentation/lib/styleguide.config.js'); +const { createConfig } = require('@rollup-umd/documentation'); -module.exports = config; +module.exports = createConfig();