breakfast 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1921d73960db6220372261094df549425a17f87
4
- data.tar.gz: e98eb67524ab7eef41caf5651b394191cc356e79
3
+ metadata.gz: 561ba17e882e6d9069d94220c56c069e9fb475eb
4
+ data.tar.gz: 58ef9663f51d39ec0160d5249ce988fd5f695776
5
5
  SHA512:
6
- metadata.gz: a4f46f6998d520f4cfa0dedb651e98900dc24a6e0975c58c5f2375d04a2d86068769366a809d42c0d1a6ef4ad088b01eb1b74bbf65b5c1f446ec368721dc3510
7
- data.tar.gz: 49da1174fb90a1f7303a1fee22156874b99f3ee6eeba8b92e4aa23bc72e47c449fb3ac8235dfe915be2c67b6a87636a2eddbeeedf534b888f4cce18b1b2b9418
6
+ metadata.gz: 3694cee7b22999c5db5314bf1bbe32f04aa0344fea234a77826250826f7eceefcb99b4d1c000bcc4604beef8a3f6ccf5e5a7f5b950d7806bb4e2b046304fd771
7
+ data.tar.gz: 5a4f4fc04912a9f33bd6bbfaf358ff52a354203b731ba9096646e1c2b44c8395ccc70099e61831a7372bcd01e7e443e0a077c6735acb28fb3fa9ca832105d082
@@ -1,3 +1,3 @@
1
1
  module Breakfast
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -49,14 +49,13 @@ module Breakfast
49
49
  end
50
50
 
51
51
  def create_directory_structure
52
- empty_directory "assets/css"
53
- empty_directory "assets/images"
54
- empty_directory "assets/js"
55
- empty_directory "assets/vendor"
52
+ empty_directory "app/frontend/css"
53
+ empty_directory "app/frontend/images"
54
+ empty_directory "app/frontend/js"
56
55
  end
57
56
 
58
57
  def create_initialize_file
59
- copy_file "initialize.js", "assets/js/initialize.js"
58
+ copy_file "app.js", "app/frontend/js/app.js"
60
59
  end
61
60
 
62
61
  def run_npm_install
