atome 0.5.5.6.8 → 0.5.5.6.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7aa3c214fe912034722449b518e98283ed26c7e019e9da115967f6d095523216
4
- data.tar.gz: 47cd9aaaf658e5765967ee8b24897bb7ddde926b61d2c93975e7bac57e24e539
3
+ metadata.gz: a905162a755c4deb4bcbd8d7ec8504bb8ad4b3ac123e9846633a95f92e24fdd0
4
+ data.tar.gz: 5d7214da310e2b2e7632d1faf583274932a60209afba739b77990bd10f34b41b
5
5
  SHA512:
6
- metadata.gz: 24ab3d48bf981172a88cd12d761bf1aac72e367fba8f45b8d4ee99b00a3d956c1d0bae9cd02ba8e1d26bb42558ef3b7878143e9c5b9e1aff51d96b5ceb044b3d
7
- data.tar.gz: 420f83ab9e7a50d6abd527190d7423cd5caec49f42b60928512816c205469c07b8bd82dcd1f818f3adfa811922437af91d1f9b636efaf46396f76d57ce3adb9c
6
+ metadata.gz: a743c4f73769c7dfb5c6667899f97ad2bd474696dcebff791097375c7d5a35e50958fefc8de07fc85e2d82a322bb23163a499aef4130a16aa26edb05857ec430
7
+ data.tar.gz: a81d9d618478984eae77511aaee26773852c574dbaea6cd6cead4920ea522fa92aed0709e1a2c43a474ac227983f7bc012e86d1e1204067b4463f4b1ddbe742a
data/Rakefile CHANGED
@@ -16,53 +16,25 @@ task :cleanup do
16
16
  begin
17
17
  cleanup_command.invoke('atome')
18
18
  rescue Gem::SystemExitException => e
19
- puts "Erreur lors du nettoyage : #{e.message}"
19
+ puts "Error : #{e.message}"
20
20
  end
21
21
 
22
22
  begin
23
23
  uninstaller = Gem::Uninstaller.new('atome', { executables: true, all: true, force: true })
24
24
  uninstaller.uninstall
25
25
  rescue Gem::InstallError => e
26
- puts "Erreur lors de la désinstallation : #{e.message}"
26
+ puts "Error uninstalling : #{e.message}"
27
27
  end
28
28
 
29
29
  Dir.chdir('pkg') do
30
- # Effectuez vos opérations dans le dossier 'pkg'
30
+ # treatment here
31
31
  end
32
32
 
33
- # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
34
- # # code to exec for Windows
35
- # `gem cleanup atome`
36
- # `echo yes | gem uninstall atome`
37
- # `cd pkg`
38
- #
39
- # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
40
- # # code to exec for MacOS
41
- # `gem cleanup atome;yes | gem uninstall atome;cd pkg`
42
- # else
43
- # # code to exec for Unix/Linux
44
- # `gem cleanup atome;yes | gem uninstall atome;cd pkg`
45
- # end
46
33
 
47
34
  end
48
35
  task :reset_cache do
49
36
  FileUtils.rm_rf('./tmp')
50
37
  FileUtils.rm_rf('./pkg')
51
- # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
52
- # # code to exec for Windows
53
- # `rmdir /s /q .\\tmp`
54
- # `rmdir /s /q .\\pkg`
55
- #
56
- # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
57
- # # code to exec for MacOS
58
- # `rm -r -f ./tmp`
59
- # `rm -r -f ./pkg`
60
- # else
61
- # # code to exec for Unix/Linux
62
- # `rm -r -f ./tmp`
63
- # `rm -r -f ./pkg`
64
- # end
65
-
66
38
  end
67
39
 
68
40
  def resolve_requires(file_path, root_path, processed_files = Set.new, depth = 0)
@@ -142,73 +114,6 @@ task :test_wasm do
142
114
  puts 'atome wasm is build and running!'
143
115
  end
144
116
 
