Skip to content

Commit d14b7fa

Browse files
committed
chore(pkg): Upgrade to webpack 2
1 parent 5691b45 commit d14b7fa

8 files changed

+1173
-719
lines changed

Diff for: build.sh

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
#!/bin/bash
1+
#!/bin/bash -ex
22
rm -rf ./build
3+
4+
# Simple babel run
35
./node_modules/.bin/babel --out-dir ./build ./lib
4-
# More cross-platform compatible than `rename`
5-
find ./build -type f -name '*.jsx' -exec sh -c 'mv -f $0 ${0%.jsx}.js' {} \;
6+
7+
# Gen flow configs
8+
# When https://github.com/facebook/flow/issues/2830 et al are fixed we can use this, but not until then
9+
# find ./lib -type f -name '*.js' -exec sh -c "$BIN/flow gen-flow-files \$0 --out-dir build" {} \;
10+
11+
# Copy original source as js.flow; flow will pick them up
12+
find ./lib -type f -name '*.js' -exec sh -c 'cp $0 build/$(basename $0).flow' {} \;

Diff for: lib/Resizable.jsx renamed to lib/Resizable.js

+17-15
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,6 @@ import PropTypes from 'prop-types';
44
import {DraggableCore} from 'react-draggable';
55
import cloneElement from './cloneElement';
66

