isomorfeus 1.0.0.zeta25 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -21
  3. data/README.md +26 -31
  4. data/bin/ismos +2 -2
  5. data/bin/isomorfeus +2 -3
  6. data/lib/isomorfeus/cli.rb +118 -31
  7. data/lib/isomorfeus/command.rb +29 -31
  8. data/lib/isomorfeus/console.rb +21 -21
  9. data/lib/isomorfeus/installer/bundle.rb +13 -0
  10. data/lib/isomorfeus/installer/dsl.rb +67 -0
  11. data/lib/isomorfeus/installer/gemfile.rb +39 -0
  12. data/lib/isomorfeus/installer/install_targets.rb +29 -0
  13. data/lib/isomorfeus/installer/new_project.rb +19 -56
  14. data/lib/isomorfeus/installer/options_mangler.rb +16 -16
  15. data/lib/isomorfeus/installer/rack_servers.rb +5 -11
  16. data/lib/isomorfeus/installer/target/web.rb +54 -0
  17. data/lib/isomorfeus/installer/templates/.gitignore.erb +25 -25
  18. data/lib/isomorfeus/installer/templates/Gemfile.erb +20 -36
  19. data/lib/isomorfeus/installer/templates/anonymous_policy.rb.erb +3 -3
  20. data/lib/isomorfeus/installer/templates/app_loader.rb.erb +8 -8
  21. data/lib/isomorfeus/installer/templates/config.ru.erb +23 -23
  22. data/lib/isomorfeus/installer/templates/hello_component.rb.erb +5 -5
  23. data/lib/isomorfeus/installer/templates/iodine.rb.erb +5 -0
  24. data/lib/isomorfeus/installer/templates/isomorfeus_loader.rb.erb +16 -16
  25. data/lib/isomorfeus/installer/templates/isomorfeus_web_worker_loader.rb.erb +2 -2
  26. data/lib/isomorfeus/installer/templates/{mail_components_loader.rb.erb → mail_loader.rb.erb} +18 -18
  27. data/lib/isomorfeus/installer/templates/mail_preview.mustache.erb +14 -0
  28. data/lib/isomorfeus/installer/templates/my_app.rb.erb +10 -10
  29. data/lib/isomorfeus/installer/templates/navigation_links.rb.erb +8 -8
  30. data/lib/isomorfeus/installer/templates/not_found_404_component.rb.erb +6 -6
  31. data/lib/isomorfeus/installer/templates/roda_app.rb.erb +71 -0
  32. data/lib/isomorfeus/installer/templates/spec_helper.rb.erb +19 -22
  33. data/lib/isomorfeus/installer/templates/web.mustache.erb +15 -0
  34. data/lib/isomorfeus/installer/templates/{test_spec.rb.erb → web_spec.rb.erb} +12 -12
  35. data/lib/isomorfeus/installer/templates/welcome_component.rb.erb +5 -5
  36. data/lib/isomorfeus/installer/test_app_files.rb +24 -0
  37. data/lib/isomorfeus/installer/upgrade.rb +11 -0
  38. data/lib/isomorfeus/installer.rb +57 -261
  39. data/lib/isomorfeus/version.rb +3 -3
  40. data/lib/isomorfeus.rb +10 -8
  41. metadata +68 -63
  42. data/bin/yandle +0 -9
  43. data/lib/isomorfeus/installer/databases/arangodb.rb +0 -13
  44. data/lib/isomorfeus/installer/templates/Procfile.erb +0 -1
  45. data/lib/isomorfeus/installer/templates/ProcfileDebug.erb +0 -3
  46. data/lib/isomorfeus/installer/templates/ProcfileDev.erb +0 -3
  47. data/lib/isomorfeus/installer/templates/app.rb.erb +0 -57
  48. data/lib/isomorfeus/installer/templates/application.css.erb +0 -0
  49. data/lib/isomorfeus/installer/templates/application.js.erb +0 -25
  50. data/lib/isomorfeus/installer/templates/application_common.js.erb +0 -17
  51. data/lib/isomorfeus/installer/templates/application_ssr.js.erb +0 -23
  52. data/lib/isomorfeus/installer/templates/application_web_worker.js.erb +0 -6
  53. data/lib/isomorfeus/installer/templates/arango_config.rb.erb +0 -20
  54. data/lib/isomorfeus/installer/templates/debug.js.erb +0 -131
  55. data/lib/isomorfeus/installer/templates/development.js.erb +0 -110
  56. data/lib/isomorfeus/installer/templates/development_ssr.js.erb +0 -115
  57. data/lib/isomorfeus/installer/templates/iodine_config.rb.erb +0 -14
  58. data/lib/isomorfeus/installer/templates/mail_components.js.erb +0 -23
  59. data/lib/isomorfeus/installer/templates/package.json.erb +0 -43
  60. data/lib/isomorfeus/installer/templates/production.js.erb +0 -100
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.zeta25
4
+ version: 2.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-02 00:00:00.000000000 Z
11
+ date: 2021-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '6.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '6.0'
26
+ version: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,170 +42,184 @@ dependencies:
42
42
  name: oj
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.10.0
47
+ version: 3.13.9
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.10.0
54
+ version: 3.13.9
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.12.2
61
+ version: 0.14.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.12.2
68
+ version: 0.14.1
69
69
  - !ruby/object:Gem::Dependency