145
- # task :test_wasm_osx_x86 do
146
- # # wasi Source here : https://github.com/kateinoigakukun/wasi-vfs/releases
147
- # project_name = :test
148
- # source = '.'
149
- # destination = './tmp'
150
- # script_source = './test/application'
151
- # wasi_file = 'wasi-vfs-osx_x86'
152
- # host_mode = 'pure_wasm'
153
- # create_application(source, destination, project_name)
154
- # wasm_common(source, destination, project_name, wasi_file, script_source, host_mode, script_source)
155
- # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
156
- # # code to exec for Windows
157
- # `start "" ".\\tmp\\#{project_name}\\src\\index.html"`
158
- # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
159
- # # code to exec for MacOS
160
- # `open ./tmp/#{project_name}/src/index.html`
161
- # else
162
- # # code to exec for Unix/Linux
163
- # `open ./tmp/#{project_name}/src/index.html`
164
- # end
165
- #
166
- # puts 'atome wasm is build and running!'
167
- # end
168
- # task :test_wasm_windows do
169
- # # wasi Source here : https://github.com/kateinoigakukun/wasi-vfs/releases
170
- # project_name = :test
171
- # source = '.'
172
- # destination = './tmp'
173
- # script_source = './test/application'
174
- # wasi_file = 'wasi-vfs.exe pack'
175
- # host_mode = 'pure_wasm'
176
- # create_application(source, destination, project_name)
177
- # wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
178
- # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
179
- # # code to exec for Windows
180
- # `start "" ".\\tmp\\#{project_name}\\src\\index.html"`
181
- # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
182
- # # code to exec for MacOS
183
- # `open ./tmp/#{project_name}/src/index.html`
184
- # else
185
- # # code to exec for Unix/Linux
186
- # `open ./tmp/#{project_name}/src/index.html`
187
- # end
188
- # puts 'atome wasm is build and running!'
189
- # end
190
- # task :test_wasm_unix do
191
- # # wasi Source here : https://github.com/kateinoigakukun/wasi-vfs/releases
192
- # project_name = :test
193
- # source = '.'
194
- # destination = './tmp'
195
- # script_source = './test/application'
196
- # wasi_file = 'wasi-vfs-unix pack tmp'
197
- # host_mode = 'pure_wasm'
198
- # create_application(source, destination, project_name)
199
- # wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
200
- # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
201
- # # code to exec for Windows
202
- # `start "" ".\\tmp\\#{project_name}\\src\\index.html"`
203
- # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
204
- # # code to exec for MacOS
205
- # `open ./tmp/#{project_name}/src/index.html`
206
- # else
207
- # # code to exec for Unix/Linux
208
- # `open ./tmp/#{project_name}/src/index.html`
209
- # end
210
- # puts 'atome wasm is build and running!'
211
- # end
212
117
 
213
118
  task :test_opal do
214
119
  project_name = :test
@@ -253,7 +158,6 @@ task :server_wasm do
253
158
  host_mode = 'pure_wasm'
254
159
  create_application(source, destination, project_name)
255
160
  wasm_common(source, destination, project_name, wasi_file, host_mode, script_source)
256
- # `open ./tmp/#{project_name}/src/index.html`
257
161
  puts 'atome wasm is build and running!'
258
162
  build_for_server(destination, project_name, 9292, :production)
259
163
 
@@ -404,36 +308,103 @@ end
404
308
 
405
309
 
406
310
  task :push_gem do
311
+ # pushing the gem
312
+
313
+ dir_path = './pkg'
314
+ entries = Dir.entries(dir_path)
315
+
316
+ gem_files = entries.select { |file| file.end_with?('.gem') }
317
+
318
+ sorted_versions = gem_files.map { |file|
319
+ file.scan(/\d+\.\d+\.\d+\.\d+\.\d+/).first
320
+ }.compact.sort_by { |version| Gem::Version.new(version) }
321
+
322
+ latest_version = sorted_versions.last
323
+ latest_file = gem_files.find { |file| file.include?(latest_version) }
407
324
 
