Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thinknathan/ts-defold-tstl-trim-extensions

TypeScript-to-Lua plugin that strips the final extension from files with nested extensions. Dedicated to @ts-defold
https://github.com/thinknathan/ts-defold-tstl-trim-extensions

defold defold-game-engine gamedev lua tstl tstl-plugin typescript

Last synced: 14 days ago
JSON representation

TypeScript-to-Lua plugin that strips the final extension from files with nested extensions. Dedicated to @ts-defold

Awesome Lists containing this project

README

        

# tstl-trim-extensions

[![CI](https://github.com/thinknathan/ts-defold-tstl-trim-extensions/actions/workflows/ci.yml/badge.svg)](https://github.com/thinknathan/ts-defold-tstl-trim-extensions/actions/workflows/ci.yml) ![GitHub License](https://img.shields.io/github/license/thinknathan/ts-defold-tstl-trim-extensions) Chat with us!

TypeScriptToLua plugin that strips the final extension from files with nested extensions.

Used by [@ts-defold](https://github.com/ts-defold).

## Installation

1. Install this plugin.

```bash
yarn add tstl-trim-extensions -D
# or
npm install tstl-trim-extensions --save-dev
```

2. Add this plugin to the `tstl.luaPlugins` section of `tsconfig.json`.

```diff
"tstl": {
"luaPlugins": [
{
+ "name": "tstl-trim-extensions"
}
]
}
```

### Update an existing TS-Defold project

1. Install this plugin as described above.
2. Update `TypeScriptToLua` to v1.5.0 or newer.
3. Remove `"trimExtensions": true` from the `tstl` section of `tsconfig.json`.

```diff
{
"tstl": {
- "trimExtensions": true,
}
}
```

## Example

Files with multiple nested extensions will have their final extension (`.lua` by default) stripped.

`player.script.ts` will be output as `player.script`

Files without multiple extensions will not be changed by this plugin.

`player.ts` will be output as `player.lua` as usual.


TypeScript :heart: Defold

## License

MIT