70
- name: opal-webpack-loader
70
+ name: thor
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.9.10
75
+ version: 0.19.4
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 0.9.10
82
+ version: 0.19.4
83
83
  - !ruby/object:Gem::Dependency
84
- name: thor
84
+ name: isomorfeus-speednode
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.19.4
89
+ version: 0.4.2
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.19.4
96
+ version: 0.4.2
97
97
  - !ruby/object:Gem::Dependency
98
- name: isomorfeus-react
98
+ name: isomorfeus-asset-manager
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 16.13.0
103
+ version: 0.13.2
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.13.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: isomorfeus-preact
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 10.5.11
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 16.13.0
124
+ version: 10.5.11
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: isomorfeus-redux
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 4.0.22
131
+ version: 4.1.8
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 4.0.22
138
+ version: 4.1.8
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: isomorfeus-policy
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - '='
130
144
  - !ruby/object:Gem::Version
131
- version: 1.0.0.zeta25
145
+ version: 2.0.0.rc1
132
146
  type: :runtime
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - '='
137
151
  - !ruby/object:Gem::Version
138
- version: 1.0.0.zeta25
152
+ version: 2.0.0.rc1
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: isomorfeus-transport
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - '='
144
158
  - !ruby/object:Gem::Version
145
- version: 1.0.0.zeta25
159
+ version: 2.0.0.rc1
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - '='
151
165
  - !ruby/object:Gem::Version
152
- version: 1.0.0.zeta25
166
+ version: 2.0.0.rc1
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: isomorfeus-data
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - '='
158
172
  - !ruby/object:Gem::Version
159
- version: 1.0.0.zeta25
173
+ version: 2.0.0.rc1
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - '='
165
179
  - !ruby/object:Gem::Version
166
- version: 1.0.0.zeta25
180
+ version: 2.0.0.rc1
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: isomorfeus-i18n
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - '='
172
186
  - !ruby/object:Gem::Version
173
- version: 1.0.0.zeta25
187
+ version: 2.0.0.rc1
174
188
  type: :runtime
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - '='
179
193
  - !ruby/object:Gem::Version
180
- version: 1.0.0.zeta25
194
+ version: 2.0.0.rc1
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: isomorfeus-operation
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - '='
186
200
  - !ruby/object:Gem::Version
187
- version: 1.0.0.zeta25
201
+ version: 2.0.0.rc1
188
202
  type: :runtime
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - '='
193
207
  - !ruby/object:Gem::Version
194
- version: 1.0.0.zeta25
208
+ version: 2.0.0.rc1
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: isomorfeus-mailer
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - '='
200
214
  - !ruby/object:Gem::Version
201
- version: 1.0.0.zeta25
215
+ version: 2.0.0.rc1
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - '='
207
221
  - !ruby/object:Gem::Version
208
- version: 1.0.0.zeta25
222
+ version: 2.0.0.rc1
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: bundler
211
225
  requirement: !ruby/object:Gem::Requirement
@@ -254,7 +268,6 @@ email: jan@kursator.de
254
268
  executables:
255
269
  - isomorfeus
256
270
  - ismos
257
- - yandle
258
271
  extensions: []
