Skip to content

Commit ec46486

Browse files
committed
Make sure definitions are only generated for ESM module. Fixes 316.
1 parent 83d65bb commit ec46486

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ nft_path(123456789012345678901234567890n)
1111
// => /nfts/123456789012345678901234567890
1212
```
1313

14+
* Fix rake task for non-esm modules. [#316](https://github.com/railsware/js-routes/issues/316)
15+
1416
## [2.3.4]
1517

1618
* Fix deprecator usage in `rake js:routes:typescript` [#327](https://github.com/railsware/js-routes/issues/327)

lib/js_routes.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ def generate(**opts)
3737

3838
sig { params(file_name: FileName, typed: T::Boolean, opts: T.untyped).void }
3939
def generate!(file_name = configuration.file, typed: false, **opts)
40-
Instance.new(file: file_name, **opts).generate!
41-
definitions!(file_name, **opts) if typed
40+
instance = Instance.new(file: file_name, **opts)
41+
instance.generate!
42+
if typed && instance.configuration.modern?
43+
definitions!(file_name, **opts)
44+
end
4245
end
4346

4447
sig { params(file_name: FileName, opts: T.untyped).void }

spec/js_routes/zzz_after_initialization_spec.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,17 @@ def file_content
110110
expect(File.exist?(file)).to be(true)
111111
expect(File.exist?(dir.join('typed_routes.d.ts'))).to be(true)
112112
end
113+
114+
it "skips definitions if module is not ESM" do
115+
file = dir.join('typed_routes.js')
116+
definitions = dir.join('typed_routes.d.ts')
117+
JsRoutes.remove!(file)
118+
expect(File.exist?(file)).to be(false)
119+
expect(File.exist?(definitions)).to be(false)
120+
JsRoutes.generate!(file, module_type: nil, typed: true)
121+
expect(File.exist?(file)).to be(true)
122+
expect(File.exist?(definitions)).to be(false)
123+
end
113124
end
114125

115126

0 commit comments

Comments
 (0)