Skip to content

feat: Add missing luau extension, improve extension configuration options #366

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 12, 2025

Conversation

makspll
Copy link
Owner

@makspll makspll commented Mar 12, 2025

Summary

Replaces the mapper struct with a hash map, improves the App and ScriptPlugin traits so that one can choose to add additional extensions easilly in a predictable place either via:
App

app.add_supported_script_extensions(self.additional_supported_extensions, self.language.clone());

or ScriptingPlugin

app.add_plugins(
	LuaScriptingPlugin.set_additional_supported_extensions(&["my_ext"])
)

Also adds a bunch of docs

@makspll makspll enabled auto-merge (squash) March 12, 2025 18:33
@makspll makspll merged commit 7ca94df into main Mar 12, 2025
16 checks passed
@makspll makspll deleted the docs/update-docs branch March 12, 2025 19:12
@github-actions github-actions bot mentioned this pull request Mar 12, 2025
makspll added a commit that referenced this pull request Mar 16, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
…GELOG] (#373)

# Summary
fixes regression introduced in
#366 which caused the
default extensions not to be correctly populated
makspll added a commit that referenced this pull request Mar 16, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
## 🤖 New release

* `bevy_mod_scripting_derive`: 0.9.11 -> 0.10.0
* `bevy_mod_scripting_core`: 0.9.11 -> 0.10.0 (✓ API compatible changes)
* `bevy_mod_scripting_lua`: 0.9.11 -> 0.10.0 (✓ API compatible changes)
* `bevy_mod_scripting_rhai`: 0.9.11 -> 0.10.0 (✓ API compatible changes)
* `bevy_mod_scripting_functions`: 0.9.11 -> 0.10.0 (✓ API compatible
changes)
* `ladfile`: 0.3.1 -> 0.4.0 (⚠ API breaking changes)
* `mdbook_lad_preprocessor`: 0.1.3 -> 0.1.4 (✓ API compatible changes)
* `ladfile_builder`: 0.2.5 -> 0.2.6 (✓ API compatible changes)
* `bevy_mod_scripting`: 0.9.11 -> 0.10.0 (✓ API compatible changes)

### ⚠ `ladfile` breaking changes

```text
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---

Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field LadInstance.type_kind in /tmp/.tmpHaT0UL/bevy_mod_scripting/crates/ladfile/src/lib.rs:97

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/enum_missing.ron

Failed in:
  enum ladfile::LadArgumentKind, previously in file /tmp/.tmpAHPNdG/ladfile/src/lib.rs:171

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field type_id of struct LadInstance, previously in file /tmp/.tmpAHPNdG/ladfile/src/lib.rs:97
```

<details><summary><i><b>Changelog</b></i></summary><p>

## `bevy_mod_scripting_derive`

<blockquote>

##
[0.10.0](bevy_mod_scripting_derive-v0.9.11...bevy_mod_scripting_derive-v0.10.0)
- 2025-03-16

### Added

- [**breaking**] re-design `GetTypeDependencies` trait & add
`GetTypeDependencies` derive macro
([#369](#369))
</blockquote>

## `bevy_mod_scripting_core`

<blockquote>

##
[0.10.0](bevy_mod_scripting_core-v0.9.11...bevy_mod_scripting_core-v0.10.0)
- 2025-03-16

### Added

- *(ladfile)* improve globals in LAD format
([#372](#372))
- add global `types` cache making `get_type_by_name` redundant
([#370](#370))
- [**breaking**] re-design `GetTypeDependencies` trait & add
`GetTypeDependencies` derive macro
([#369](#369))
- shorten import paths
([#367](#367))
- Add missing `luau` extension, improve extension configuration options
([#366](#366))
- allow lua scripts to insert `ScriptComponent`'s
([#359](#359))
- ✨ Parallelizable Script Systems with `Res` and `Query`
parameters & Schedule debugging utilities
([#361](#361))

### Fixed

- supported extensions not including default extensions [SKIP_CHANGELOG]
([#373](#373))
- unit enum variants other than `Option::None` being converted into
`ScriptValue::Unit`
([#360](#360))

### Other

- [**breaking**] Merge `ScriptContexts<T>` into `Scripts<T>` + Remove
`Sync` bound from Contexts
([#350](#350))
</blockquote>

## `bevy_mod_scripting_lua`

<blockquote>

##
[0.10.0](bevy_mod_scripting_lua-v0.9.11...bevy_mod_scripting_lua-v0.10.0)
- 2025-03-16

### Added

- Add missing `luau` extension, improve extension configuration options
([#366](#366))

### Fixed

- [**breaking**] script contexts being completely overwritten on a
re-load ([#345](#345))

### Other

- [**breaking**] Merge `ScriptContexts<T>` into `Scripts<T>` + Remove
`Sync` bound from Contexts
([#350](#350))
</blockquote>

## `bevy_mod_scripting_rhai`

<blockquote>

##
[0.10.0](bevy_mod_scripting_rhai-v0.9.11...bevy_mod_scripting_rhai-v0.10.0)
- 2025-03-16

### Added

- Add missing `luau` extension, improve extension configuration options
([#366](#366))
- ✨ Parallelizable Script Systems with `Res` and `Query`
parameters & Schedule debugging utilities
([#361](#361))

### Fixed

- rhai reloading behavior regression from #345 [SKIP_CHANGELOG]
([#351](#351))
- [**breaking**] script contexts being completely overwritten on a
re-load ([#345](#345))

### Other

- [**breaking**] Merge `ScriptContexts<T>` into `Scripts<T>` + Remove
`Sync` bound from Contexts
([#350](#350))
</blockquote>

## `bevy_mod_scripting_functions`

<blockquote>

##
[0.10.0](bevy_mod_scripting_functions-v0.9.11...bevy_mod_scripting_functions-v0.10.0)
- 2025-03-16

### Added

- add global `types` cache making `get_type_by_name` redundant
([#370](#370))
- ✨ Parallelizable Script Systems with `Res` and `Query`
parameters & Schedule debugging utilities
([#361](#361))
</blockquote>

## `ladfile`

<blockquote>

##
[0.4.0](v0.3.1-ladfile...v0.4.0-ladfile)
- 2025-03-16

### Added

- *(ladfile)* improve globals in LAD format
([#372](#372))
</blockquote>

## `mdbook_lad_preprocessor`

<blockquote>

##
[0.1.4](v0.1.3-mdbook_lad_preprocessor...v0.1.4-mdbook_lad_preprocessor)
- 2025-03-16

### Added

- *(ladfile)* improve globals in LAD format
([#372](#372))
</blockquote>

## `ladfile_builder`

<blockquote>

##
[0.2.6](v0.2.5-ladfile_builder...v0.2.6-ladfile_builder)
- 2025-03-16

### Added

- *(ladfile)* improve globals in LAD format
([#372](#372))
</blockquote>

## `bevy_mod_scripting`

<blockquote>

##
[0.10.0](v0.9.11...v0.10.0)
- 2025-03-16

### Added

- add global `types` cache making `get_type_by_name` redundant
([#370](#370))
- ✨ Parallelizable Script Systems with `Res` and `Query`
parameters & Schedule debugging utilities
([#361](#361))
- Add missing `luau` extension, improve extension configuration options
([#366](#366))
- *(ladfile)* improve globals in LAD format
([#372](#372))
- [**breaking**] re-design `GetTypeDependencies` trait & add
`GetTypeDependencies` derive macro
([#369](#369))
- shorten import paths
([#367](#367))
- allow lua scripts to insert `ScriptComponent`'s
([#359](#359))

### Fixed

- rhai reloading behavior regression from #345 [SKIP_CHANGELOG]
([#351](#351))
- [**breaking**] script contexts being completely overwritten on a
re-load ([#345](#345))
- supported extensions not including default extensions [SKIP_CHANGELOG]
([#373](#373))
- unit enum variants other than `Option::None` being converted into
`ScriptValue::Unit`
([#360](#360))

### Other

- [**breaking**] Merge `ScriptContexts<T>` into `Scripts<T>` + Remove
`Sync` bound from Contexts
([#350](#350))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Maksymilian Mozolewski <[email protected]>
This was referenced Mar 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant