typesmith 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0be7f76ef2535622a2b8e2c2b9c528445defdc3e3736f9684aef5159a024ff4b
4
- data.tar.gz: db2ebc0ad2a376c267ce640fde21f097370f312a905a9ca52a446ed02fab18ac
3
+ metadata.gz: a7f4e800264a5c0dd9fe51e09f4969c154dba5f1f693ce1f699d6dc542fb800b
4
+ data.tar.gz: aa95236c68def51f5e1d866b4d340a5f6832d43e8fe88e6c869b9ccb061baee4
5
5
  SHA512:
6
- metadata.gz: 37055f3d12290dee9d2dadbcaa4d5d6f1079423845c1eb62b618b42efa1701023e10e14f4f3c629ac59573052738ebed73df991f5c2db40906eeb9e75d703060
7
- data.tar.gz: 33a839e5c5db9fc3824e2c34f453911a33191a3f7ea41e668ae7f2048cfefa267ecfb5370bfb54a871fc56011b88bf9215fb5921a989d7d4e6c51a7cc41dddc2
6
+ metadata.gz: 3e735a1bb14b254d8b71eddb4621e6804b7b1ff32424478e919bc2bbc5daf643462cb97a6ae4dffd774f8d3cda5651525bca1940550d7ab153736e71c26f1acc
7
+ data.tar.gz: 38af486d897e05a7c27a8faf943035a77550253e82c97db3185256e114edf25b8dfe69ee2a0cd2009e5c39b57b551ed20c817df5fa7b5edeed87f3b51872605b
@@ -10,9 +10,19 @@ module Typesmith
10
10
  new.generate_all(base_path: base_path)
11
11
  end
12
12
 
13
+ HEADER = <<-HEADER
14
+ /**
15
+ * This file was auto-generated by Typesmith. DO NOT EDIT.
16
+ * https://github.com/johnpanos/typesmith
17
+ */
18
+
19
+ HEADER
20
+
13
21
  def generate_all(base_path:)
14
22
  @base_path = base_path
15
23
 
24
+ FileUtils.rm_rf(@base_path)
25
+
16
26
  definition_classes = ObjectSpace.each_object(Class).select { |klass| klass < Definition }.filter(&:name)
17
27
  generated_files = definition_classes.map { |klass| generate_typescript_file(klass) }
18
28
  generate_index_files(generated_files)
@@ -28,7 +38,9 @@ module Typesmith
28
38
  FileUtils.mkdir_p(directory)
29
39
 
30
40
  file_name = "#{File.basename(module_path)}.ts"
31
- content = generate_imports(klass)
41
+
42
+ content = HEADER
43
+ content += generate_imports(klass)
32
44
  content += klass.to_typescript
33
45
 
34
46
  full_path = File.join(directory, file_name)
@@ -110,7 +122,8 @@ module Typesmith
110
122
  directories.each do |directory|
111
123
  files_in_directory = generated_files.select { |file| File.dirname(file[:path]) == directory }
112
124
 
113
- index_content = files_in_directory.map do |file|
125
+ index_content = HEADER
126
+ index_content += files_in_directory.map do |file|
114
127
  file_name = File.basename(file[:path], ".ts")
115
128
  "export { #{file[:type_name]} } from './#{file_name}';"
116
129
  end.join("\n")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Typesmith
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typesmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Panos