408
- # # pushing the gem
409
- # if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
410
- # # code to exec for Windows
411
- # `cd pkg && gem push atome`
412
- # elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
413
- # # code to exec for MacOS
414
- # `cd pkg; gem push atome`
415
- # # open the app
416
- # else
417
- # # code to exec for Unix/Linux
418
- # `cd pkg; gem push atome`
419
- # # open the app
420
- # end
421
- #
422
- # puts 'atome gem pushed'
325
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
326
+ # code to exec for Windows
327
+ `cd pkg && gem push #{latest_file}`
328
+ elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
329
+ # code to exec for MacOS
330
+ `cd pkg; gem push #{latest_file}`
331
+ # open the app
332
+ else
333
+ # code to exec for Unix/Linux
334
+ `cd pkg; gem push #{latest_file}`
335
+ end
336
+ puts "#{latest_file} pushed"
423
337
  end
424
338
 
425
- # task :run_wasm_client_code do
426
- # app_name = :test
427
- # dest_path = './tmp/'
428
- # user_code = './test/application'
429
- # # user_code = './vendor/assets/application'
430
- # # user_code = './test/client/delices_de_vezelin'
431
- # application_location = "#{dest_path}#{app_name}"
432
- # source_file = "#{user_code}/index.rb"
433
- # new_file_content = generate_resolved_file(source_file)
434
- # index_html = File.read('vendor/assets/src/index.html')
435
- # index_html = index_html.sub('</html>', "<script type='text/ruby' >#{new_file_content}</script>\n</html>")
436
- # File.write("#{application_location}/src/index.html", index_html)
437
- # `open #{application_location}/src/index.html`
438
- # puts 'atome wasm user code executed'
439
- # end
339
+
340
+ task :full_test do
341
+
342
+ # building the gem
343
+ `rake build` # run build_app thru ARGV in exe atome
344
+ # installing the gem
345
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
346
+ # code to exec for Windows
347
+ `cd pkg && gem install atome --local`
348
+ elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
349
+ # code to exec for MacOS
350
+ `cd pkg; gem install atome --local`
351
+ # open the app
352
+ else
353
+ # code to exec for Unix/Linux
354
+ `cd pkg; gem install atome --local`
355
+ # open the app
356
+ end
357
+
358
+ puts 'atome gem built and installed'
359
+
360
+ # now building new test app
361
+ project_name = :test
362
+ source = '.'
363
+ destination = './tmp'
364
+ script_source = './test/application'
365
+ create_application(source, destination, project_name)
366
+ # the line below is to add addition script to the application folder (useful for test per example)
367
+ add_to_application_folder(script_source, destination, project_name)
368
+ # build opal
369
+ build_opal_library(source, destination, project_name)
370
+ # build parser
371
+ build_opal_parser(source, destination, project_name)
372
+ # build atome kernel
373
+ build_atome_kernel_for_opal(source, destination, project_name)
374
+ # build host_mode
375
+ build_host_mode(destination, project_name, 'web-opal')
376
+ # build Opal extensions
377
+ build_opal_extensions(source, destination, project_name)
378
+ # build application
379
+ build_opal_application(source, destination, project_name)
380
+ # open the app
381
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
382
+ # code to exec for Windows
383
+ `start "" "#{destination}\\#{project_name}\\src\\index_opal.html"`
384
+ elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
385
+ # code to exec for MacOS
386
+ `open #{destination}/#{project_name}/src/index_opal.html`
387
+ else
388
+ # code to exec for Unix/Linux
389
+ `open #{destination}/#{project_name}/src/index_opal.html`
390
+ end
391
+
392
+ puts 'atome opal is build and running!'
393
+
394
+ # now running the app
395
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
396
+ # code to exec for Windows
397
+ `cd #{destination} && atome run server`
398
+ elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
399
+ # code to exec for MacOS
400
+ `cd #{destination}; atome run server`
401
+ # open the app
402
+ else
403
+ # code to exec for Unix/Linux
404
+ `cd #{destination}; atome run server`
405
+ # open the app
406
+ end
407
+
408
+ end
409
+
410
+
data/atome.gemspec CHANGED
@@ -55,6 +55,12 @@ Gem::Specification.new do |spec|
55
55
  spec.add_runtime_dependency 'sqlite3', '~> 1.4'
56
56
  spec.add_runtime_dependency 'uglifier', '~> 0.1'
57
57
  #spec.add_runtime_dependency 'webrick', '~> 1.7.0'