259
272
  extra_rdoc_files: []
260
273
  files:
@@ -262,56 +275,48 @@ files:
262
275
  - README.md
263
276
  - bin/ismos
264
277
  - bin/isomorfeus
265
- - bin/yandle
266
278
  - lib/isomorfeus.rb
267
279
  - lib/isomorfeus/cli.rb
268
280
  - lib/isomorfeus/command.rb
269
281
  - lib/isomorfeus/console.rb
270
282
  - lib/isomorfeus/installer.rb
271
- - lib/isomorfeus/installer/databases/arangodb.rb
283
+ - lib/isomorfeus/installer/bundle.rb
284
+ - lib/isomorfeus/installer/dsl.rb
285
+ - lib/isomorfeus/installer/gemfile.rb
286
+ - lib/isomorfeus/installer/install_targets.rb
272
287
  - lib/isomorfeus/installer/new_project.rb
273
288
  - lib/isomorfeus/installer/options_mangler.rb
274
289
  - lib/isomorfeus/installer/rack_servers.rb
290
+ - lib/isomorfeus/installer/target/web.rb
275
291
  - lib/isomorfeus/installer/templates/.gitignore.erb
276
292
  - lib/isomorfeus/installer/templates/.gitkeep.erb
277
293
  - lib/isomorfeus/installer/templates/Gemfile.erb
278
- - lib/isomorfeus/installer/templates/Procfile.erb
279
- - lib/isomorfeus/installer/templates/ProcfileDebug.erb
280
- - lib/isomorfeus/installer/templates/ProcfileDev.erb
281
294
  - lib/isomorfeus/installer/templates/anonymous_policy.rb.erb
282
- - lib/isomorfeus/installer/templates/app.rb.erb
283
295
  - lib/isomorfeus/installer/templates/app_loader.rb.erb
284
- - lib/isomorfeus/installer/templates/application.css.erb
285
- - lib/isomorfeus/installer/templates/application.js.erb
286
- - lib/isomorfeus/installer/templates/application_common.js.erb
287
- - lib/isomorfeus/installer/templates/application_ssr.js.erb
288
- - lib/isomorfeus/installer/templates/application_web_worker.js.erb
289
- - lib/isomorfeus/installer/templates/arango_config.rb.erb
290
296
  - lib/isomorfeus/installer/templates/config.ru.erb
291
- - lib/isomorfeus/installer/templates/debug.js.erb
292
- - lib/isomorfeus/installer/templates/development.js.erb
293
- - lib/isomorfeus/installer/templates/development_ssr.js.erb
294
297
  - lib/isomorfeus/installer/templates/hello_component.rb.erb
295
- - lib/isomorfeus/installer/templates/iodine_config.rb.erb
298
+ - lib/isomorfeus/installer/templates/iodine.rb.erb
296
299
  - lib/isomorfeus/installer/templates/isomorfeus_loader.rb.erb
297
300
  - lib/isomorfeus/installer/templates/isomorfeus_web_worker_loader.rb.erb
298
- - lib/isomorfeus/installer/templates/mail_components.js.erb
299
- - lib/isomorfeus/installer/templates/mail_components_loader.rb.erb
301
+ - lib/isomorfeus/installer/templates/mail_loader.rb.erb
302
+ - lib/isomorfeus/installer/templates/mail_preview.mustache.erb
300
303
  - lib/isomorfeus/installer/templates/my_app.rb.erb
301
304
  - lib/isomorfeus/installer/templates/navigation_links.rb.erb
302
305
  - lib/isomorfeus/installer/templates/not_found_404_component.rb.erb
303
- - lib/isomorfeus/installer/templates/package.json.erb
304
- - lib/isomorfeus/installer/templates/production.js.erb
306
+ - lib/isomorfeus/installer/templates/roda_app.rb.erb
305
307
  - lib/isomorfeus/installer/templates/spec_helper.rb.erb
306
- - lib/isomorfeus/installer/templates/test_spec.rb.erb
308
+ - lib/isomorfeus/installer/templates/web.mustache.erb
309
+ - lib/isomorfeus/installer/templates/web_spec.rb.erb
307
310
  - lib/isomorfeus/installer/templates/welcome_component.rb.erb
