diff --git a/.babelrc b/.babelrc
new file mode 100644
index 0000000..83c6c8a
--- /dev/null
+++ b/.babelrc
@@ -0,0 +1,3 @@
+{
+ "presets": ["react", "es2015", "stage-0"]
+}
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 0000000..0f7c889
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,23 @@
+{
+ "extends": "airbnb",
+ "parser": "babel-eslint",
+ "env": {
+ "browser": true,
+ "jasmine": true,
+ "node": true
+ },
+ "plugins": [
+ "react"
+ ],
+ "rules": {
+ "comma-dangle": ["error", "never"],
+ "react/jsx-curly-spacing": 0,
+ "react/forbid-prop-types": 0,
+ "react/jsx-filename-extension": 0,
+ "import/prefer-default-export": 0,
+ "import/no-extraneous-dependencies": 0
+ },
+ "globals": {
+ "jest": false
+ }
+}
\ No newline at end of file
diff --git a/lerna.json b/lerna.json
new file mode 100644
index 0000000..b34dd47
--- /dev/null
+++ b/lerna.json
@@ -0,0 +1,7 @@
+{
+ "lerna": "2.0.0",
+ "packages": [
+ "packages/*"
+ ],
+ "version": "0.0.0"
+}
diff --git a/package.json b/package.json
index 3234f45..d09c6a3 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"description": "Rebuilt for react-bootstrap-table",
"main": "index.js",
"scripts": {
+ "start": "node -r babel-register ./node_modules/.bin/webpack-dev-server --config webpack.config.babel.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
@@ -15,5 +16,34 @@
"bugs": {
"url": "https://github.com/react-bootstrap-table/react-bootstrap-table2/issues"
},
- "homepage": "https://github.com/react-bootstrap-table/react-bootstrap-table2#readme"
+ "homepage": "https://github.com/react-bootstrap-table/react-bootstrap-table2#readme",
+ "devDependencies": {
+ "babel-core": "^6.25.0",
+ "babel-eslint": "^7.2.3",
+ "babel-loader": "^7.1.1",
+ "babel-preset-es2015": "^6.24.1",
+ "babel-preset-react": "^6.24.1",
+ "babel-preset-stage-0": "^6.24.1",
+ "babel-register": "^6.24.1",
+ "eslint": "^4.5.0",
+ "eslint-config-airbnb": "^14.1.0",
+ "eslint-loader": "^1.9.0",
+ "eslint-plugin-import": "^2.7.0",
+ "eslint-plugin-jsx-a11y": "^4.0.0",
+ "eslint-plugin-react": "^7.2.1",
+ "html-webpack-plugin": "^2.30.1",
+ "lerna": "^2.0.0",
+ "webpack": "^3.5.4",
+ "webpack-dev-server": "^2.7.1"
+ },
+ "dependencies": {
+ "prop-types": "^15.5.10",
+ "react": "^15.6.1",
+ "react-dom": "^15.6.1"
+ },
+ "peerDependencies": {
+ "react": "^15.0.0",
+ "react-dom": "^15.0.0",
+ "prop-types": "^15.0.0"
+ }
}
diff --git a/packages/react-bootstrap-table2-example/package.json b/packages/react-bootstrap-table2-example/package.json
new file mode 100644
index 0000000..c1c7a06
--- /dev/null
+++ b/packages/react-bootstrap-table2-example/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "react-bootstrap-table2-example",
+ "version": "0.0.1",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "react-bootstrap-table2": "0.0.1"
+ }
+}
diff --git a/packages/react-bootstrap-table2-example/src/index.html b/packages/react-bootstrap-table2-example/src/index.html
new file mode 100644
index 0000000..810cd7c
--- /dev/null
+++ b/packages/react-bootstrap-table2-example/src/index.html
@@ -0,0 +1,18 @@
+
+
+
+
+ react-bootstrap-table demo
+
+
+
+
+
+
+
+
+
diff --git a/packages/react-bootstrap-table2-example/src/index.js b/packages/react-bootstrap-table2-example/src/index.js
new file mode 100644
index 0000000..642fdb1
--- /dev/null
+++ b/packages/react-bootstrap-table2-example/src/index.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import ReactDom from 'react-dom';
+
+import { BootstrapTable } from 'react-bootstrap-table2';
+
+const data = [1, 2, 3, 4];
+
+ReactDom.render(
+ ,
+ document.getElementById('example'));
diff --git a/packages/react-bootstrap-table2/package.json b/packages/react-bootstrap-table2/package.json
new file mode 100644
index 0000000..f3e6f06
--- /dev/null
+++ b/packages/react-bootstrap-table2/package.json
@@ -0,0 +1,11 @@
+{
+ "name": "react-bootstrap-table2",
+ "version": "0.0.1",
+ "description": "Rebuilt for react-bootstrap-table",
+ "main": "src/index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC"
+}
diff --git a/packages/react-bootstrap-table2/src/bootstrap-table.js b/packages/react-bootstrap-table2/src/bootstrap-table.js
new file mode 100644
index 0000000..2bbdb08
--- /dev/null
+++ b/packages/react-bootstrap-table2/src/bootstrap-table.js
@@ -0,0 +1,26 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+
+import storeBase from './store/base';
+
+class BootstrapTable extends storeBase(Component) {
+ render() {
+ return (
+
+ {
+ this.props.data.map(d => - { d }
)
+ }
+
+ );
+ }
+}
+
+BootstrapTable.propTypes = {
+ data: PropTypes.array
+};
+
+BootstrapTable.defaultProps = {
+ data: []
+};
+
+export default BootstrapTable;
diff --git a/packages/react-bootstrap-table2/src/index.js b/packages/react-bootstrap-table2/src/index.js
new file mode 100644
index 0000000..a1dfa2d
--- /dev/null
+++ b/packages/react-bootstrap-table2/src/index.js
@@ -0,0 +1,5 @@
+import BootstrapTable from './bootstrap-table';
+
+export {
+ BootstrapTable
+};
diff --git a/packages/react-bootstrap-table2/src/store/base.js b/packages/react-bootstrap-table2/src/store/base.js
new file mode 100644
index 0000000..98842c5
--- /dev/null
+++ b/packages/react-bootstrap-table2/src/store/base.js
@@ -0,0 +1,8 @@
+export default ExtendBase =>
+ class Store extends ExtendBase {
+ constructor(props) {
+ super(props);
+ const { data } = this.props;
+ this.data = data ? data.slice() : [];
+ }
+ };
diff --git a/webpack.config.babel.js b/webpack.config.babel.js
new file mode 100644
index 0000000..b8888b9
--- /dev/null
+++ b/webpack.config.babel.js
@@ -0,0 +1,48 @@
+import * as path from 'path';
+import webpack from 'webpack';
+
+import HtmlWebpackPlugin from 'html-webpack-plugin';
+
+const sourcePath = path.join(__dirname, 'packages/react-bootstrap-table2/src');
+const examplePath = path.join(__dirname, 'packages/react-bootstrap-table2-example/src');
+const exampleHTMLPath = path.join(__dirname, 'packages/react-bootstrap-table2-example/src/index.html');
+
+module.exports = {
+ entry: examplePath,
+ devtool: '#eval-source-map',
+ devServer: {
+ historyApiFallback: true,
+ hot: true,
+ inline: true,
+ // progress: true,
+ noInfo: true,
+ stats: 'errors-only'
+ },
+ output: {
+ path: path.join(__dirname, 'examples'),
+ filename: '[name].bundle.js'
+ },
+ module: {
+ rules: [ {
+ enforce: 'pre',
+ test: /\.js?$/,
+ exclude: /node_modules/,
+ include: [ sourcePath, examplePath ],
+ loader: 'eslint-loader'
+ }, {
+ test: /\.js?$/,
+ use: [ 'babel-loader' ],
+ exclude: /node_modules/,
+ include: [ sourcePath, examplePath ],
+ }, {
+ test: /\.css$/,
+ use: 'style-loader!css-loader'
+ } ]
+ },
+ plugins: [
+ new HtmlWebpackPlugin({
+ template: exampleHTMLPath
+ }),
+ new webpack.HotModuleReplacementPlugin()
+ ]
+};
\ No newline at end of file