Skip to content

Commit

Permalink
Merge pull request #5 from flightjs/npmify
Browse files Browse the repository at this point in the history
feat: convert to an npm module
  • Loading branch information
ahume committed Nov 4, 2015
2 parents b42ec55 + 6914e57 commit e1bb008
Show file tree
Hide file tree
Showing 19 changed files with 534 additions and 334 deletions.
3 changes: 0 additions & 3 deletions .bowerrc

This file was deleted.

18 changes: 18 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"parser": "babel-eslint",
"extends": [
"standard"
],
"env": {
"jasmine": true
},
"rules": {
// overrides of the standard style
"curly": [2, "all"],
"indent": [2, 4],
"max-len": [2, 100, 4],
"semi": [2, "always"],
"space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
"wrap-iife": [2, "outside"]
}
}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
bower_components
node_modules
dist/
36 changes: 0 additions & 36 deletions .jshintrc

This file was deleted.

13 changes: 12 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
sudo: false
language: node_js
cache:
directories:
- node_modules
notifications:
email: false
node_js:
- "0.10"
- stable
before_install:
- npm i -g npm@^2.0.0
before_script:
- npm prune
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
after_success:
- npm run semantic-release
24 changes: 0 additions & 24 deletions Gruntfile.js

This file was deleted.

20 changes: 4 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ A [Flight](https://github.com/flightjs/flight) mixin for storing and reacting to
## Installation

```bash
bower install --save flight-with-state
npm install --save flight-with-state
```

## Example
Expand Down Expand Up @@ -156,25 +156,13 @@ this.initialState({

## Development

Development of this component requires [Bower](http://bower.io) to be globally
installed:
To develop this module, clone the repository and run:

```bash
npm install -g bower
```

Then install the Node.js and client-side dependencies by running the following
commands in the repo's root directory.

```bash
npm install & bower install
$ npm install && npm test
```

To continuously run the tests in Chrome during development, just run:

```bash
npm run watch-test
```
If the tests pass, you have a working environment. You shouldn't need any external dependencies.

## Contributing to this project

Expand Down
21 changes: 0 additions & 21 deletions bower.json

This file was deleted.

9 changes: 9 additions & 0 deletions config/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
var path = require('path');

var ROOT_DIRECTORY = path.resolve(__dirname, '..');
var BUILD_DIRECTORY = path.resolve(ROOT_DIRECTORY, 'dist');

module.exports = {
ROOT_DIRECTORY: ROOT_DIRECTORY,
BUILD_DIRECTORY: BUILD_DIRECTORY
};
47 changes: 47 additions & 0 deletions config/karma.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
'use strict';

var constants = require('./constants');
var webpackConfig = require('./webpack.config.test');
// entry is determined by karma config 'files' array
webpackConfig.entry = {};

module.exports = function (config) {
config.set({
basePath: constants.ROOT_DIRECTORY,
browsers: [ process.env.TRAVIS ? 'Firefox' : 'Chrome' ],
browserNoActivityTimeout: 60000,
client: {
captureConsole: true,
useIframe: true
},
files: [
'node_modules/jquery/dist/jquery.min.js',
'src/specs.context.js'
],
frameworks: [
'jasmine'
],
plugins: [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine',
'karma-sourcemap-loader',
'karma-webpack'
],
preprocessors: {
'src/specs.context.js': [ 'webpack', 'sourcemap' ]
},
reporters: [ 'dots' ],
singleRun: true,
webpack: webpackConfig,
webpackMiddleware: {
stats: {
assetsSort: 'name',
colors: true,
children: false,
chunks: false,
modules: false
}
}
});
};
46 changes: 46 additions & 0 deletions config/webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
var webpack = require('webpack');

var DedupePlugin = webpack.optimize.DedupePlugin;
var OccurenceOrderPlugin = webpack.optimize.OccurenceOrderPlugin;
var UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;

var plugins = [
new DedupePlugin(),
new OccurenceOrderPlugin()
];

if (process.env.NODE_ENV === 'production') {
plugins.push(
new UglifyJsPlugin({
compress: {
dead_code: true,
drop_console: true,
screw_ie8: true,
warnings: true
}
})
);
}

module.exports = {
entry: './src',
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
resolve: {
alias: {
flight: 'flightjs'
}
},
output: {
path: './dist',
filename: 'flight-with-state.js'
},
plugins: plugins
};
11 changes: 11 additions & 0 deletions config/webpack.config.publish.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
var constants = require('./constants');
var baseConfig = require('./webpack.config');

module.exports = Object.assign(baseConfig, {
output: {
library: 'flight-with-state',
filename: 'flight-with-state.js',
libraryTarget: 'umd',
path: constants.BUILD_DIRECTORY
}
});
5 changes: 5 additions & 0 deletions config/webpack.config.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
var baseConfig = require('./webpack.config');

module.exports = Object.assign(baseConfig, {
devtool: 'inline-source-map'
});
57 changes: 0 additions & 57 deletions karma.conf.js

This file was deleted.

Loading

0 comments on commit e1bb008

Please sign in to comment.