@@ -2,8 +2,8 @@ module.exports = {
2
2
  files: {
3
3
  javascripts: {
4
4
  joinTo: {
5
- 'app.js': /^assets\/js\//,
6
- 'vendor.js': /^(?!assets\/js)/
5
+ 'app.js': /^app\/frontend\/js\//,
6
+ 'vendor.js': /^(?!app\/frontend\/js)/
7
7
  }
8
8
  },
9
9
  stylesheets: {
@@ -19,14 +19,14 @@ module.exports = {
19
19
 
20
20
  paths: {
21
21
  watched: [
22
- "assets/",
22
+ "app/frontend",
23
23
  ],
24
24
 
25
25
  public: "public/assets"
26
26
  },
27
27
 
28
28
  conventions: {
29
- assets: /^(assets\/images)/
29
+ assets: /^(app\/frontend\/images)/
30
30
  },
31
31
 
32
32
  npm: {
@@ -1,7 +1,9 @@
1
- const Turbolinks = require("turbolinks")
2
- Turbolinks.start()
1
+ const Turbolinks = require("turbolinks");
2
+ Turbolinks.start();
3
3
 
4
- const App = {
4
+ let App = {
5
+ init() {
6
+ }
5
7
  }
6
8
 
7
9
  module.exports = App;
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "repository": {},
3
3
  "dependencies": {
4
- "breakfast-rails": "0.0.5",
5
4
  "actioncable": "^5.0.0",
5
+ "breakfast-rails": "0.0.7",
6
6
  "turbolinks": "^5.0.0"
7
7
  },
8
8
  "devDependencies": {
@@ -0,0 +1,84 @@
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "node": true,
5
+ "es6": true
6
+ },
7
+ "rules": {
8
+ "block-spacing": [2, "always"],
9
+ "brace-style": [2, "1tbs", {"allowSingleLine": true}],
10
+ "comma-style": [2, "last"],
11
+ "func-style": [2, "expression"],
12
+ "semi": [2, "always"],
13
+ "quotes": [2, "single", "avoid-escape"],
14
+ "indent": [2, 2, {"SwitchCase": 1}],
15
+ "dot-location": [2, "property"],
16
+ "camelcase": [1, {"properties": "always"}],
17
+ "comma-spacing": [2, {"before": false, "after": true}],
18
+ "comma-dangle": [2, "never"],
19
+ "semi-spacing": [2, {"before": false, "after": true}],
20
+ "curly": [2, "multi-line", "consistent"],
21
+ "no-debugger": 2,
22
+ "no-dupe-args": 2,
23
+ "no-dupe-keys": 2,
24
+ "no-duplicate-case": 2,
25
+ "no-empty": 2,
26
+ "no-ex-assign": 2,
27
+ "no-extra-semi": 2,
28
+ "no-func-assign": 2,
29
+ "no-irregular-whitespace": 2,
30
+ "no-sparse-arrays": 2,
31
+ "no-unexpected-multiline": 2,
32
+ "no-unreachable": 2,
33
+ "no-unused-vars": [2, {"varsIgnorePattern": "ignored"}],
34
+ "valid-typeof": 2,
35
+ "eqeqeq": [2, "allow-null"],
36
+ "no-array-constructor": 2,
37
+ "no-caller": 2,
38
+ "no-eval": 2,
39
+ "no-extend-native": 2,
40
+ "no-extra-bind": 2,
41
+ "no-fallthrough": 2,
42
+ "no-labels": 2,
43
+ "no-iterator": 2,
44
+ "no-magic-numbers": [1, {"ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8]}],
45
+ "no-multi-spaces": 2,
46
+ "no-native-reassign": 2,
47
+ "no-new-func": 2,
48
+ "no-new-wrappers": 2,
49
+ "no-new": 2,
50
+ "no-octal-escape": 2,
51
+ "no-octal": 2,
52
+ "no-redeclare": 2,
53
+ "no-self-compare": 2,
54
+ "no-sequences": 2,
55
+ "no-unused-expressions": 2,
56
+ "no-useless-call": 2,
57
+ "no-warning-comments": [1, {"terms": ["todo", "fixme", "xxx"], "location": "start"}],
58
+ "no-with": 2,
59
+ "new-parens": 2,
60
+ "wrap-iife": [2, "inside"],
61
+ "no-catch-shadow": 2,
62
+ "no-delete-var": 2,
63
+ "no-shadow-restricted-names": 2,
64
+ "no-undef": 2,
65
+ "callback-return": 2,
66
+ "handle-callback-err": 2,
67
+ "no-path-concat": 2,
68
+ "array-bracket-spacing": 2,
69
+ "eol-last": 2,
70
+ "no-multiple-empty-lines": [2, {"max": 2}],
71
+ "no-spaced-func": 2,
72
+ "no-trailing-spaces": 2,
73
+ "no-unneeded-ternary": 2,
74
+ "keyword-spacing": 2,
75
+ "space-before-blocks": 2,
76
+ "space-before-function-paren": [2, "never"],
77
+ "space-in-parens": 2,
78
+ "space-unary-ops": [2, {"words": true, "nonwords": false}],
79
+ "arrow-spacing": [2, {"before": true, "after": true}],
80
+ "prefer-arrow-callback": 2,
81
+ "prefer-template": 0,
82
+ "prefer-const": 2
83
+ }
84
+ }
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "breakfast-rails",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Assets for the Breakfast Gem",
5
5
  "main": "./lib/breakfast-rails.js",
6
6
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1",
7
+ "test": "eslint index.js src",
8
8
  "prepublish": "node_modules/babel-cli/bin/babel.js src --out-dir lib"
9
9
  },
10
10
  "author": "Patrick Koperwas",
@@ -15,7 +15,8 @@
15
15
  "devDependencies": {
16
16
  "babel-cli": "^6.10.1",
17
17
  "babel-core": "^6.10.4",
18
- "babel-preset-es2015": "^6.9.0"
18
+ "babel-preset-es2015": "^6.9.0",
19
+ "eslint": "^2.4.0"
19
20
  },
20
21
  "babel": {
21
22
  "presets": ["es2015"]
@@ -1,10 +1,11 @@
1
- let LiveReloader = require("./live-reload");
1
+ const LiveReloader = require('./live-reload');
2
2
 
3
- let BreakfastRails = {
3
+ const BreakfastRails = {
4
4
  init(options = {}) {
5
- let liveReloader = new LiveReloader
6
- liveReloader.init(options)
5
+ const liveReloader = new LiveReloader();
6
+ liveReloader.init(options);
7
7
  }
8
- }
8
+ };
9
9
 
10
10
  module.exports = BreakfastRails;
11
+
@@ -2,60 +2,64 @@ const ActionCable = require('actioncable');
2
2
 
3
3
  class LiveReloader {
4
4
  buildFreshUrl(url) {
5
- let date = Math.round(Date.now() / 1000).toString();
5
+ const date = Math.round(Date.now() / 1000).toString();
6
6
  url = url.replace(/(\&|\\?)version=\d*/, '');
7
7
 
8
- return(`${url}${(url.indexOf('?') >= 0 ? '&' : '?')}version=${date}`);
8
+ return (`${url}${(url.indexOf('?') >= 0 ? '&' : '?')}version=${date}`);
9
9
  }
10
10
 
11
11
  cssReload(strategy) {
12
- switch(strategy) {
13
- case "hot":
14
- let reloadableLinkElements = window.top.document.querySelectorAll(
12
+ switch (strategy) {
13
+ case 'hot':
14
+ const reloadableLinkElements = window.top.document.querySelectorAll(
15
15
  'link[rel=stylesheet]:not([data-no-reload]):not([data-pending-removal])'
16
16
  );
17
17
 
18
18
  [].slice
19
19
  .call(reloadableLinkElements)
20
20
  .filter(link => link.href)
21
- .forEach(link => link.href = this.buildFreshUrl(link.href))
21
+ .forEach(link => link.href = this.buildFreshUrl(link.href));
22
22
 
23
23
  // Repaint
24
- setTimeout(() => { document.body.offsetHeight; }, 25);
24
+ const browser = navigator.userAgent.toLowerCase();
25
+
26
+ if (browser.indexOf('chrome') > -1) {
27
+ setTimeout(() => { document.body.offsetHeight; }, 25);
28
+ }
25
29
  break;
26
- case "page":
30
+ case 'page':
27
31
  window.top.location.reload();
28
32
  break;
29
- case "off":
33
+ case 'off':
30
34
  break;
31
35
  }
32
36
  }
33
37
 
34
38
  jsReload(strategy) {
35
- switch(strategy) {
36
- case "page":
39
+ switch (strategy) {
40
+ case 'page':
37
41
  window.top.location.reload();
38
42
  break;
39
- case "off":
43
+ case 'off':
40
44
  break;
41
45
  }
42
46
  }
43
47
 
44
48
  htmlReload(strategy) {
45
- switch(strategy) {
46
- case "turbolinks":
47
- let location = window.top.location
49
+ switch (strategy) {
50
+ case 'turbolinks':
51
+ const location = window.top.location;
48
52
 
49
- if(typeof Turbolinks != 'undefined') {
50
- Turbolinks.visit(location)
53
+ if (typeof Turbolinks !== 'undefined') {
54
+ Turbolinks.visit(location);
51
55
  } else {
52
56
  location.reload();
53
57
  }
54
58
  break;
55
- case "page":
59
+ case 'page':
56
60
  window.top.location.reload();
57
61
  break;
58
- case "off":
62
+ case 'off':
59
63
  break;
60
64
  }
61
65
  }
@@ -65,21 +69,21 @@ class LiveReloader {
65
69
  js: this.jsReload.bind(this),
66
70
  css: this.cssReload.bind(this),
67
71
  html: this.htmlReload.bind(this)
68
- }
72
+ };
69
73
 
70
74
  document.addEventListener('DOMContentLoaded', () => {
71
- let Breakfast = window.Breakfast || {};
72
- Breakfast.options = options
75
+ const Breakfast = window.Breakfast || {};
76
+ Breakfast.options = options;
73
77
 
74
- let reloadChannel = 'Breakfast::LiveReloadChannel'
78
+ const reloadChannel = 'Breakfast::LiveReloadChannel';
75
79
 
76
80
  Breakfast.cable = ActionCable.createConsumer(`ws://${options.host}:${options.port}/cable`);
77
81
  Breakfast.channel = Breakfast.cable.subscriptions.create(reloadChannel, {
78
82
  received: (data) => {
79
- let reloader = reloaders[data.extension];
83
+ const reloader = reloaders[data.extension];
80
84
  reloader(options.reloadStrategies[data.extension]);
81
85
  }
82
- })
86
+ });
83
87
  });
84
88
  }
85
89
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breakfast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Koperwas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-31 00:00:00.000000000 Z
11
+ date: 2016-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -123,6 +123,7 @@ files:
123
123
  - lib/generators/breakfast/templates/brunch-config.js
124
124
  - lib/generators/breakfast/templates/initialize.js
125
125
  - lib/generators/breakfast/templates/package.json
126
+ - node_package/.eslintrc.json
126
127
  - node_package/.npmignore
127
128
  - node_package/package.json
128
129
  - node_package/src/breakfast-rails.js