58
+ # the gem below are need to make the atome server works on Windows
59
+ spec.add_runtime_dependency 'win32-security', '~> 0.5.0'
60
+ spec.add_runtime_dependency 'tzinfo-data', '~> 1.2023.4'
61
+
62
+
63
+
58
64
 
59
65
  # Uncomment to register a new dependency of your gem
60
66
  # spec.add_dependency "example-gem", "~> 1.0"
data/exe/atome CHANGED
@@ -9,8 +9,10 @@ require 'opal'
9
9
  require 'parser'
10
10
  require 'uglifier'
11
11
 
12
+
12
13
  # utils
13
14
 
15
+
14
16
  def modify_and_copy_file(source_path, destination_path, destination_dir)
15
17
 
16
18
  file_content = File.read(source_path)
@@ -133,15 +135,15 @@ STR
133
135
  f.puts opal_compiler_content
134
136
  end
135
137
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
136
- # Code à exécuter sous Windows
138
+ # code to exec with Windows
137
139
  `cd #{destination}\\#{project_name}\\tmp\\application\\ && echo %cd% && ruby .opal_compiler.rb`
138
140
 
139
141
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
140
- # Code à exécuter sous MacOS
142
+ # code to exec with MacOS
141
143
  `cd #{destination}/#{project_name}/tmp/application/;pwd;ruby .opal_compiler.rb`
142
144
 
143
145
  else
144
- # Code à exécuter sous Unix/Linux
146
+ # code to exec with Unix/Linux
145
147
  `cd #{destination}/#{project_name}/tmp/application/;pwd;ruby .opal_compiler.rb`
146
148
  end
147
149
 
@@ -264,40 +266,40 @@ def wasm_initialize (source, destination, project_name, wasi_source)
264
266
  `cd /d #{wasm_temp_folder} && curl -LO https://github.com/ruby/ruby.wasm/releases/download/2023-11-17-a/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz
265
267
  `
266
268
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
267
- # Code à exécuter sous MacOS
269
+ # code to exec with MacOS
268
270
  # `cd #{wasm_temp_folder};curl -LO https://github.com/ruby/ruby.wasm/releases/latest/download/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
269
271
  `cd #{wasm_temp_folder};curl -LO https://github.com/ruby/ruby.wasm/releases/download/2023-11-17-a/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
270
272
  # debug : https://github.com/ruby/ruby.wasm/releases/download/2023-11-17-a/ruby-3_2-wasm32-unknown-wasi-minimal-js-debug.tar.gz
271
273
  # standard : `cd #{wasm_temp_folder};curl -LO https://github.com/ruby/ruby.wasm/releases/download/2023-11-17-a/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
272
274
 
273
275
  else
274
- # Code à exécuter sous Unix/Linux
276
+ # code to exec with Unix/Linux
275
277
  `cd #{wasm_temp_folder};curl -LO https://github.com/ruby/ruby.wasm/releases/download/2023-11-17-a/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
276
278
  end
277
279
 
278
280
  end
279
281
 
280
282
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
281
- # Code à exécuter sous Windows
283
+ # code to exec with Windows
282
284
  application_location = "#{destination}\\#{project_name}"
283
285
 
284
286
  `cd /d #{wasm_temp_folder} && tar xfz ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
285
287
  `move #{wasm_temp_folder}\\3_2-wasm32-unknown-wasi-full-js\\usr\\local\\bin\\ruby #{wasm_temp_folder}\\system_ruby_browser.wasm`
286
288
  `del #{application_location}\\src\\wasm\\ruby_browser.wasm`
287
289
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
288
- # Code à exécuter sous MacOS
290
+ # code to exec with MacOS
289
291
  `cd #{wasm_temp_folder}; tar xfz ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
290
292
  `mv #{wasm_temp_folder}/3_2-wasm32-unknown-wasi-full-js/usr/local/bin/ruby #{wasm_temp_folder}/system_ruby_browser.wasm`
291
293
  `rm -f #{application_location}/src/wasm/ruby_browser.wasm`
292
294
  else
293
- # Code à exécuter sous Unix/Linux
295
+ # code to exec with Unix/Linux
294
296
  `cd #{wasm_temp_folder}; tar xfz ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz`
