Giter Club home page Giter Club logo

spyglass's Introduction

๐Ÿšง Under Heavy Construction ๐Ÿšง

This project is undergoing a complete rewrite. We're almost there.

For the legacy VS Code extension known as Data-pack Helper Plus, check out

Spyglass

Spyglass aims at improving users' editing experience of Minecraft data packs by providing IntelliSense features like real-time error reporting, auto-completion, semantic coloring, code navigation tools, and refactor utilities.


Sample image is from the legacy version of the project

Documentation

WIP at https://spyglassmc.com.

Contributing

  1.  $ git clone https://github.com/SpyglassMC/Spyglass.git
  2. Install Node.js LTS.
  3.  $ npm i && npm run build

If you're using VS Code to develop Spyglass:

  • Install the recommended ESLint extension. Make a copy of .vscode/settings.template.json and rename it to .vscode/settings.json. Now your VS Code should automatically fix all linting errors every time you save the file.
  • Press F5 to run the VS Code extension in development environment (Launch Client). VS Code will automatically compile all packages and build the extension file in watch mode.

Or if you prefer the command line interface:

  • npm run build to build all packages.
  • npm run watch to watch changes and build all packages.
  • npm run clean to remove all js output. Use this when there seem to be caching issues with TypeScript's compiler.
  • npm test to test all packages.
  • npm run lint to check linting errors.
  • npm run lint:fix to fix all auto-fixable linting errors.
  • npm run commit to run the [gitmoji CLI][gitmoji]. You actually don't have to worry about commit message as long as you're creating PR, as I can always change it.

Please refrain from using mocha --watch, as it might interface with and break the snapshot testing.

You can debug tests with breakpoints by running the Run Unit Tests configuration and setting your breakpoints accordingly. If you want to run a specific subset of tests, add .only after the test block (e.g. describe.only(), it.only()).

Code style

Tabs for indents, spaces for alignment. Except do not align things because the available tooling is unfortunately terrible.

Test docs locally

  1. Install Jekyll according to its documentation.
  2. Run npm run docs:start to start a local preview at localhost:4000.

Build Pipeline

The build script at the root level does the following steps in series:

  • Run the build script in ./packages/locales.
  • Run the TypeScript compiler across all packages.
  • Then, do the two steps in parallel:
    1. Run the build script in ./packages/playground.
    2. Run the build script in ./packages/vscode-extension.

Credits

The original Spyglass logo was provided by BlackNight0315. The current logo is provided by asd988.

spyglass's People

Contributors

spgoding avatar misode avatar chencmd avatar renovate-bot avatar spyglasscrafter avatar mulverinex avatar lakejason0 avatar nico314159 avatar actions-user avatar neuneinser avatar dependabot[bot] avatar allcontributors[bot] avatar theafroofdoom avatar weblate avatar ghoulboy78-alt avatar marscloud avatar untitled avatar aeldrion avatar chawdan avatar what7what8 avatar mathis-aymonin avatar rz7d avatar vberlier avatar theaustudio avatar non0reo avatar neylz avatar kefaku avatar joaomoreno avatar ghoulboy78 avatar dianliang233 avatar

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.