Skip to content

Instantly share code, notes, and snippets.

@c9s
Last active October 21, 2023 14:04
Show Gist options
  • Save c9s/8e2e621d6cfc4e7f8e778d9a592e7f1b to your computer and use it in GitHub Desktop.
Save c9s/8e2e621d6cfc4e7f8e778d9a592e7f1b to your computer and use it in GitHub Desktop.

Revisions

  1. c9s revised this gist May 24, 2016. 2 changed files with 18 additions and 0 deletions.
    11 changes: 11 additions & 0 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    npm install babel-core@6 --save-dev
    npm install babel-loader@6 --save-dev
    npm install babel-runtime@6 --save-dev
    npm install babel-preset-es2015@6 --save-dev
    npm install babel-preset-react@6 --save-dev
    npm install babel-plugin-transform-runtime@6 --save-dev
    npm install babel-plugin-transform-es2015-modules-commonjs@6 --save-dev
    npm install babel-plugin-transform-object-assign@6 --save-dev
    npm install babel-polyfill --save-dev
    sudo npm install typings -g
    typings install
    7 changes: 7 additions & 0 deletions typings
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    {
    "globalDependencies": {
    "d3": "registry:dt/d3#0.0.0+20160514171929",
    "jquery": "registry:dt/jquery#1.10.0+20160417213236",
    "mocha": "registry:dt/mocha#2.2.5+20160317120654"
    }
    }
  2. c9s revised this gist May 24, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion webpack.config.js
    Original file line number Diff line number Diff line change
    @@ -41,4 +41,4 @@ module.exports = {
    // this is only required when we "import 'jquery'"
    // 'alias': { 'jquery': path.join(__dirname, "vendor", "jquery-2.2.0.min.js") }
    }
    };
    };
  3. c9s revised this gist May 24, 2016. No changes.
  4. c9s created this gist May 24, 2016.
    4 changes: 4 additions & 0 deletions .babelrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    {
    "presets": ["es2015"],
    "plugins": ["transform-runtime"]
    }
    24 changes: 24 additions & 0 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    {
    "devDependencies": {
    "async": "^1.2.0",
    "babel-core": "^6.9.0",
    "babel-loader": "^6.2.4",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.8.0",
    "babel-plugin-transform-object-assign": "^6.8.0",
    "babel-plugin-transform-runtime": "^6.9.0",
    "babel-polyfill": "^6.9.0",
    "babel-preset-es2015": "^6.9.0",
    "babel-preset-es2015-native-modules": "^6.6.0",
    "babel-preset-react": "^6.5.0",
    "babel-preset-stage-0": "^6.5.0",
    "babel-runtime": "^6.9.0",
    "file-loader": "^0.8.1",
    "object-assign": "^4.0.1",
    "uglify-loader": "^1.3.0",
    "webpack": "^1.13.1",
    "webpack-closure-compiler": "^2.0.2",
    "webpack-dev-server": "^1.14.1",
    "webpack-stream": "^3.2.0",
    "ts-loader": "^0.8.2"
    }
    }
    11 changes: 11 additions & 0 deletions tsconfig.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    {
    "compilerOptions": {
    "target": "es6",
    "allowSyntheticDefaultImports": true,
    "sourceMap": true,
    "allowJs": true,
    "outDir": "build"
    },
    "exclude": ["node_modules"],
    "files": ["typings/index.d.ts", "entry.ts"]
    }
    44 changes: 44 additions & 0 deletions webpack.config.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    var path = require('path');
    var nodeModulesPath = path.resolve(__dirname, 'node_modules');
    var webpack = require('webpack');
    module.exports = {
    'entry': {
    // your entry file file (entry.ts or entry.js)
    'd3metric': ['./entry'],
    'd3metric.demo': ['./demo/demo.entry'],
    },
    'output': {
    'path': __dirname,
    'filename': '[name].js'
    },
    'module': {
    'loaders': [
    // ts-loader: convert typescript (es6) to javascript (es6),
    // babel-loader: converts javascript (es6) to javascript (es5)
    {
    'test': /\.tsx?$/,
    'loaders': ['babel-loader','ts-loader'],
    'exclude': [/node_modules/,nodeModulesPath]
    },
    // babel-loader for pure javascript (es6) => javascript (es5)
    {
    'test': /\.(jsx?)$/,
    'loaders': ['babel'],
    'exclude': [/node_modules/,nodeModulesPath]
    }
    ]
    },
    'externals': {
    // don't bundle the 'react' npm package with our bundle.js
    // but get it from a global 'React' variable
    'react': 'React'
    },
    'plugins': [],
    'resolve': {
    'root': [path.resolve('./src')],
    'extensions': ['', '.js', '.jsx', '.ts', '.tsx'],

    // this is only required when we "import 'jquery'"
    // 'alias': { 'jquery': path.join(__dirname, "vendor", "jquery-2.2.0.min.js") }
    }
    };