295
297
  `mv #{wasm_temp_folder}/3_2-wasm32-unknown-wasi-full-js/usr/local/bin/ruby #{wasm_temp_folder}/system_ruby_browser.wasm`
296
298
  `rm -f #{application_location}/src/wasm/ruby_browser.wasm`
297
299
  end
298
300
 
299
301
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
300
- # Code à exécuter sous Windows
302
+ # code to exec with Windows
301
303
  cmd = <<~STRDELIM
302
304
  "#{application_location}\\src-wasm\\wasm\\#{wasi_source}" pack "#{wasm_temp_folder}\\system_ruby_browser.wasm"
303
305
  -mapdir usr::"#{wasm_temp_folder}\\3_2-wasm32-unknown-wasi-full-js\\usr"
@@ -307,7 +309,7 @@ def wasm_initialize (source, destination, project_name, wasi_source)
307
309
  -o "#{application_location}\\src\\wasm\\ruby_browser.wasm"
308
310
  STRDELIM
309
311
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
310
- # Code à exécuter sous MacOS
312
+ # code to exec with MacOS
311
313
  cmd = <<~STRDELIM
312
314
  #{application_location}/src-wasm/wasm/#{wasi_source} pack #{wasm_temp_folder}/system_ruby_browser.wasm
313
315
  --mapdir usr::#{wasm_temp_folder}/3_2-wasm32-unknown-wasi-full-js/usr
@@ -317,7 +319,7 @@ def wasm_initialize (source, destination, project_name, wasi_source)
317
319
  -o #{application_location}/src/wasm/ruby_browser.wasm
318
320
  STRDELIM
319
321
  else
320
- # Code à exécuter sous Unix/Linux
322
+ # code to exec with Unix/Linux
321
323
  cmd = <<~STRDELIM
322
324
  #{application_location}/src-wasm/wasm/#{wasi_source} pack #{wasm_temp_folder}/system_ruby_browser.wasm
323
325
  --mapdir usr::#{wasm_temp_folder}/3_2-wasm32-unknown-wasi-full-js/usr
@@ -347,14 +349,13 @@ end
347
349
  def build_for_osx(destination, mode = :dev)
348
350
  # dev or build
349
351
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
350
- # Code à exécuter sous Windows
352
+ # code to exec with Windows
351
353
  `cd /d #{destination} && cargo tauri #{mode}`
352
-
353
354
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
354
- # Code à exécuter sous MacOS
355
+ # code to exec with MacOS
355
356
  `cd #{destination};cargo tauri #{mode}`
356
357
  else
357
- # Code à exécuter sous Unix/Linux
358
+ # code to exec with Unix/Linux
358
359
  `cd #{destination};cargo tauri #{mode}`
359
360
  end
360
361
 
@@ -363,13 +364,13 @@ end
363
364
  def build_for_server(destination, project_name, port, production)
364
365
  prod = '--env production' if production
365
366
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
366
- # Code à exécuter sous Windows
367
+ # code to exec with Windows
367
368
  `cd /d #{destination}\\#{project_name}\\server && puma --port #{port} #{prod}`
368
369
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
369
- # Code à exécuter sous MacOS
370
+ # code to exec with MacOS
370
371
  `cd #{destination}/#{project_name}/server;puma --port #{port} #{prod}`
371
372
  else
372
- # Code à exécuter sous Unix/Linux
373
+ # code to exec with Unix/Linux
373
374
  `cd #{destination}/#{project_name}/server;puma --port #{port} #{prod}`
374
375
  end
375
376
 
@@ -385,16 +386,16 @@ location = '/'
385
386
  project_name = ARGV[1]
386
387
 
387
388
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
388
- # Code à exécuter sous Windows
389
+ # code to exec with Windows
389
390
  destination = `cd`.chomp
390
391
  wasi_file = 'wasi-vfs.exe'
391
392
 
392
393
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
393
- # Code à exécuter sous MacOS
394
+ # code to exec with MacOS
394
395
  destination = `pwd`.chomp
395
396
  wasi_file = 'wasi-vfs-osx_arm' # default to osx arm
396
397
  else
397
- # Code à exécuter sous Unix/Linux
398
+ # code to exec with Unix/Linux
398
399
  destination = `pwd`.chomp