7-
export type Props = {
8-
children: React.Element<any>,
9-
width: number,
10-
height: number,
11-
handleSize: [number, number],
12-
lockAspectRatio: boolean,
13-
axis: Axis,
14-
minConstraints: [number, number],
15-
maxConstraints: [number, number],
16-
onResizeStop?: ?(e: SyntheticEvent, data: ResizeCallbackData) => any,
17-
onResizeStart?: ?(e: SyntheticEvent, data: ResizeCallbackData) => any,
18-
onResize?: ?(e: SyntheticEvent, data: ResizeCallbackData) => any,
19-
draggableOpts?: ?Object
20-
};
217
type Axis = 'both' | 'x' | 'y' | 'none';
228
type Position = {
239

@@ -37,8 +23,22 @@ type ResizeCallbackData = {
3723
node: HTMLElement,
3824
size: {width: number, height: number}
3925
};
26+
export type Props = {
27+
children: React.Element<any>,
28+
width: number,
29+
height: number,
30+
handleSize: [number, number],
31+
lockAspectRatio: boolean,
32+
axis: Axis,
33+
minConstraints: [number, number],
34+
maxConstraints: [number, number],
35+
onResizeStop?: ?(e: SyntheticEvent, data: ResizeCallbackData) => any,
36+
onResizeStart?: ?(e: SyntheticEvent, data: ResizeCallbackData) => any,
37+
onResize?: ?(e: SyntheticEvent, data: ResizeCallbackData) => any,
38+
draggableOpts?: ?Object
39+
};
4040

41-
export default class Resizable extends React.Component {
41+
class Resizable extends React.Component {
4242

4343
static propTypes = {
4444
//
@@ -233,3 +233,5 @@ export default class Resizable extends React.Component {
233233
});
234234
}
235235
}
236+
237+
export default Resizable;
File renamed without changes.

Diff for: package.json

+10-10
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"test": "echo \"Error: no test specified\" && exit 1",
99
"build": "bash build.sh",
1010
"build-example": "webpack",
11-
"dev": "echo 'Open http://localhost:4003/examples/1.html' && cross-env NODE_ENV=test webpack-dev-server --config webpack-dev-server.config.js --hot --progress --colors --port 4003 --content-base .",
11+
"dev": "echo 'Open http://localhost:4003/examples/1.html' && cross-env NODE_ENV=test webpack-dev-server --config webpack-dev-server.config.js --progress --hot --inline",
1212
"prepublish": "npm run build",
1313
"validate": "yarn list",
1414
"preversion": "npm run lint",
@@ -33,8 +33,8 @@
3333
"devDependencies": {
3434
"babel-cli": "^6.24.1",
3535
"babel-core": "^6.24.1",
36-
"babel-eslint": "^7.2.1",
37-
"babel-loader": "^6.4.1",
36+
"babel-eslint": "^7.2.3",
37+
"babel-loader": "^7.0.0",
3838
"babel-plugin-transform-flow-comments": "^6.7.0",
3939
"babel-preset-es2015": "^6.24.1",
4040
"babel-preset-react": "^6.24.1",
@@ -43,18 +43,18 @@
4343
"css-loader": "^0.28.0",
4444
"eslint": "^3.19.0",
4545
"eslint-plugin-react": "^6.10.3",
46-
"flow-bin": "^0.43.1",
46+
"flow-bin": "^0.45.0",
4747
"lodash": "^4.3.0",
4848
"pre-commit": "^1.1.2",
4949
"prop-types": "^15.5.8",
50-
"react": "^15.0.0",
51-
"react-dom": "^15.0.0",
52-
"style-loader": "^0.16.1",
53-
"webpack": "^1.12.13",
54-
"webpack-dev-server": "^1.14.1"
50+
"react": "^15.5.4",
51+
"react-dom": "^15.5.4",
52+
"style-loader": "^0.17.0",
53+
"webpack": "^2.4.1",
54+
"webpack-dev-server": "^2.4.5"
5555
},
5656
"dependencies": {
57-
"react-draggable": "^2.1.0"
57+
"react-draggable": "^2.2.6"
5858
},
5959
"peerDependencies": {
6060
"react": "^0.14.0 || ^15.0.0",

Diff for: test/TestLayout.jsx renamed to test/TestLayout.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22
import Resizable from '../lib/Resizable';
33
import ResizableBox from '../lib/ResizableBox';
4-
import 'style!css!../css/styles.css';
4+
import 'style-loader!css-loader!../css/styles.css';
55

66
export default class TestLayout extends React.Component {
77
state = {width: 200, height: 200};

Diff for: webpack-dev-server.config.js

+31-21
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,33 @@
1+
const webpack = require('webpack');
2+
const path = require('path');
3+
14
module.exports = {
2-
context: __dirname,
3-
entry: [
4-
"webpack-dev-server/client?http://localhost:4002",
5-
"webpack/hot/dev-server",
6-
"./test/test.js",
7-
],
8-
output: {
9-
path: __dirname + "/dist",
10-
filename: "bundle.js",
11-
sourceMapFilename: "[file].map",
12-
},
13-
module: {
14-
loaders: [
15-
{test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader?cacheDirectory=true'}
16-
]
17-
},
18-
debug: true,
19-
devtool: "eval",
20-
resolve: {
21-
extensions: ["", ".webpack.js", ".web.js", ".js", ".jsx"]
22-
}
5+
context: __dirname,
6+
entry: {
7+
test: "./test/test.js",
8+
},
9+
output: {
10+
path: path.join(__dirname, "dist"),
11+
filename: "bundle.js",
12+
sourceMapFilename: "[file].map",
13+
},
14+
module: {
15+
rules: [
16+
{test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader?cacheDirectory=true'},
17+
]
18+
},
19+
plugins: [
20+
new webpack.LoaderOptionsPlugin({
21+
debug: true
22+
})
23+
],
24+
devtool: "eval",
25+
resolve: {
26+
extensions: [".js"]
27+
},
28+
devServer: {
29+
contentBase: __dirname,
30+
compress: true,
31+
port: 4003,
32+
}
2333
};

Diff for: webpack.config.js

+33-30
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,37 @@
1+
const webpack = require('webpack');
2+
const path = require('path');
3+
14
module.exports = {
2-
context: __dirname,
3-
entry: [
4-
"./test/test.js",
5-
],
6-
output: {
7-
path: __dirname + "/dist",
8-
filename: "bundle.js",
9-
sourceMapFilename: "[file].map",
5+
context: __dirname,
6+
entry: {
7+
test: "./test/test.js",
8+
},
9+
output: {
10+
path: path.join(__dirname, "dist"),
11+
filename: "bundle.js",
12+
sourceMapFilename: "[file].map",
13+
},
14+
externals: {
15+
'react': {
16+
'commonjs': 'react',
17+
'commonjs2': 'react',
18+
'amd': 'react',
19+
// React dep should be available as window.React, not window.react
20+
'root': 'React'
1021
},
11-
externals: {
12-
'react': {
13-
'commonjs': 'react',
14-
'commonjs2': 'react',
15-
'amd': 'react',
16-
// React dep should be available as window.React, not window.react
17-
'root': 'React'
18-
},
19-
'react-dom': {
20-
'commonjs': 'react-dom',
21-
'commonjs2': 'react-dom',
22-
'amd': 'react-dom',
23-
'root': 'ReactDOM'
24-
}
22+
'react-dom': {
23+
'commonjs': 'react-dom',
24+
'commonjs2': 'react-dom',
25+
'amd': 'react-dom',
26+
'root': 'ReactDOM'
2527
},
26-
module: {
27-
loaders: [
28-
{test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader?cacheDirectory=true'},
29-
]
30-
},
31-
resolve: {
32-
extensions: ["", ".webpack.js", ".web.js", ".js", ".jsx"]
33-
}
28+
},
29+
module: {
30+
loaders: [
31+
{test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader?cacheDirectory=true'},
32+
]
33+
},
34+
resolve: {
35+
extensions: [".js"]
36+
},
3437
};

0 commit comments

Comments
 (0)