lanes 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/client/lanes/config.js +0 -108
- data/lanes.gemspec +1 -1
- data/lib/js/jest.config.json +0 -5
- data/lib/js/jest/mocks.js +1 -1
- data/lib/js/jest/setup.js +4 -12
- data/lib/js/webpack.config.js +9 -8
- data/lib/lanes.rb +1 -0
- data/lib/lanes/command/app.rb +12 -5
- data/lib/lanes/command/jest.rb +6 -4
- data/lib/lanes/command/server.rb +3 -15
- data/lib/lanes/extension.rb +7 -0
- data/lib/lanes/version.rb +1 -1
- data/lib/lanes/webpack.rb +31 -29
- data/package.json +33 -32
- data/{.babelrc → templates/.babelrc} +0 -0
- data/templates/Gemfile +1 -1
- data/templates/client/index.js +4 -17
- data/templates/config/webpack.config.js +105 -0
- data/templates/js/jest.config.json +13 -8
- data/templates/lib/namespace/extension.rb +1 -1
- data/templates/{specs → spec}/client/Screen.coffee +0 -0
- data/templates/{specs → spec}/client/components/ComponentSpec.coffee +0 -0
- data/templates/{specs → spec}/client/models/ModelSpec.coffee +0 -0
- data/templates/{specs → spec}/client/setup.js +0 -0
- data/templates/{specs → spec}/fixtures/namespace/model.yml +0 -0
- data/templates/{specs → spec}/server/model_spec.rb +0 -0
- data/templates/{specs → spec}/server/spec_helper.rb +0 -0
- data/yarn.lock +1 -5
- metadata +14 -16
- data/lib/js/webpack-status-plugin.js +0 -78
- data/lib/lanes/command/jest_runner.rb +0 -63
- data/lib/lanes/jest.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e996b32bc8dc10aa628ae2eaf9683e14f070ae9
|
4
|
+
data.tar.gz: 7b1e8f708c347328a33e5962068db0df86669ad6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 841d9120509bc907ea6e434068b82346e37efdf9ed85baefa2e3f1293c3e947af65ed3c53ae4060f47e89caddcff2e02c72e9c4f785ce869b86a2651dd31fb49
|
7
|
+
data.tar.gz: 9828cea8c1618a6635b090a19c93260b6ffe1939484325b2e4f26d41040cd786319a9d3893bb692e867a198cd6c0a31f6f461ecdff714ee0948df79c2e31f52d
|
data/client/lanes/config.js
CHANGED
@@ -35,111 +35,3 @@ class Config {
|
|
35
35
|
|
36
36
|
const ConfigInstance = new Config();
|
37
37
|
export default ConfigInstance;
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
// static initClass() {
|
42
|
-
|
43
|
-
// this.prototype.mixins = [ Lanes.Models.Mixins.FileSupport ];
|
44
|
-
|
45
|
-
// this.prototype.props = {
|
46
|
-
// id: {type:"integer"},
|
47
|
-
// settings: "object"
|
48
|
-
// };
|
49
|
-
|
50
|
-
// this.prototype.associations = {
|
51
|
-
// logo: { model: "Lanes.Models.Asset" },
|
52
|
-
// smtp: { model: "Lanes.Models.SmtpSettings" },
|
53
|
-
// print_logo: { model: "Lanes.Models.Asset" }
|
54
|
-
// };
|
55
|
-
// }
|
56
|
-
|
57
|
-
// modelTypeIdentifier() { return 'system-settings'; }
|
58
|
-
// url() { return Lanes.config.api_path + '/system-settings'; }
|
59
|
-
// initialize() {
|
60
|
-
// this.on('change:settings', this.setDefaultSettings);
|
61
|
-
// this.smtp.set(__guard__(__guard__(this.settings, x1 => x1.lanes), x => x.smtp));
|
62
|
-
// return this.setDefaultSettings();
|
63
|
-
// }
|
64
|
-
|
65
|
-
// setDefaultSettings() {
|
66
|
-
// if (!this.settings) { this.settings = {}; }
|
67
|
-
// return this.settings.lanes || (this.settings.lanes = {});
|
68
|
-
// }
|
69
|
-
|
70
|
-
// forExtension(ext) {
|
71
|
-
// return this.settings[ext] || (this.settings[ext] = {});
|
72
|
-
// }
|
73
|
-
|
74
|
-
// setValueForExtension(ext, key, value) {
|
75
|
-
// return this.forExtension(ext)[key] = value;
|
76
|
-
// }
|
77
|
-
|
78
|
-
// set(data) {
|
79
|
-
// let ret = super.set(...arguments);
|
80
|
-
// this.smtp.set(__guard__(__guard__(this.settings, x1 => x1.lanes), x => x.smtp));
|
81
|
-
// return ret;
|
82
|
-
// }
|
83
|
-
|
84
|
-
// dataForSave() {
|
85
|
-
// let data = super.dataForSave(...arguments);
|
86
|
-
// data.settings.lanes.smtp = this.smtp.serialize();
|
87
|
-
// return data;
|
88
|
-
// }
|
89
|
-
|
90
|
-
|
91
|
-
// SystemSettings.initClass();
|
92
|
-
|
93
|
-
// class Config extends Lanes.Models.State {
|
94
|
-
// static initClass() {
|
95
|
-
|
96
|
-
// this.prototype.session = {
|
97
|
-
// csrf_token: { type: 'string', setOnce: true },
|
98
|
-
// root_path: { type: 'string', setOnce: true },
|
99
|
-
// api_path: { type: 'string', default: '/api' },
|
100
|
-
// environment: { type: 'string', setOnce: true },
|
101
|
-
// system_settings: { type: 'state', required: true },
|
102
|
-
// assets_path_prefix: { type: 'string', setOnce: true },
|
103
|
-
// api_host: { type: 'string', default: `//${window.location.host }` },
|
104
|
-
// initial_workspace_screen_id: { type: 'string', setOnce: true }
|
105
|
-
// };
|
106
|
-
|
107
|
-
// this.prototype.derived = {
|
108
|
-
// env: {
|
109
|
-
// deps: ['environment'], fn() {
|
110
|
-
// return {
|
111
|
-
// test: this.environment === 'test',
|
112
|
-
// development: this.environment === 'development',
|
113
|
-
// production: this.environment === 'production'
|
114
|
-
// };
|
115
|
-
// }
|
116
|
-
// }
|
117
|
-
// };
|
118
|
-
// }
|
119
|
-
|
120
|
-
// initialize() {
|
121
|
-
// return this.system_settings = new SystemSettings;
|
122
|
-
// }
|
123
|
-
|
124
|
-
// bootstrap(options) {
|
125
|
-
// if (options.system_settings) {
|
126
|
-
// this.system_settings.set(options.system_settings);
|
127
|
-
// delete options.system_settings;
|
128
|
-
// }
|
129
|
-
// this.set(options);
|
130
|
-
// if (_.isObject(options)) { return Lanes.Extensions.setBootstrapData(options); }
|
131
|
-
// }
|
132
|
-
// }
|
133
|
-
// Config.initClass();
|
134
|
-
|
135
|
-
// let configInstance = new Config;
|
136
|
-
|
137
|
-
// Object.defineProperty(Lanes, 'config', {
|
138
|
-
// get() { return configInstance; },
|
139
|
-
// set() { throw new Error("Unable to reset config"); }
|
140
|
-
// }
|
141
|
-
// );
|
142
|
-
|
143
|
-
// function __guard__(value, transform) {
|
144
|
-
// return (typeof value !== 'undefined' && value !== null) ? transform(value) : undefined;
|
145
|
-
// }
|
data/lanes.gemspec
CHANGED
@@ -55,7 +55,7 @@ Gem::Specification.new do |spec|
|
|
55
55
|
spec.add_dependency "pg", "~> 0.8"
|
56
56
|
spec.add_dependency "rake", "~> 12.0"
|
57
57
|
spec.add_dependency "require_all", "~> 1.3"
|
58
|
-
spec.add_dependency "resque", "~> 1.
|
58
|
+
spec.add_dependency "resque", "~> 1.27"
|
59
59
|
spec.add_dependency "sanitize", "~> 3.0"
|
60
60
|
spec.add_dependency "webpack_driver", "~> 0.2"
|
61
61
|
spec.add_dependency "knitter", "~> 0.2"
|
data/lib/js/jest.config.json
CHANGED
@@ -3,11 +3,6 @@
|
|
3
3
|
"notify": false,
|
4
4
|
"testMatch": [ "**/?(*.)(spec|test).js?(x)" ],
|
5
5
|
"moduleFileExtensions": [ "js", "jsx", "json" ],
|
6
|
-
"setupTestFrameworkScriptFile": "<rootDir>/lib/js/jest/setup.js",
|
7
|
-
"modulePaths": [
|
8
|
-
"<rootDir>/client",
|
9
|
-
"<rootDir>/lib/js/jest/stubs"
|
10
|
-
],
|
11
6
|
"transform": {
|
12
7
|
"^.+\\.jsx?$": "babel-jest"
|
13
8
|
},
|
data/lib/js/jest/mocks.js
CHANGED
data/lib/js/jest/setup.js
CHANGED
@@ -1,19 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
import { fetch } from './mocks';
|
4
|
-
|
5
|
-
import 'jest-enzyme';
|
6
|
-
// jest.mock('flexboxgrid', () => {
|
7
|
-
// return {};
|
8
|
-
// });
|
9
|
-
|
10
|
-
//useStrict(true);
|
1
|
+
const { shallow, mount } = require('enzyme');
|
2
|
+
const { fetch } = require('./mocks');
|
11
3
|
|
12
4
|
global.shallow = shallow;
|
13
5
|
global.mount = mount;
|
14
6
|
global.fetch = fetch;
|
7
|
+
global.React = require('React');
|
15
8
|
|
16
|
-
|
9
|
+
jest.addMatchers({
|
17
10
|
|
18
11
|
toHaveRendered() {
|
19
12
|
return {
|
@@ -25,7 +18,6 @@ jasmine.addMatchers({
|
|
25
18
|
} else {
|
26
19
|
result.message = `Expected wrapper to contain '${selector}' only once, but it was found ${matchCount} times`;
|
27
20
|
}
|
28
|
-
|
29
21
|
return result;
|
30
22
|
},
|
31
23
|
};
|
data/lib/js/webpack.config.js
CHANGED
@@ -2,8 +2,12 @@
|
|
2
2
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
3
3
|
const webpack = require('webpack');
|
4
4
|
const path = require('path');
|
5
|
-
const roots = process.env.LANES_EXT_ROOTS || './client';
|
6
|
-
const
|
5
|
+
// const roots = process.env.LANES_EXT_ROOTS || './client';
|
6
|
+
// const controlling_root = process.env.LANES_CONTROLLER_DIR;
|
7
|
+
// roots.split(',').concat([
|
8
|
+
// 'node_modules',
|
9
|
+
// generated_dir,
|
10
|
+
// ]),
|
7
11
|
|
8
12
|
const config = {
|
9
13
|
entry: {
|
@@ -18,16 +22,13 @@ const config = {
|
|
18
22
|
filename: 'lanes.js',
|
19
23
|
},
|
20
24
|
resolve: {
|
21
|
-
modules:
|
22
|
-
'node_modules',
|
23
|
-
generated_dir,
|
24
|
-
]),
|
25
|
+
modules: process.env.LANES_MODULES.split(':'),
|
25
26
|
extensions: ['.js', '.jsx'],
|
26
27
|
},
|
27
28
|
module: {
|
28
29
|
rules: [
|
29
30
|
{ test: /\.css$/, use: ['style-loader', 'css-loader'] },
|
30
|
-
{ test: /\.jsx?$/, exclude: /node_modules
|
31
|
+
{ loader: 'babel-loader', test: /\.jsx?$/, exclude: /node_modules/ },
|
31
32
|
{ test: /\.scss$/,
|
32
33
|
use: [
|
33
34
|
'style-loader',
|
@@ -50,7 +51,7 @@ const config = {
|
|
50
51
|
new HtmlWebpackPlugin({
|
51
52
|
title: 'My App',
|
52
53
|
filename: 'index.html',
|
53
|
-
template: `${
|
54
|
+
template: `${process.env.GENERATED_CONFIG_DIR}/root-view.tmpl.html`,
|
54
55
|
}),
|
55
56
|
new webpack.DefinePlugin({
|
56
57
|
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
|
data/lib/lanes.rb
CHANGED
data/lib/lanes/command/app.rb
CHANGED
@@ -23,10 +23,11 @@ module Lanes
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def create_files
|
26
|
-
[
|
27
|
-
|
26
|
+
[
|
27
|
+
"Gemfile", "Rakefile", "Guardfile", "config.ru",
|
28
|
+
".babelrc", "config/database.yml"
|
28
29
|
].each{ |f| template(f) }
|
29
|
-
[ ".eslintrc.js", ".
|
30
|
+
[ ".eslintrc.js", ".rubocop.yml"
|
30
31
|
].each{ |f| template("../#{f}", f) }
|
31
32
|
template "lib/namespace.rb", "lib/#{identifier}.rb"
|
32
33
|
template "lib/namespace/version.rb", "lib/#{identifier}/version.rb"
|
@@ -34,6 +35,7 @@ module Lanes
|
|
34
35
|
template "lib/namespace/base_model.rb", "lib/#{identifier}/model.rb"
|
35
36
|
template "config/screens.rb"
|
36
37
|
template "config/routes.rb"
|
38
|
+
template "config/webpack.config.js"
|
37
39
|
template "config/lanes.rb"
|
38
40
|
template "gitignore",".gitignore"
|
39
41
|
|
@@ -65,8 +67,13 @@ module Lanes
|
|
65
67
|
say 'Installing node modules', :green
|
66
68
|
yarn = Knitter::Yarn.new(self.destination_root)
|
67
69
|
yarn.init
|
68
|
-
[
|
69
|
-
|
70
|
+
[
|
71
|
+
'jest',
|
72
|
+
'lanes-framework',
|
73
|
+
'react-router',
|
74
|
+
'webpack-dev-server'
|
75
|
+
].each do | package_name |
|
76
|
+
say(sprintf(' %-20s', package_name + '…'), nil, false)
|
70
77
|
package = Knitter::Package.new(package_name, yarn: yarn)
|
71
78
|
package.add
|
72
79
|
say 'done', :green
|
data/lib/lanes/command/jest.rb
CHANGED
@@ -5,7 +5,7 @@ require 'guard/jest'
|
|
5
5
|
|
6
6
|
require_relative '../extension'
|
7
7
|
require_relative '../command'
|
8
|
-
|
8
|
+
require 'irb'
|
9
9
|
module Lanes
|
10
10
|
module Command
|
11
11
|
|
@@ -20,6 +20,7 @@ module Lanes
|
|
20
20
|
attr_accessor :lanes_root_path
|
21
21
|
attr_accessor :extension_path
|
22
22
|
attr_accessor :config_file
|
23
|
+
attr_accessor :module_paths
|
23
24
|
|
24
25
|
def apply_lanes_config
|
25
26
|
Lanes::Configuration.apply
|
@@ -29,18 +30,19 @@ module Lanes
|
|
29
30
|
def configure
|
30
31
|
say 'Generating Jest Config', :green
|
31
32
|
ext = Command.load_current_extension(raise_on_fail: true)
|
32
|
-
|
33
33
|
self.extension_path = ext.root_path
|
34
|
-
|
35
34
|
self.lanes_root_path = ROOT
|
36
35
|
config_dir = Pathname.new(Dir.mktmpdir)
|
37
36
|
self.config_file = config_dir.join("jest.config.json")
|
37
|
+
self.module_paths = Extensions.asset_paths(ext, config_dir.to_s)
|
38
38
|
template('js/jest.config.json', config_file, verbose: false, force: true)
|
39
|
-
|
39
|
+
self
|
40
40
|
end
|
41
41
|
|
42
42
|
def start
|
43
43
|
say 'Starting Jest', :green
|
44
|
+
say Dir.pwd, :yellow
|
45
|
+
puts "$(npm bin)/jest --watch --config #{config_file};"
|
44
46
|
exec("$(npm bin)/jest --watch --config #{config_file};")
|
45
47
|
end
|
46
48
|
end
|
data/lib/lanes/command/server.rb
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
require 'guard/cli'
|
2
|
-
require 'webpack_driver'
|
3
|
-
require 'puma/cli'
|
4
|
-
require 'guard/jest'
|
5
|
-
#require 'lanes/api'
|
6
2
|
require_relative '../webpack'
|
7
|
-
require_relative 'jest_runner'
|
8
3
|
|
9
4
|
module Lanes
|
10
5
|
module Command
|
@@ -16,9 +11,7 @@ module Lanes
|
|
16
11
|
say "Launching testing server at http://localhost:8888/", :green
|
17
12
|
require 'lanes/api'
|
18
13
|
Lanes::Configuration.apply
|
19
|
-
|
20
|
-
API.webpack = Lanes::Webpack.server
|
21
|
-
|
14
|
+
API.webpack = Lanes::Webpack.new
|
22
15
|
threads = []
|
23
16
|
Thread.abort_on_exception = true
|
24
17
|
threads << Thread.new { API::Root.run! }
|
@@ -31,19 +24,14 @@ module Lanes
|
|
31
24
|
end
|
32
25
|
Lanes.logger.info "ok, ctrl-c trap registered"
|
33
26
|
end
|
34
|
-
|
35
27
|
API.webpack.start
|
36
|
-
|
37
28
|
sleep(1) # give webpack a bit of time to fail if it's going to
|
38
|
-
|
39
29
|
unless API.webpack.alive?
|
40
30
|
puts API.webpack.messages
|
41
31
|
exit 1
|
42
32
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
API.webpack.stop
|
33
|
+
Guard.start # will block until complete
|
34
|
+
API.webpack.stop # stop webpack after guard completes
|
47
35
|
end
|
48
36
|
end
|
49
37
|
end
|
data/lib/lanes/extension.rb
CHANGED
@@ -17,6 +17,13 @@ module Lanes
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
def asset_paths(controller, additional)
|
21
|
+
map { |ext| ext.root_path.join('client').to_s }.reverse + [
|
22
|
+
controller.root_path.join('node_modules').to_s,
|
23
|
+
additional
|
24
|
+
]
|
25
|
+
end
|
26
|
+
|
20
27
|
# lock the current controlling extension so that it can't
|
21
28
|
# be changed by other extensions that are loaded later
|
22
29
|
def lock_controlling!
|
data/lib/lanes/version.rb
CHANGED
data/lib/lanes/webpack.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'forwardable'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'pathname'
|
2
4
|
require 'erb'
|
3
5
|
|
4
6
|
module Lanes
|
@@ -10,53 +12,53 @@ module Lanes
|
|
10
12
|
|
11
13
|
extend Forwardable
|
12
14
|
def_delegators :@process, :port, :environment, :stop, :alive?, :start, :wait
|
15
|
+
attr_reader :process
|
13
16
|
|
14
|
-
|
17
|
+
def initialize
|
18
|
+
controller = Command.load_current_extension(raise_on_fail: true)
|
15
19
|
|
16
|
-
def self.server
|
17
20
|
config = WebpackDriver::Configuration.new(
|
18
|
-
|
19
|
-
directory: Pathname.new(__FILE__).dirname.join('..', '..'),
|
21
|
+
controller.root_path.join('config', 'webpack.config.js'),
|
20
22
|
cmd_line_flags: ['--hot', '--inline'],
|
21
|
-
logger: Lanes.logger
|
23
|
+
logger: Lanes.logger,
|
24
|
+
directory: controller.root_path
|
22
25
|
)
|
23
26
|
|
24
|
-
|
27
|
+
generated_asset_dir = write_asset_files
|
28
|
+
|
29
|
+
config.environment.merge!(
|
30
|
+
EXTENSION_ID: controller.identifier,
|
31
|
+
LANES_MODULES: modules(controller, generated_asset_dir).join(':'),
|
32
|
+
ENTRY: 'show-maker/index.js',
|
33
|
+
GENERATED_CONFIG_DIR: generated_asset_dir.to_s
|
34
|
+
)
|
35
|
+
@process = ::WebpackDriver::DevServer.new(config)
|
25
36
|
end
|
26
37
|
|
27
|
-
attr_reader :process
|
28
38
|
|
29
39
|
def api_host
|
30
|
-
Lanes.env.production? ?
|
40
|
+
Lanes.env.production? ?
|
41
|
+
'' : "http://localhost:#{API::Root.settings.port}"
|
31
42
|
end
|
32
43
|
|
33
|
-
def
|
34
|
-
|
35
|
-
@generated_asset_dir = Pathname.new(Dir.mktmpdir)
|
36
|
-
generated_asset_dir.join('lanes').mkpath
|
37
|
-
write_asset_files
|
38
|
-
|
39
|
-
puts Extensions.map{|ext| ext.root_path.join('client').to_s }.join(',')
|
40
|
-
|
41
|
-
config.environment.merge!(
|
42
|
-
LANES_EXT_ROOTS: Extensions.map{|ext|
|
43
|
-
ext.root_path.join('client').to_s
|
44
|
-
}.join(','),
|
45
|
-
LANES_GENERATED_DIR: generated_asset_dir.to_s
|
46
|
-
)
|
47
|
-
|
48
|
-
@process = ::WebpackDriver::DevServer.new(config)
|
44
|
+
def modules(controller, generated_asset_dir)
|
45
|
+
Extensions.asset_paths(controller, generated_asset_dir.to_s)
|
49
46
|
end
|
50
47
|
|
51
48
|
def write_asset_files
|
49
|
+
dir = Pathname.new(Dir.mktmpdir)
|
50
|
+
dir.join('lanes').mkpath
|
51
|
+
|
52
52
|
screens = ERB.new(TEMPLATES.join('screens.js').read)
|
53
|
-
root_view
|
54
|
-
|
53
|
+
root_view = ERB.new(TEMPLATES.join('root-view.html').read)
|
54
|
+
dir
|
55
55
|
.join('lanes', 'screen-definitions.js')
|
56
56
|
.write(screens.result(binding))
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
template = dir.join('root-view.tmpl.html')
|
58
|
+
template.write(root_view.result(binding))
|
59
|
+
# set the mtime to the past, otherwise Webpack will build repeatedly for a second
|
60
|
+
FileUtils.touch template.to_s, :mtime => Time.now - 1.minute
|
61
|
+
return dir
|
60
62
|
end
|
61
63
|
|
62
64
|
def assets
|
data/package.json
CHANGED
@@ -6,38 +6,10 @@
|
|
6
6
|
"repository": "https://github.com/argosity/lanes",
|
7
7
|
"author": "Nathan Stitt <nathan@stitt.org>",
|
8
8
|
"license": "MIT",
|
9
|
-
"files": [
|
9
|
+
"files": [
|
10
|
+
"client"
|
11
|
+
],
|
10
12
|
"dependencies": {
|
11
|
-
"classnames": "^2.2.5",
|
12
|
-
"domtastic": "^0.12.3",
|
13
|
-
"flexboxgrid": "^6.3.1",
|
14
|
-
"formous": "^0.9.2",
|
15
|
-
"grommet": "^1.2.1",
|
16
|
-
"history": "^4.5.1",
|
17
|
-
"invariant": "^2.2.2",
|
18
|
-
"lodash": "^4.17.4",
|
19
|
-
"loglevel": "^1.4.1",
|
20
|
-
"mobx": "^3.0.0",
|
21
|
-
"mobx-decorated-models": "^0.4.4",
|
22
|
-
"mobx-react": "^4.1.0",
|
23
|
-
"pluralize": "^3.1.0",
|
24
|
-
"qs": "^6.3.0",
|
25
|
-
"react": "^15.4.2",
|
26
|
-
"react-addons-shallow-compare": "^15.4.2",
|
27
|
-
"react-async-component": "^0.2.2",
|
28
|
-
"react-dom": "^15.4.2",
|
29
|
-
"react-dropzone": "^3.10.0",
|
30
|
-
"react-flexbox-grid": "nathanstitt/react-flexbox-grid#devel",
|
31
|
-
"react-motion": "^0.4.7",
|
32
|
-
"react-router": "^3.0.2",
|
33
|
-
"react-sidebar": "^2.3.0",
|
34
|
-
"react-virtualized": "^9.0.0",
|
35
|
-
"rsvp": "^3.3.3",
|
36
|
-
"serializr": "^1.1.9",
|
37
|
-
"validator": "^6.2.1",
|
38
|
-
"whatwg-fetch": "^2.0.2",
|
39
|
-
"when-dom-ready": "^1.2.4",
|
40
|
-
|
41
13
|
"babel-core": "^6.21.0",
|
42
14
|
"babel-eslint": "latest",
|
43
15
|
"babel-jest": "^18.0.0",
|
@@ -53,25 +25,54 @@
|
|
53
25
|
"babel-preset-react": "^6.16.0",
|
54
26
|
"babel-preset-stage-0": "^6.22.0",
|
55
27
|
"babel-preset-stage-1": "^6.16.0",
|
28
|
+
"classnames": "^2.2.5",
|
56
29
|
"css-loader": "^0.26.1",
|
30
|
+
"domtastic": "^0.12.3",
|
57
31
|
"enzyme": "^2.7.0",
|
58
32
|
"eslint": "^3.13.1",
|
59
33
|
"eslint-config-airbnb": "latest",
|
60
34
|
"eslint-plugin-import": "^2.2.0",
|
61
35
|
"eslint-plugin-jsx-a11y": "latest",
|
62
36
|
"eslint-plugin-react": "^6.9.0",
|
37
|
+
"flexboxgrid": "^6.3.1",
|
38
|
+
"formous": "^0.9.2",
|
39
|
+
"grommet": "^1.2.1",
|
40
|
+
"history": "^4.5.1",
|
63
41
|
"html-webpack-plugin": "^2.28.0",
|
64
42
|
"identity-obj-proxy": "^3.0.0",
|
43
|
+
"invariant": "^2.2.2",
|
65
44
|
"jest": "^19.0.2",
|
66
45
|
"jest-enzyme": "^2.1.2",
|
67
46
|
"jest-fetch-mock": "^1.0.7",
|
47
|
+
"lodash": "^4.17.4",
|
48
|
+
"loglevel": "^1.4.1",
|
49
|
+
"mobx": "^3.0.0",
|
50
|
+
"mobx-decorated-models": "^0.4.4",
|
51
|
+
"mobx-react": "^4.1.0",
|
68
52
|
"node-sass": "^4.5.0",
|
53
|
+
"pluralize": "^3.1.0",
|
54
|
+
"qs": "^6.3.0",
|
55
|
+
"react": "^15.4.2",
|
56
|
+
"react-addons-shallow-compare": "^15.4.2",
|
69
57
|
"react-addons-test-utils": "^15.4.2",
|
58
|
+
"react-async-component": "^0.2.2",
|
59
|
+
"react-dom": "^15.4.2",
|
60
|
+
"react-dropzone": "^3.10.0",
|
61
|
+
"react-flexbox-grid": "nathanstitt/react-flexbox-grid#devel",
|
70
62
|
"react-hot-loader": "3.0.0-beta.6",
|
63
|
+
"react-motion": "^0.4.7",
|
64
|
+
"react-router": "^3.0.2",
|
65
|
+
"react-sidebar": "^2.3.0",
|
71
66
|
"react-test-renderer": "^15.4.2",
|
67
|
+
"react-virtualized": "^9.0.0",
|
68
|
+
"rsvp": "^3.3.3",
|
72
69
|
"sass-loader": "^4.1.1",
|
70
|
+
"serializr": "^1.1.9",
|
73
71
|
"style-loader": "^0.13.1",
|
72
|
+
"validator": "^6.2.1",
|
74
73
|
"webpack": "v2.2.0-rc.4",
|
75
|
-
"webpack-dev-server": "v2.2.0-rc.0"
|
74
|
+
"webpack-dev-server": "v2.2.0-rc.0",
|
75
|
+
"whatwg-fetch": "^2.0.2",
|
76
|
+
"when-dom-ready": "^1.2.4"
|
76
77
|
}
|
77
78
|
}
|
File without changes
|
data/templates/Gemfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# For development while Lanes is evolving track master branch
|
4
|
-
gem "lanes", git: "https://github.com/argosity/lanes", branch: '
|
4
|
+
gem "lanes", git: "https://github.com/argosity/lanes", branch: 'master'
|
5
5
|
|
6
6
|
# gem "lanes", '<%= Lanes::VERSION %>'
|
7
7
|
|
data/templates/client/index.js
CHANGED
@@ -1,19 +1,6 @@
|
|
1
|
-
//=require ./models/Base
|
2
|
-
//=require ./components/Base
|
3
|
-
//=require_tree ./models
|
4
|
-
//=require_tree ./components
|
5
|
-
//=require ./screens/Base
|
6
|
-
//=require ./Extension
|
7
|
-
|
8
1
|
/*
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
Accordingly, only essential files should be included here. Code that
|
14
|
-
relates to a screen should be placed in the "screens" directory,
|
15
|
-
where it will be loaded dynamically when the screen is displayed.
|
2
|
+
This is the main entry point for your application
|
3
|
+
By default it simply imports the standard lanes boot file
|
4
|
+
*/
|
16
5
|
|
17
|
-
|
18
|
-
only include the paths you need.
|
19
|
-
*/
|
6
|
+
import 'lanes/boot';
|
@@ -0,0 +1,105 @@
|
|
1
|
+
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
2
|
+
const webpack = require('webpack');
|
3
|
+
const path = require('path');
|
4
|
+
|
5
|
+
const config = {
|
6
|
+
entry: {
|
7
|
+
lanes: [
|
8
|
+
'react-hot-loader/patch',
|
9
|
+
process.env.ENTRY,
|
10
|
+
],
|
11
|
+
},
|
12
|
+
output: {
|
13
|
+
path: __dirname,
|
14
|
+
publicPath: '/',
|
15
|
+
filename: `${process.env.EXTENSION_ID}/.js`,
|
16
|
+
},
|
17
|
+
resolve: {
|
18
|
+
modules: process.env.LANES_MODULES.split(':'),
|
19
|
+
extensions: ['.js', '.jsx'],
|
20
|
+
},
|
21
|
+
module: {
|
22
|
+
rules: [
|
23
|
+
{ test: /\.css$/, use: ['style-loader', 'css-loader'] },
|
24
|
+
{
|
25
|
+
loader: 'babel-loader',
|
26
|
+
test: /\.jsx?$/,
|
27
|
+
exclude: /node_modules/,
|
28
|
+
options: {
|
29
|
+
plugins: [
|
30
|
+
'react-hot-loader/babel',
|
31
|
+
'babel-plugin-transform-decorators-legacy',
|
32
|
+
'babel-plugin-transform-class-properties',
|
33
|
+
'babel-plugin-transform-function-bind',
|
34
|
+
'babel-plugin-transform-react-jsx',
|
35
|
+
'babel-plugin-transform-runtime',
|
36
|
+
].map(require.resolve),
|
37
|
+
presets: [
|
38
|
+
[require.resolve('babel-preset-es2015'), { modules: false }],
|
39
|
+
require.resolve('babel-preset-react'),
|
40
|
+
require.resolve('babel-preset-stage-1'),
|
41
|
+
],
|
42
|
+
},
|
43
|
+
},
|
44
|
+
{ test: /\.scss$/,
|
45
|
+
use: [
|
46
|
+
'style-loader',
|
47
|
+
'css-loader',
|
48
|
+
{
|
49
|
+
loader: 'sass-loader',
|
50
|
+
options: {
|
51
|
+
includePaths: [path.resolve('./node_modules')],
|
52
|
+
},
|
53
|
+
},
|
54
|
+
],
|
55
|
+
},
|
56
|
+
],
|
57
|
+
},
|
58
|
+
devtool: 'source-map',
|
59
|
+
plugins: [
|
60
|
+
new webpack.optimize.CommonsChunkPlugin({
|
61
|
+
name: 'vendor', minChunks: Infinity, filename: '[name].[hash].js',
|
62
|
+
}),
|
63
|
+
new HtmlWebpackPlugin({
|
64
|
+
filename: 'index.html',
|
65
|
+
template: `${process.env.GENERATED_CONFIG_DIR}/root-view.tmpl.html`,
|
66
|
+
}),
|
67
|
+
new webpack.DefinePlugin({
|
68
|
+
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
|
69
|
+
}),
|
70
|
+
],
|
71
|
+
node: {
|
72
|
+
fs: 'empty',
|
73
|
+
},
|
74
|
+
devServer: {
|
75
|
+
hot: true,
|
76
|
+
inline: true,
|
77
|
+
port: 8889,
|
78
|
+
historyApiFallback: true,
|
79
|
+
proxy: [{
|
80
|
+
context: '/api',
|
81
|
+
target: 'http://localhost:4567',
|
82
|
+
}],
|
83
|
+
stats: {
|
84
|
+
colors: true,
|
85
|
+
profile: true,
|
86
|
+
hash: false,
|
87
|
+
version: false,
|
88
|
+
timings: false,
|
89
|
+
assets: true,
|
90
|
+
chunks: false,
|
91
|
+
modules: false,
|
92
|
+
reasons: true,
|
93
|
+
children: false,
|
94
|
+
source: true,
|
95
|
+
errors: true,
|
96
|
+
errorDetails: false,
|
97
|
+
warnings: true,
|
98
|
+
publicPath: false,
|
99
|
+
},
|
100
|
+
},
|
101
|
+
};
|
102
|
+
|
103
|
+
// console.log(config)
|
104
|
+
|
105
|
+
module.exports = config;
|
@@ -1,14 +1,19 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"preset": "<rootDir>/lib/js/jest.config.json",
|
2
|
+
"preset": "<%= lanes_root_path %>/lib/js/jest.config.json",
|
4
3
|
"roots": [
|
5
4
|
"<%= extension_path %>/client",
|
6
|
-
"<%= extension_path %>/spec"
|
7
|
-
"<rootDir>/client"
|
5
|
+
"<%= extension_path %>/spec"
|
8
6
|
],
|
7
|
+
"setupTestFrameworkScriptFile": "<%= lanes_root_path %>/lib/js/jest/setup.js",
|
8
|
+
"transform": {
|
9
|
+
"^.+\\.jsx?$": "babel-jest"
|
10
|
+
},
|
9
11
|
"modulePaths": [
|
10
|
-
|
11
|
-
"
|
12
|
-
|
13
|
-
|
12
|
+
<%= module_paths.map{|mod| "\"#{mod}\"" }.join(", ") %>,
|
13
|
+
"<%= lanes_root_path %>/lib/js/jest/stubs"
|
14
|
+
],
|
15
|
+
"moduleNameMapper": {
|
16
|
+
"\\.(css|less|scss)$": "<rootDir>/lib/js/jest/styleMock.js",
|
17
|
+
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/lib/js/jest/fileMock.js"
|
18
|
+
}
|
14
19
|
}
|
@@ -14,7 +14,7 @@ module <%= namespace %>
|
|
14
14
|
# is returned from this method, it will be passed to
|
15
15
|
# the setBootstrapData method in client/<%= identifier %>/Extension.coffee
|
16
16
|
# when the app boots
|
17
|
-
def client_bootstrap_data
|
17
|
+
def client_bootstrap_data
|
18
18
|
nil
|
19
19
|
end
|
20
20
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/yarn.lock
CHANGED
@@ -2965,14 +2965,10 @@ https-browserify@0.0.1:
|
|
2965
2965
|
version "0.0.1"
|
2966
2966
|
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
|
2967
2967
|
|
2968
|
-
iconv-lite@0.4.13:
|
2968
|
+
iconv-lite@0.4.13, iconv-lite@~0.4.13:
|
2969
2969
|
version "0.4.13"
|
2970
2970
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
|
2971
2971
|
|
2972
|
-
iconv-lite@~0.4.13:
|
2973
|
-
version "0.4.15"
|
2974
|
-
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
|
2975
|
-
|
2976
2972
|
icss-replace-symbols@^1.0.2:
|
2977
2973
|
version "1.0.2"
|
2978
2974
|
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lanes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Stitt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -380,14 +380,14 @@ dependencies:
|
|
380
380
|
requirements:
|
381
381
|
- - "~>"
|
382
382
|
- !ruby/object:Gem::Version
|
383
|
-
version: '1.
|
383
|
+
version: '1.27'
|
384
384
|
type: :runtime
|
385
385
|
prerelease: false
|
386
386
|
version_requirements: !ruby/object:Gem::Requirement
|
387
387
|
requirements:
|
388
388
|
- - "~>"
|
389
389
|
- !ruby/object:Gem::Version
|
390
|
-
version: '1.
|
390
|
+
version: '1.27'
|
391
391
|
- !ruby/object:Gem::Dependency
|
392
392
|
name: sanitize
|
393
393
|
requirement: !ruby/object:Gem::Requirement
|
@@ -509,7 +509,6 @@ executables:
|
|
509
509
|
extensions: []
|
510
510
|
extra_rdoc_files: []
|
511
511
|
files:
|
512
|
-
- ".babelrc"
|
513
512
|
- ".dir-locals.el"
|
514
513
|
- ".eslintrc.js"
|
515
514
|
- ".flowconfig"
|
@@ -791,7 +790,6 @@ files:
|
|
791
790
|
- lib/js/jest/setup.js
|
792
791
|
- lib/js/jest/stubs/screen-definitions.js
|
793
792
|
- lib/js/jest/styleMock.js
|
794
|
-
- lib/js/webpack-status-plugin.js
|
795
793
|
- lib/js/webpack.config.js
|
796
794
|
- lib/lanes.rb
|
797
795
|
- lib/lanes/access.rb
|
@@ -851,7 +849,6 @@ files:
|
|
851
849
|
- lib/lanes/command/generate_screen.usage
|
852
850
|
- lib/lanes/command/guard.rb
|
853
851
|
- lib/lanes/command/jest.rb
|
854
|
-
- lib/lanes/command/jest_runner.rb
|
855
852
|
- lib/lanes/command/migration_support.rb
|
856
853
|
- lib/lanes/command/model_attribute.rb
|
857
854
|
- lib/lanes/command/named_command.rb
|
@@ -885,7 +882,6 @@ files:
|
|
885
882
|
- lib/lanes/extension/definition.rb
|
886
883
|
- lib/lanes/guard_tasks.rb
|
887
884
|
- lib/lanes/hot_reload_plugin.rb
|
888
|
-
- lib/lanes/jest.rb
|
889
885
|
- lib/lanes/job.rb
|
890
886
|
- lib/lanes/job/failure_logger.rb
|
891
887
|
- lib/lanes/lanes_guard_plugin.rb
|
@@ -1037,6 +1033,7 @@ files:
|
|
1037
1033
|
- spec/server/system_settings_spec.rb
|
1038
1034
|
- tasks/migrations.rake
|
1039
1035
|
- tasks/publish.rake
|
1036
|
+
- templates/.babelrc
|
1040
1037
|
- templates/Gemfile
|
1041
1038
|
- templates/Guardfile
|
1042
1039
|
- templates/Rakefile
|
@@ -1059,6 +1056,7 @@ files:
|
|
1059
1056
|
- templates/config/routes.rb
|
1060
1057
|
- templates/config/screen.rb
|
1061
1058
|
- templates/config/screens.rb
|
1059
|
+
- templates/config/webpack.config.js
|
1062
1060
|
- templates/db/create_table_migration.rb
|
1063
1061
|
- templates/gitignore
|
1064
1062
|
- templates/js/jest.config.json
|
@@ -1070,13 +1068,13 @@ files:
|
|
1070
1068
|
- templates/lib/namespace/model.rb
|
1071
1069
|
- templates/lib/namespace/version.rb
|
1072
1070
|
- templates/public/.gitkeep
|
1073
|
-
- templates/
|
1074
|
-
- templates/
|
1075
|
-
- templates/
|
1076
|
-
- templates/
|
1077
|
-
- templates/
|
1078
|
-
- templates/
|
1079
|
-
- templates/
|
1071
|
+
- templates/spec/client/Screen.coffee
|
1072
|
+
- templates/spec/client/components/ComponentSpec.coffee
|
1073
|
+
- templates/spec/client/models/ModelSpec.coffee
|
1074
|
+
- templates/spec/client/setup.js
|
1075
|
+
- templates/spec/fixtures/namespace/model.yml
|
1076
|
+
- templates/spec/server/model_spec.rb
|
1077
|
+
- templates/spec/server/spec_helper.rb
|
1080
1078
|
- test.js
|
1081
1079
|
- views/lanes_root_view.erb
|
1082
1080
|
- yard_ext/all.rb
|
@@ -1113,7 +1111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1113
1111
|
version: '0'
|
1114
1112
|
requirements: []
|
1115
1113
|
rubyforge_project:
|
1116
|
-
rubygems_version: 2.6.
|
1114
|
+
rubygems_version: 2.6.10
|
1117
1115
|
signing_key:
|
1118
1116
|
specification_version: 4
|
1119
1117
|
summary: Lanes is a framework for easily writing single page web applications
|
@@ -1,78 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var webpack = require("webpack");
|
4
|
-
|
5
|
-
function DashboardPlugin(options) {
|
6
|
-
this.options = options;
|
7
|
-
}
|
8
|
-
|
9
|
-
function log(type, value) {
|
10
|
-
console.log('STATUS:', JSON.stringify({type, value}));
|
11
|
-
}
|
12
|
-
|
13
|
-
DashboardPlugin.prototype.apply = function(compiler) {
|
14
|
-
var timer;
|
15
|
-
|
16
|
-
if ( compiler.options.devServer ) {
|
17
|
-
let {port, host, outputPath} = compiler.options.devServer;
|
18
|
-
log("dev-server", { port, host, outputPath });
|
19
|
-
}
|
20
|
-
|
21
|
-
// compiler.apply(new webpack.ProgressPlugin(function (percent, msg) {
|
22
|
-
// log("compile", {
|
23
|
-
// "progress": percent,
|
24
|
-
// "operation": msg,
|
25
|
-
// "ms": Date.now() - timer
|
26
|
-
// });
|
27
|
-
// }));
|
28
|
-
|
29
|
-
compiler.plugin("compile", function() {
|
30
|
-
timer = Date.now();
|
31
|
-
log("compile", {
|
32
|
-
"progress": 0,
|
33
|
-
"operation": "idle"
|
34
|
-
})
|
35
|
-
});
|
36
|
-
|
37
|
-
compiler.plugin("invalid", function() {
|
38
|
-
log("status", "invalid");
|
39
|
-
});
|
40
|
-
|
41
|
-
compiler.plugin("failed-module", function(module) {
|
42
|
-
log("failed-module", module);
|
43
|
-
});
|
44
|
-
compiler.plugin("done", function(stats) {
|
45
|
-
if (stats.compilation.errors && stats.compilation.errors.length){
|
46
|
-
log("status", "invalid");
|
47
|
-
for(var i = 0; i < stats.compilation.errors.length; i++){
|
48
|
-
var err = stats.compilation.errors[i];
|
49
|
-
log("error", {
|
50
|
-
name: err.name, message: err.message,
|
51
|
-
resource: err.module ? err.module.resource : ''
|
52
|
-
});
|
53
|
-
}
|
54
|
-
} else {
|
55
|
-
log("status", "success");
|
56
|
-
}
|
57
|
-
});
|
58
|
-
|
59
|
-
compiler.plugin("failed", function() {
|
60
|
-
log("status", "failed");
|
61
|
-
});
|
62
|
-
|
63
|
-
compiler.plugin("valid", function() {
|
64
|
-
log("status", "valid");
|
65
|
-
});
|
66
|
-
|
67
|
-
compiler.plugin("after-emit", function(compilation, callback) {
|
68
|
-
for (var k in compilation.assets){
|
69
|
-
if(!compilation.assets[k].parents){
|
70
|
-
log("asset", {name: k, size: compilation.assets[k].size()});
|
71
|
-
}
|
72
|
-
}
|
73
|
-
callback();
|
74
|
-
});
|
75
|
-
|
76
|
-
}
|
77
|
-
|
78
|
-
module.exports = DashboardPlugin;
|
@@ -1,63 +0,0 @@
|
|
1
|
-
module Lanes
|
2
|
-
module Command
|
3
|
-
|
4
|
-
class JestRunner
|
5
|
-
|
6
|
-
attr_reader :proc
|
7
|
-
|
8
|
-
extend Forwardable
|
9
|
-
|
10
|
-
def_delegators :@proc, :alive?, :environment, :wait
|
11
|
-
|
12
|
-
def initialize
|
13
|
-
@proc = ::ChildProcess.build(
|
14
|
-
Lanes::ROOT_PATH.join('node_modules/jest-cli/bin/jest.js').to_s,
|
15
|
-
'--watch', '--config',
|
16
|
-
Lanes::ROOT_PATH.join('lib', 'js', 'jest.config.js').to_s
|
17
|
-
)
|
18
|
-
end
|
19
|
-
|
20
|
-
def stop
|
21
|
-
@proc.stop
|
22
|
-
@output.close unless @output.closed?
|
23
|
-
@listener.exit
|
24
|
-
end
|
25
|
-
|
26
|
-
def write(str)
|
27
|
-
@proc.io.stdin.write(str + "\n")
|
28
|
-
puts "WRote #{str}"
|
29
|
-
end
|
30
|
-
|
31
|
-
def start
|
32
|
-
@proc.start
|
33
|
-
@output, w = IO.pipe
|
34
|
-
@proc.io.stdout = @proc.io.stderr = w
|
35
|
-
|
36
|
-
@proc.duplex = true
|
37
|
-
puts "one"
|
38
|
-
puts "two"
|
39
|
-
@proc.start
|
40
|
-
|
41
|
-
|
42
|
-
@listener = Thread.new do
|
43
|
-
@output.each_line do | l |
|
44
|
-
Lanes.logger.info l.chomp
|
45
|
-
print "\r"
|
46
|
-
end
|
47
|
-
|
48
|
-
# # match = l.match(/^STATUS: (.*)/)
|
49
|
-
# # if match
|
50
|
-
# # record_message(JSON.parse(match[1]))
|
51
|
-
# # # WebpackDriver.config.logger.debug(l.chomp)
|
52
|
-
# # else
|
53
|
-
# # WebpackDriver.config.logger.info(l.chomp)
|
54
|
-
# # end
|
55
|
-
# end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
data/lib/lanes/jest.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'forwardable'
|
2
|
-
require 'erb'
|
3
|
-
|
4
|
-
module Lanes
|
5
|
-
class Jest
|
6
|
-
attr_reader :config_dir
|
7
|
-
|
8
|
-
def self.launch
|
9
|
-
puts 'Jest'
|
10
|
-
@config_dir = Pathname.new(Dir.mktmpdir)
|
11
|
-
|
12
|
-
template config_dir.join('jest.config'), "#{client_dir}/screens/#{screen_id}/index.js"
|
13
|
-
|
14
|
-
puts Dir.glob(config_dir + '*')
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|