399
400
  wasi_file = 'wasi-vfs-unix'
400
401
  end
@@ -405,16 +406,7 @@ source = Pathname(__FILE__).parent.parent.to_s
405
406
  if ARGV.include?('create')
406
407
  create_application(source, destination, project_name)
407
408
  # create_application(source, destination, project_name, production)
408
- wasm_common(source, destination, project_name, wasi_file, :universal)
409
- # build opal
410
- build_opal_library(source, destination, project_name)
411
- # build parser
412
- build_opal_parser(source, destination, project_name)
413
- # build atome kernel
414
- build_atome_kernel_for_opal(source, destination, project_name)
415
- # build Opal extensions
416
- build_opal_extensions(source, destination, project_name)
417
- # build application
409
+
418
410
  build_opal_application(source, destination, project_name)
419
411
  end
420
412
 
@@ -448,13 +440,13 @@ end
448
440
  if ARGV.include?('run')
449
441
 
450
442
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
451
- # Code à exécuter sous Windows
443
+ # code to exec with Windows
452
444
  current_path = `cd`.chomp
453
445
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
454
- # Code à exécuter sous MacOS
446
+ # code to exec with MacOS
455
447
  current_path = `pwd`.chomp
456
448
  else
457
- # Code à exécuter sous Unix/Linux
449
+ # code to exec with Unix/Linux
458
450
  current_path = `pwd`.chomp
459
451
  end
460
452
  segments = current_path.split("/")
@@ -475,13 +467,13 @@ if ARGV.include?('run')
475
467
  sleep 1
476
468
 
477
469
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
478
- # Code à exécuter sous Windows
470
+ # code to exec with Windows
479
471
  `start "" "#{destination}\\#{project_name}\\src\\index_opal.html`
480
472
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
481
- # Code à exécuter sous MacOS
473
+ # code to exec with MacOS
482
474
  `open http://localhost:9292`
483
475
  else
484
- # Code à exécuter sous Unix/Linux
476
+ # code to exec with Unix/Linux
485
477
  `open http://localhost:9292`
486
478
  end
487
479
 
@@ -506,16 +498,23 @@ if ARGV.include?('run')
506
498
  wasm_common(source, destination, project_name, wasi_file, 'pure_wasm')
507
499
 
508
500
  if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
509
- # Code à exécuter sous Windows
501
+ # code to exec with Windows
510
502
  `start "" "#{current_path}\\src\\index.html"`
511
503
  elsif RbConfig::CONFIG['host_os'] =~ /darwin|mac os/
512
- # Code à exécuter sous MacOS
504
+ # code to exec with MacOS
513
505
  `open #{current_path}/src/index.html`
514
506
  else
515
- # Code à exécuter sous Unix/Linux
507
+ # code to exec with Unix/Linux
516
508
  `open #{current_path}/src/index.html`
517
509
  end
518
510
 
519
511
  end
520
512
 
521
513
  end
514
+
515
+
516
+ # if ARGV.include?('build')
517
+ # puts "kool"
518
+ # # path = found_path('build')
519
+ # # build_app(path, production)
520
+ # end
data/lib/atome/version.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # return atome version
3
4
  class Atome
4
- VERSION = '0.5.5.6.8'
5
+ VERSION = '0.5.5.6.9'
5
6
  end
@@ -1,3 +1,4 @@
1
- # task :build do
2
- # `atome build`
3
- # end
1
+ # used by guard , see ./Guardfile
2
+ task :build do
3
+ `atome build`
4
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  # my code here ..
4
4
 
5
+ box({id: :my_box})
5
6
  # open the console in your browser ou your native app and should see the text below
6
7
  puts "hello world"
7
8
 
@@ -218,99 +218,98 @@ function fileForOpal(parent, bloc) {
218
218
  })
219
219
 
220
220
  }
221
- //
222
- // function importer(){
223
- //
224
- // // Gestionnaire pour le drag and drop de fichiers
225
- // document.body.addEventListener('dragover', function(e) {
226
- // e.preventDefault(); // Nécessaire pour autoriser le drop
227
- // // Modifier le style si nécessaire
228
- // });
229
- //
230
- // document.body.addEventListener('drop', function(e) {
231
- // e.preventDefault();
232
- // let files = e.dataTransfer.files; // Obtention de la liste des fichiers déposés
233
- //
234
- // if (files.length) {
235
- // // Parcourir chaque fichier
236
- // for (let i = 0; i < files.length; i++) {
237
- // let file = files[i];
238
- // let reader = new FileReader();
239
- //
240
- // // Lire le fichier en tant que texte
241
- // reader.readAsText(file);
242
- //
243
- // // Événement déclenché une fois la lecture terminée
244
- // reader.onload = function() {
245
- // console.log('Contenu du fichier #' + (i + 1));
246
- // console.log('Nom: ' + file.name);
247
- // console.log('Type: ' + file.type);
248
- // console.log('Taille: ' + file.size + ' octets');
249
- // console.log('Contenu: \n' + reader.result); // Affichage du contenu du fichier
250
- // };
251
- //
252
- // // Gestion des erreurs de lecture
253
- // reader.onerror = function() {
254
- // console.error('Erreur de lecture du fichier: ' + file.name);
255
- // };
256
- // }
257
- // }
258
- // // if (e.dataTransfer.files.length) {
259
- // // alert (e.dataTransfer.files);
260
- // // // Traiter les fichiers déposés
261
- // // }
262
- // });
263
- //
264
- // // Gestionnaire pour les éléments div
265
- // var divs = document.querySelectorAll('.draggable-div');
266
- // divs.forEach(function(div) {
267
- // div.addEventListener('dragstart', function(e) {
268
- // e.dataTransfer.setData('text/plain', 'some-data');
269
- // e.stopPropagation(); // Empêcher la propagation au body
270
- // });
271
- // });
272
- //
273
- // }
274
- //
275
- // importer()
276
- //
277
- //
278
- // function exception_import (){
279
- // // Sélectionner la div spéciale par son ID
280
- // var specialDiv = document.getElementById('exept');
281
- //
282
- // // Gestionnaire d'événements pour la 'special-div' pour le drag over
283
- // specialDiv.addEventListener('dragover', function(e) {
284
- //
285
- // specialDiv.style.backgroundColor= 'red';
286
- // e.preventDefault(); // Prévenir le comportement par défaut
287
- // e.stopPropagation(); // Arrêter la propagation de l'événement
288
- // });
289
- // specialDiv.addEventListener('dragleave', function(e) {
290
- // specialDiv.style.backgroundColor = 'yellow'; // Réinitialiser la couleur de fond lors du drag out
291
- // e.stopPropagation(); // Arrêter la propagation de l'événement
292
- // });
293
- // // Gestionnaire d'événements pour la 'special-div' pour le drop
294
- // specialDiv.addEventListener('drop', function(e) {
295
- // e.preventDefault(); // Prévenir le comportement par défaut
296
- // e.stopPropagation(); // Arrêter la propagation de l'événement
297
- //
298
- // // Traitement spécifique pour les fichiers déposés sur la 'special-div'
299
- // console.log('Fichier déposé dans la zone spéciale');
300
- // });
301
- //
302
- // // Gestionnaire d'événements pour le body pour le drop
303
- // // document.body.addEventListener('drop', function(e) {
304
- // // e.preventDefault(); // Prévenir le comportement par défaut
305
- // //
306
- // // // Traitement pour les fichiers déposés en dehors de la 'special-div'
307
- // // console.log('Fichier déposé hors de la zone spéciale');
308
- // // });
309
- //
310
- //
311
- // }
312
- // setTimeout(function () {
313
- // exception_import();
314
- // console.log('ready');
315
- // }, 3000);
316
221
 