311
+ - lib/isomorfeus/installer/test_app_files.rb
312
+ - lib/isomorfeus/installer/upgrade.rb
308
313
  - lib/isomorfeus/version.rb
309
314
  homepage: http://isomorfeus.com
310
315
  licenses:
311
316
  - MIT
312
317
  metadata:
313
318
  github_repo: ssh://github.com/isomorfeus/gems
314
- post_install_message:
319
+ post_install_message:
315
320
  rdoc_options: []
316
321
  require_paths:
317
322
  - lib
@@ -326,8 +331,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
331
  - !ruby/object:Gem::Version
327
332
  version: 1.3.1
328
333
  requirements: []
329
- rubygems_version: 3.0.6
330
- signing_key:
334
+ rubygems_version: 3.2.22
335
+ signing_key:
331
336
  specification_version: 4
332
337
  summary: Command line utilities and installer for isomorfeus projects.
333
338
  test_files: []
data/bin/yandle DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- if %w[update upgrade].include?(ARGV[0])
4
- system('yarn upgrade')
5
- system('bundle update')
6
- else
7
- system('yarn install')
8
- system('bundle install')
9
- end
@@ -1,13 +0,0 @@
1
- module Isomorfeus
2
- module Installer
3
- module Databases
4
- module ArangoDB
5
-
6
- end
7
- end
8
- end
9
- end
10
-
11
- Isomorfeus::Installer.add_database('arangodb',
12
- gems: [ { name: 'arango-driver', version: "~> 3.5.0.alpha0" } ],
13
- installer: Isomorfeus::Installer::Databases::ArangoDB)
@@ -1 +0,0 @@
1
- web: <%= rack_server_start_command %>
@@ -1,3 +0,0 @@
1
- web: <%= rack_server_start_command %>
2
- webpack: bundle exec yarn run debug
3
- webpack_ssr: bundle exec yarn run development_ssr
@@ -1,3 +0,0 @@
1
- web: <%= rack_server_start_command %>
2
- webpack: bundle exec yarn run development
3
- webpack_ssr: bundle exec yarn run development_ssr
@@ -1,57 +0,0 @@
1
- require_relative 'app_loader'
2
- require_relative 'owl_init'
3
- # require_relative 'arango_config'
4
- <%= rack_server_init %>
5
-
6
- class <%= app_class %> < Roda
7
- extend Isomorfeus::Transport::Middlewares
8
- include OpalWebpackLoader::ViewHelper
9
- include Isomorfeus::ReactViewHelper
10
-
11
- use_isomorfeus_middlewares
12
- plugin :public, root: 'public', gzip: true
13
-
14
- def page_content(env, location)
15
- locale = env.http_accept_language.preferred_language_from(Isomorfeus.available_locales)
16
- locale = env.http_accept_language.compatible_language_from(Isomorfeus.available_locales) unless locale
17
- locale = Isomorfeus.locale unless locale
18
- rendered_tree = mount_component('<%= app_class %>', location_host: env['HTTP_HOST'], location: location, locale: locale)
19
- <<~HTML
20
- <!DOCTYPE html>
21
- <html>
22
- <head>
23
- <title>Welcome to <%= app_class %></title>
24
- <meta charset="utf-8"/>
25
- <meta name="viewport" content="width=device-width, initial-scale=1">
26
- <style id="jss-server-side" type="text/css">#{ssr_styles}</style>
27
- #{owl_script_tag 'application.js'}
28
- </head>
29
- <body>
30
- #{rendered_tree}
31
- </body>
32
- </html>
33
- HTML
34
- end
35
-
36
- route do |r|
37
- r.root do
38
- page_content(env, '/')
39
- end
40
-
41
- r.public
42
-
43
- r.get 'favicon.ico' do
44
- r.public
45
- end
46
-
47
- r.get 'robots.txt' do
48
- r.public
49
- end
50
-
51
- r.get do
52
- content = page_content(env, env['PATH_INFO'])
53
- response.status = ssr_response_status
54
- content
55
- end
56
- end
57
- end
@@ -1,25 +0,0 @@
1
- // entry file for the browser environment
2
- // import stylesheets here
3
- import '../styles/application.css';
4
-
5
- // import npm modules that are valid to use only in the browser
6
- import ReactDOM from 'react-dom';
7
- global.ReactDOM = ReactDOM;
8
- import { BrowserRouter, Link, NavLink, Route, Switch } from 'react-router-dom';
9
- // global.History = History;
10
- global.Router = BrowserRouter;
11
- global.Link = Link;
12
- global.NavLink = NavLink;
13
- global.Route = Route;
14
- global.Switch = Switch;
15
- import deepForceUpdate from 'react-deep-force-update'
16
- global.deepForceUpdate = deepForceUpdate;
17
- // import modules common to browser and server side rendering (ssr)
18
- // environments from application_common.js
19
- import './application_common.js';
20
-
21
- import init_app from 'isomorfeus_loader.rb';
22
- init_app();
23
- Opal.load('isomorfeus_loader');
24
-
25
- if (module.hot) { module.hot.accept(); }
@@ -1,17 +0,0 @@
1
- // import javascript modules common to browser and server side rendering environments
2
- import * as Redux from 'redux';
3
- global.Redux = Redux;
4
-
5
- import React from 'react';
6
- global.React = React;
7
-
8
- import * as ReactRouter from 'react-router';
9
- global.ReactRouter = ReactRouter;
10
-
11
- import * as ReactRouterDOM from 'react-router-dom';
12
- global.ReactRouterDOM = ReactRouterDOM;
13
-
14
- import * as ReactJSS from 'react-jss';
15
- global.ReactJSS = ReactJSS;
16
-
17
- if (module.hot) { module.hot.accept(); }
@@ -1,23 +0,0 @@
1
- // entry file for the server side rendering environment (ssr)
2
- // import npm modules that are only valid to use in the server side rendering environment
3
- // for example modules which depend on objects provided by node js
4
- import ReactDOMServer from 'react-dom/server';
5
- global.ReactDOMServer = ReactDOMServer;
6
- import { StaticRouter, Link, NavLink, Route, Switch } from 'react-router-dom';
7
- // global.History = History;
8
- global.Router = StaticRouter;
9
- global.Link = Link;
10
- global.NavLink = NavLink;
11
- global.Route = Route;
12
- global.Switch = Switch;
13
- import WebSocket from 'ws';
14
- global.WebSocket = WebSocket;
15
- // import modules common to browser and server side rendering (ssr)
16
- // environments from application_common.js
17
- import './application_common.js';
18
-
19
- import init_app from 'isomorfeus_loader.rb';
20
- init_app();
21
- global.Opal.load('isomorfeus_loader');
22
-
23
- if (module.hot) { module.hot.accept(); }
@@ -1,6 +0,0 @@
1
- // import modules for webworkers
2
- import init_app from 'isomorfeus_web_worker_loader.rb';
3
- init_app();
4
- Opal.load('isomorfeus_web_worker_loader');
5
-
6
- if (module.hot) { module.hot.accept(); }
@@ -1,20 +0,0 @@
1
- # Arango DB
2
- if ENV['ARANGO_USER'] && ENV['ARANGO_PASSWORD']
3
- Isomorfeus.arango_production = { username: ENV['ARANGO_USER'], password: ENV['ARANGO_PASSWORD'],
4
- host: "localhost", port: "8529",
5
- database: "<%= app_class %>Production" }
6
-
7
- Isomorfeus.arango_development = { username: ENV['ARANGO_USER'], password: ENV['ARANGO_PASSWORD'],
8
- host: "localhost", port: "8529",
9
- database: "<%= app_class %>Development" }
10
-
11
- Isomorfeus.arango_test = { username: ENV['ARANGO_USER'], password: ENV['ARANGO_PASSWORD'],
12
- host: "localhost", port: "8529",
13
- database: "<%= app_class %>Test" }
14
- end
15
-
16
- # create database, if possible
17
- # initialize Isomorfeus collections
18
- # create housekeeping tasks
19
- # keep it, it will take care of updates to the Isomorfeus collections when required
20
- Isomorfeus.prepare_arango_database
@@ -1,131 +0,0 @@
1
- const path = require('path');
2
- const webpack = require('webpack');
3
- const OwlResolver = require('opal-webpack-loader/resolver'); // to resolve ruby files
4
- const ExtraWatchWebpackPlugin = require('extra-watch-webpack-plugin'); // to watch for added ruby files
5
-
6
- const common_config = {
7
- target: 'web',
8
- context: path.resolve(__dirname, '../app'),
9
- mode: "development",
10
- optimization: {
11
- removeAvailableModules: false,
12
- removeEmptyChunks: false,
13
- minimize: false // dont minimize for debugging
14
- },
15
- performance: {
16
- maxAssetSize: 20000000,
17
- maxEntrypointSize: 20000000
18
- },
19
- // use one of these below for source maps
20
- devtool: 'source-map', // this works well, good compromise between accuracy and performance
21
- // devtool: 'cheap-eval-source-map', // less accurate
22
- // devtool: 'inline-source-map', // slowest
23
- // devtool: 'inline-cheap-source-map',
24
- output: {
25
- filename: '[name].js',
26
- path: path.resolve(__dirname, '../public/assets'),
27
- publicPath: 'http://localhost:3035/assets/'
28
- },
29
- externals: { crypto: 'Crypto' },
30
- resolve: {
31
- plugins: [new OwlResolver('resolve', 'resolved')], // this makes it possible for webpack to find ruby files
32
- alias: {
33
- 'react-dom': 'react-dom/profiling',
34
- 'schedule/tracing': 'schedule/tracing-profiling',
35
- }
36
- },
37
- plugins: [
38
- // both for hot reloading
39
- new webpack.HotModuleReplacementPlugin(),
40
- // watch for added files in app dir
41
- new ExtraWatchWebpackPlugin({ dirs: [path.resolve(__dirname, '../app')] }),
42
- new webpack.DefinePlugin({
43
- OPAL_DEVTOOLS_OBJECT_REGISTRY: true
44
- })
45
- ],
46
- module: {
47
- rules: [
48
- {
49
- test: /\.s[ac]ss$/,
50
- use: [ "style-loader",
51
- {
52
- loader: "css-loader",
53
- options: { sourceMap: true }
54
- },
55
- {
56
- loader: "sass-loader",
57
- options: {
58
- sassOptions: { includePaths: [path.resolve(__dirname, '../app/styles')] },
59
- sourceMap: true // set to false to speed up hot reloads
60
- }
61
- }
62
- ]
63
- },
64
- {
65
- test: /\.css$/,
66
- use: [ "style-loader",
67
- {
68
- loader: "css-loader",
69
- options: { sourceMap: true }
70
- }
71
- ]
72
- },
73
- {
74
- test: /\.(png|svg|jpg|gif|woff|woff2|eot|ttf|otf)$/,
75
- use: [ "file-loader" ]
76
- },
77
- {
78
- test: /(\.js)?\.rb$/,
79
- use: [
80
- {
81
- loader: 'opal-webpack-loader', // opal-webpack-loader will compile and include ruby files in the pack
82
- options: {
83
- sourceMap: true,
84
- hmr: true,
85
- hmrHook: 'Opal.Isomorfeus.$force_render()'
86
- }
87
- }
88
- ]
89
- }
90
- ]
91
- },
92
- // configuration for webpack-dev-server
93
- devServer: {
94
- open: false,
95
- lazy: false,
96
- port: 3035,
97
- hot: true,
98
- // hotOnly: true,
99
- inline: true,
100
- https: false,
101
- disableHostCheck: true,
102
- headers: {
103
- "Access-Control-Allow-Origin": "*",
104
- "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
105
- "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
106
- },
107
- watchOptions: {
108
- // in case of problems with hot reloading uncomment the following two lines:
109
- // aggregateTimeout: 250,
110
- // poll: 50,
111
- ignored: /\bnode_modules\b/
112
- },
113
- contentBase: path.resolve(__dirname, 'public'),
114
- useLocalIp: false
115
- }
116
- };
117
-
118
- const browser_config = {
119
- entry: { application: [path.resolve(__dirname, '../app/imports/application.js')] }
120
- };
121
-
122
- //const web_worker_config = {
123
- // target: 'webworker',
124
- // entry: { web_worker: [path.resolve(__dirname, '../app/imports/application_web_worker.js')] },
125
- // externals: { crypto: 'Crypto' }
126
- //};
127
-
128
- const browser = Object.assign({}, common_config, browser_config);
129
- // const web_worker = Object.assign({}, common_config, web_worker_config);
130
-
131
- module.exports = [ browser ];