Giter VIP home page Giter VIP logo

IsaacScript

Logo


Discord

IsaacScript is a tool to help you create Binding of Isaac: Repentance mods using TypeScript.

Please visit the official website for more information. You can also join the Discord server.

This is the monorepo that houses the various packages in the ecosystem.


Packages

Each project in the monorepo is contained within the "packages" directory.

Name Description Version
docs The Docusaurus website. n/a
eslint-config-isaacscript A sharable ESLint config for TypeScript and IsaacScript projects. npm version
eslint-plugin-isaacscript An ESLint plugin that contains useful rules. npm version
isaac-lua-polyfill Polyfills for testing Isaac mods using TypeScript. npm version
isaac-typescript-definitions TypeScript definitions for the The Binding of Isaac: Repentance API. npm version
isaacscript-cli The command-line tool for managing Isaac mods written in TypeScript. npm version
isaacscript-common Helper functions and features for IsaacScript mods. npm version
isaacscript-common-node Helper functions for Node.js projects. npm version
isaacscript-common-ts Helper functions for TypeScript projects. npm version
isaacscript-lint A linting dependency meta-package for IsaacScript and TypeScript projects. npm version
isaacscript-lua A tool for managing IsaacScript libraries in Lua projects. pypi version
isaacscript-spell Spelling dictionaries for The Binding of Isaac: Repentance. npm version
isaacscript-tsconfig A sharable TypeScript config for TypeScript and IsaacScript projects. npm version

Getting Started with Development

For getting started in building your own mods, see the website. For contributing to the IsaacScript project itself, read on.

  • Download and install Node.js, if you do not have it already.
  • Download and install Git, if you do not have it already.
  • Download and install VSCode, if you do not have it already.
  • Open a new command prompt window or shell of your choice.
  • Configure Git, if you have not done so already:
    • git config --global user.name "Your_Username"
    • git config --global user.email "[email protected]"
  • Fork the IsaacScript repository by clicking on the "Fork" button in the top-right-hand corner of this page.
  • Clone the forked repository:
    • cd [the path where you want the code to live]
    • If you already have an SSH key pair and have the public key attached to your GitHub profile, then use the following command to clone the repository via SSH:
      • git clone [email protected]:[username]/isaacscript.git
        (replace "[username]" with your GitHub username)
    • If you do not already have an SSH key pair, then use the following command to clone the repository via HTTPS:
      • git clone https://github.com/[username]/isaacscript.git
        (replace "[username]" with your GitHub username)
  • Enter the cloned repository:
    • cd isaacscript
  • Ensure that Yarn is installed:
    • corepack enable
  • Install dependencies:
    • yarn install
  • Open the monorepo in VSCode:
    • code .

Working with isaacscript-common

If you want to fix a bug or add a new feature to isaacscript-common, then you need to set up a testing mod that links to your compiled development version. (This is so that you can test out your changes inside of the game.)

Making a New Mod

The isaacscript command line tool has a --dev flag that will set up a new testing mod for you automatically:

npx isaacscript@latest init test --dev

This command will initialize a new mod named "test" and then automatically link it to your locally compiled isaacscript-common. Additionally, when you initiate the IsaacScript file watcher in your mod, it will also spawn an additional watcher process for the files in isaacscript-common.

Using an Existing Mod

Testing with a brand new mod is recommended, but it is also possible to use an existing mod. Just set "isaacScriptCommonDev": true in your isaacscript.json file and then start IsaacScript. (Doing this will automatically set up the local Yarn link.)

Make sure that your existing mod project uses Yarn as the package manager, or the link won't work properly.

isaacscript's Projects

isaacscript icon isaacscript

IsaacScript is a tool to help you create Binding of Isaac: Repentance mods using TypeScript.

typescript-eslint icon typescript-eslint

:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.