222
+ function importer(){
223
+
224
+ // Gestionnaire pour le drag and drop de fichiers
225
+ document.body.addEventListener('dragover', function(e) {
226
+ e.preventDefault(); // Nécessaire pour autoriser le drop
227
+ // Modifier le style si nécessaire
228
+ });
229
+
230
+ document.body.addEventListener('drop', function(e) {
231
+ e.preventDefault();
232
+ let files = e.dataTransfer.files; // Obtention de la liste des fichiers déposés
233
+
234
+ if (files.length) {
235
+ // Parcourir chaque fichier
236
+ for (let i = 0; i < files.length; i++) {
237
+ let file = files[i];
238
+ let reader = new FileReader();
239
+
240
+ // Lire le fichier en tant que texte
241
+ reader.readAsText(file);
242
+
243
+ // Événement déclenché une fois la lecture terminée
244
+ reader.onload = function() {
245
+ console.log('Contenu du fichier #' + (i + 1));
246
+ console.log('Nom: ' + file.name);
247
+ console.log('Type: ' + file.type);
248
+ console.log('Taille: ' + file.size + ' octets');
249
+ console.log('Contenu: \n' + reader.result); // Affichage du contenu du fichier
250
+ };
251
+
252
+ // Gestion des erreurs de lecture
253
+ reader.onerror = function() {
254
+ console.error('Erreur de lecture du fichier: ' + file.name);
255
+ };
256
+ }
257
+ }
258
+ // if (e.dataTransfer.files.length) {
259
+ // alert (e.dataTransfer.files);
260
+ // // Traiter les fichiers déposés
261
+ // }
262
+ });
263
+
264
+ // Gestionnaire pour les éléments div
265
+ var divs = document.querySelectorAll('.draggable-div');
266
+ divs.forEach(function(div) {
267
+ div.addEventListener('dragstart', function(e) {
268
+ e.dataTransfer.setData('text/plain', 'some-data');
269
+ e.stopPropagation(); // Empêcher la propagation au body
270
+ });
271
+ });
272
+
273
+ }
274
+
275
+ importer()
276
+
277
+
278
+ function exception_import (){
279
+ // Sélectionner la div spéciale par son ID
280
+ var specialDiv = document.getElementById('my_box');
281
+
282
+ // Gestionnaire d'événements pour la 'special-div' pour le drag over
283
+ specialDiv.addEventListener('dragover', function(e) {
284
+
285
+ specialDiv.style.backgroundColor= 'red';
286
+ e.preventDefault(); // Prévenir le comportement par défaut
287
+ e.stopPropagation(); // Arrêter la propagation de l'événement
288
+ });
289
+ specialDiv.addEventListener('dragleave', function(e) {
290
+ specialDiv.style.backgroundColor = 'yellow'; // Réinitialiser la couleur de fond lors du drag out
291
+ e.stopPropagation(); // Arrêter la propagation de l'événement
292
+ });
293
+ // Gestionnaire d'événements pour la 'special-div' pour le drop
294
+ specialDiv.addEventListener('drop', function(e) {
295
+ e.preventDefault(); // Prévenir le comportement par défaut
296
+ e.stopPropagation(); // Arrêter la propagation de l'événement
297
+
298
+ // Traitement spécifique pour les fichiers déposés sur la 'special-div'
299
+ console.log('Fichier déposé dans la zone spéciale');
300
+ });
301
+
302
+ // Gestionnaire d'événements pour le body pour le drop
303
+ document.body.addEventListener('drop', function(e) {
304
+ e.preventDefault(); // Prévenir le comportement par défaut
305
+
306
+ // Traitement pour les fichiers déposés en dehors de la 'special-div'
307
+ console.log('Fichier déposé hors de la zone spéciale');
308
+ });
309
+
310
+
311
+ }
312
+ setTimeout(function () {
313
+ exception_import();
314
+ console.log('ready');
315
+ }, 3000);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5.6.8
4
+ version: 0.5.5.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Eric Godard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-26 00:00:00.000000000 Z
11
+ date: 2023-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arduino_firmata
@@ -318,6 +318,34 @@ dependencies:
318
318
  - - "~>"
319
319
  - !ruby/object:Gem::Version
320
320
  version: '0.1'
321
+ - !ruby/object:Gem::Dependency
322
+ name: win32-security
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: 0.5.0
328
+ type: :runtime
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: 0.5.0
335
+ - !ruby/object:Gem::Dependency
336
+ name: tzinfo-data
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: 1.2023.4
342
+ type: :runtime
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: 1.2023.4
321
349
  description: the creative framework.
322
350
  email:
323
351
  - jeezs@atopme.one