Skip to content
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

Convert runtime from NodeJS to Deno (TS as runtime) #413

Closed
wants to merge 42 commits into from

Conversation

webbertakken
Copy link
Member

@webbertakken webbertakken commented Jun 7, 2022

Context

Prerequisite for game-ci/cli#4

Changes

  • Rewrite relative imports to use .ts and not reference folders
  • Handle env variables process.env becomes Deno.env.get()/set()
  • Handle process.platform and other usages of node process.
  • Convert __dirname and __filename to use Deno replacement
  • Convert Node package AWS SDK to use Deno replacement
  • Test AWS flow
  • Convert Node package K8s SDK to use Deno replacement
  • Test K8s flow
  • Convert Node package crypto to use Deno replacement
  • Convert Node package path to use Deno replacement
  • Convert Node package fs (sync) to use Deno replacement
  • Convert Node package fs/promises (async) to use Deno replacement
  • Convert Node package @actions/core to use Deno replacement
  • Convert Node package @actions/exec to use Deno replacement
  • Convert Node package semver to use Deno replacement
  • Convert Node package nanoid to use Deno replacement
  • Convert Node package commander-ts to use Deno replacement
  • Convert Node package uuid to use Deno replacement
  • Convert Node package zlib to use Deno replacement
  • Convert Node package yaml to use Deno replacement
  • Convert Node package console to use Deno replacement
  • Convert Node package child_process to use Deno replacement
  • Convert Node package unity-changeset to use Deno replacement
  • Command deno run -A --unstable src/index.ts not erroring out
  • Port async-wait-until which is currently not available on Deno.
  • Setting composite action to install deno and run deno run -A --unstable src/index.ts with params (pretty much exactly like this as implemented in Draft: feat: introduce deno cli entrypoint #385)
  • Make compatible with /dist
  • Successful build in CI
  • Remove pre-commit build hook that compiles the dist files every time (as we can now run directly from src)
  • Determine whether to release as 2.x or 3.x (technically it doesn't have to be a breaking change per se)
  • Add checks / tests

High level functionality:

  • Load user input
  • Run docker
  • Build project
  • Output files
  • Cloud Runner

Milestones:

  • Separate logic between game engines
  • Separate commands like build, test, remote etc.
  • Separate cli input
  • Separate env input
  • Introduce config folder / input
  • Separate defaults
  • Use all of the above in an intuitive CLI signature

Next steps after completing this:

  • Start writing CLI from Unity Builder logic in Create CLI cli#4 as per v3.0.0 roadmap
  • Move CLI to its own repository and base unity-builder on that CLI
  • base all other actions on that CLI
  • base all other CI systems on that CLI as well

Checklist

  • Read the contribution guide and accept the code of conduct
  • Readme (updated or not needed)
  • Tests (added, updated or not needed)

@github-actions
Copy link

github-actions bot commented Jun 7, 2022

Cat Gif

@webbertakken webbertakken marked this pull request as draft June 7, 2022 22:14
@webbertakken webbertakken changed the title Draft: chore: rewrite imports to deno style chore: rewrite imports to deno style Jun 7, 2022
@webbertakken webbertakken changed the title chore: rewrite imports to deno style Convert runtime from NodeJS to Deno (TS) Jun 7, 2022
@webbertakken webbertakken added the enhancement New feature or request label Jun 7, 2022
@webbertakken webbertakken self-assigned this Jun 7, 2022
@webbertakken webbertakken changed the title Convert runtime from NodeJS to Deno (TS) Convert runtime from NodeJS to Deno (TS as runtime) Jun 7, 2022
@webbertakken
Copy link
Member Author

Asked Mob-sakai if they are up for making unity-changeset Deno-compatible.

mob-sakai/unity-changeset#13

@webbertakken
Copy link
Member Author

Asked Mob-sakai if they are up for making unity-changeset Deno-compatible.

mob-sakai/unity-changeset#13

This was done and incorporated

@webbertakken
Copy link
Member Author

I'm using deno run --allow-all .\src\index.ts build --projectPath=./test-project --buildName=testing -allowDirtyBuild to test the current state

@webbertakken
Copy link
Member Author

Closed in favour of game-ci/cli#1

This is moving to a new repo. The logic of Unity Builder will be replaced by the CLI.

New changes should be added there if there is no rush.

@webbertakken webbertakken deleted the deno-as-runtime branch September 1, 2022 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant