open-index/open-npm huggingface dataset:
npm package: @gdquest/codemirror-console
Description: Setups a Codemirror view to look and behave like a log console.
Author: GDQuest
Latest version: 0.1.2

# @gdquest/codemirror-console

## `console()` extension

### Purpose

This extension setup a Codemirror view to look and behave like a log console.

- applies codemirror `minimalSetup`
- makes the view read-only;
- automatically snap to the bottom of the feed (unless scrolled);
- line wraps content.

### Usage

```javascript
import { EditorView } from "@codemirror/view";
import { console } from "@gdquest/codemirror-console";

new EditorView({
  extensions: [console()],
});
```

## `consoleErrorLine()` helper

### Purpose

This function highlights a line by adding the `.cm-console-error` class to the line. This is customizable with a theme, but the base color is red.

### Usage

```javascript
import { EditorView } from "@codemirror/view";
import { consoleErrorLine } from "@gdquest/codemirror-console";

const view = new EditorView({
  doc: "Good line\nError line\nGood line",
});

consoleErrorLine(view, 2);
```
npm package: @gdquest/codemirror-freeze
Description: Setups a Codemirror view to  "freeze" code between specific comment tags.
Author: GDQuest
Latest version: 0.1.2

# @gdquest/codemirror-freeze

## `freeze()` extension

### Purpose

This extension setup a Codemirror view to "freeze" code between specific comment tags.

By default, `freeze()` has `"start-freeze"` and `"end-freeze"` as keywords, but it is customizable by passing the new names in parameter.

### Usage

```javascript
import { basicSetup } from "codemirror";
import { EditorView } from "@codemirror/view";
import { javascript } from "@codemirror/lang-javascript";
import { freeze } from "@gdquest/codemirror-freeze";

new EditorView({
  extensions: [basicSetup, javascript(), freeze()],
  doc: `
Hello. This is editable.

// start-freeze
This is frozen. Cannot change this line.
// end-freeze

This part is editable.
`.trim(),
});
```
npm package: @gdquest/codemirror-gd-exercise-theme
Description: Light and dark themes and syntax highlight themes made for GDExercise.
Author: GDQuest
Latest version: 0.1.2

# @gdquest/codemirror-gd-exercise-theme

## `gdExerciseThemeLight` and `gdExerciseThemeDark` themes

### Purpose

These are themes made for GDQuest GDExercise, made for light and dark color schemes.

### Usage

```javascript
import { basicSetup } from "codemirror";
import { EditorView } from "@codemirror/view";
import { javascript } from "@codemirror/lang-javascript";
import {
  gdExerciseThemeLight,
  gdExerciseThemeDark,
} from "@gdquest/codemirror-gd-exercise-theme";

new EditorView({
  extensions: [
    basicSetup,
    javascript(),
    // :: Choose which theme you prefer:
    // gdExerciseThemeLight,
    gdExerciseThemeDark,
  ],
});
```

## `gdExerciseHighlightStyleLight` and `gdExerciseHighlightStyleDark` highlight themes

### Purpose

These are highlight themes made for GDQuest GDExercise, made for light and dark color schemes.

### Usage

```javascript
import { basicSetup } from "codemirror";
import { EditorView } from "@codemirror/view";
import { javascript } from "@codemirror/lang-javascript";
import {
  gdExerciseHighlightStyleLight,
  gdExerciseHighlightStyleDark,
} from "@gdquest/codemirror-gd-exercise-theme";

new EditorView({
  extensions: [
    basicSetup,
    javascript(),
    // :: Choose which theme you prefer:
    // gdExerciseHighlightStyleLight,
    gdExerciseHighlightStyleDark,
  ],
});
```
npm package: @gdquest/codemirror-gdscript
Description: Enables Codemirror to parse GDScript (ie. highlight and indent automatically).
Author: GDQuest
Latest version: 0.1.2

# @gdquest/codemirror-gdscript

## `gdscript` extension

### Purpose

This extension enables Codemirror to parse GDScript (ie. highlight and indent automatically).

### Usage

```javascript
import { basicSetup } from "codemirror";
import { EditorView } from "@codemirror/view";
import { gdscript } from "@gdquest/codemirror-gdscript";

new EditorView({
  extensions: [basicSetup, gdscript()],
});
```
npm package: @gdquest/codemirror-lsp
Description: Enables Codemirror to interact with a local lsp, ie. a LSP that isn't socket-based, but rather work by function calls.
Author: GDQuest
Latest version: 0.1.2

# @gdquest/codemirror-lsp

## `lsp` extension

### Purpose

This extension enables Codemirror interact with a local lsp, ie. a LSP that isn't socket-based, but rather work by function calls.

### Usage

```typescript
import { basicSetup } from "codemirror";
import { EditorView } from "@codemirror/view";
import {
  createLsp,
  type LspConfigData,
  type ServerResponseCallback,
} from "@gdquest/codemirror-lsp";

// Call this function when the server needs to communicate with the LSP
let emitServerCommand: ServerResponseCallback | null = null;

function onClientCommand(jsonRpc: string) {
  // This function is called when codemirror (the client) needs to communicate with the server
}

new EditorView({
  extensions: [
    basicSetup,
    createLsp({
      autocompletion: true,
      onClientCommand,
      getData: (data: LspConfigData) => {
        emitServerCommand = data.emitServerCommand;
      },
    }),
  ],
});
```
npm package: @gdquest/evoliz-api
Description: Provides an SDK and clients for the Evoliz API
Author: GDQuest
Latest version: 1.32.2

# Evoliz Typescript API

Evoliz has an [OpenAPI](https://swagger.io/specification/) specification: https://evoliz.io/api-docs/api-docs.yaml?v=1745933431, but no typescript schemas.

This project generates the types through [HeyApi](https://heyapi.dev/)

Generated items are:

- A fetch-like client: [`./src/client.gen.ts`](./client/client.gen.ts).
- An SDK: [`./src/sdk.gen.ts`](./src/sdk.gen.ts)
- Typescript types: [`./src/types.gen.ts`](./src/types.gen.ts)
- Zod schemas: [`./src/zod.gen.ts`](./src/zod.gen.ts)

### How to build

Run

```sh
deno task build
```
npm package: @gdquest/gd-types
Description: Javascript types for the Godot loader and godot configs.
Author: GDQuest
Latest version: 0.1.2

# @gdquest/gd-types

## Godot Typings

This project provides typings for:

- Godot config files (`project.godot`, `exports.cfg`)
- Godot main in-browser types

It also has some basic parsers to generate config file typings automatically from source files.
npm package: @gdquest/godot-types
Description: Javascript types for the Godot loader and godot configs
Author: GDQuest
Latest version: 1.0.1

# Godot Typings

This project provides typings for:

- Godot config files (`project.godot`, `exports.cfg`)
- Godot main in-browser types

It also has some basic parsers to generate config file typings automatically from source files.
npm package: @gdquest/gwee
Description: Builds a project as automatically as possible, and processes html pages
Author: GDQuest
Latest version: 0.0.34

# Godot Web Easy Export (GWEE)

Aims to make it very easy to generate an html page with a playable build of Godot, containing downloads for other Godot builds (At the moment: Windows, Linux, OSX). 


Specifically, this package:

- compiles Godot 3 and Godot 4 projects
- packages exports in neat zips
- renders HTML using [Eta](https://eta.js.org/) before giving it to Godot. The Eta template receives a bunch of data that can be used, including:
  - The zips downloads list
  - Information about the project (name, date, last commit, branch, etc)
  - The rendered Readme page at the project's root, with YAML frontmatter
- uploads to itch

## How to Use -- Command Line

Assuming you have an alias to `node gwee.mjs`:

Get help:
```bash
gwee --help
```

Get help on a specific command:
```bash
gwee build --help
```

Use `gdquest`, the command that is tailored for GDQuest repos, and export the windows, linux, and web builds from the project `examples/g4`.
Passing `-b beta7` is necessary because there's no way to determine that a project was built with Godot 4 beta7.
It's not necessary to pass `stable`.
```bash
gwee gdquest examples/g4 -b beta7 -p x11,win,web
```
```bash
gwee gdquest examples/g3 -p x11,win,web
```

Same as above, but on a Godot 3 project, and using itch credentials (will automatically upload to itch)
```bash
ITCHIO_GAME=test \\
  ITCHIO_USER=xananax \\
  ITCHIO_API_KEY=oa5s9rf4gGUn3TAV2Kj5DR1sbr91244HC2o8nSO \\
  node %script% gdquest examples/g4 -b beta7 -p x11,win,web
```

You can use a `.env` file in your project root instead of passing environment variables.

## How to use -- Package

This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c)

There's no doc generation at the moment, but the methods are all commented.

## Supported Exports:

Working:

- Linux (`x11`)
- Web (`web`)
- Windows (`win`) (no `rcedit` support yet)

Untested:

- OSX (`osx`)


Not working:

- Android (`android`)
- UWP (`uwp`)
- IOS (`ios`)

## How to dev

The package is written in ES6 with extensive JSDoc. 
It's exhaustively typed, but requires no compilation step, you can just use it.

The (runtime) packages used have each no dependencies, so the dep tree is rather shallow.
npm package: @gdquest/process-course
Description: This script processes the course content into the format compatible with the new GDSchool platform. It is not intended to be used outside of the GDQuest team.
Author: GDQuest
Latest version: 0.1.10-0

# GDQuest Course Processor

This script processes the course content into the format compatible with the GDSchool platform.

Run the script with `--help`.
npm package: @gdquest/rad-utils
Description: A bunch of small, hopefully readable modules that ease development time.
Author: GDQuest
Latest version: 0.1.2

# @gdquest/rad-utils

A bunch of small, hopefully readable modules that ease development time.

## Goals:

- No build step
- No dependencies
- ES6 modules (assume modern JS environments)
- Fully typed (_no_ typescript, entirely JSDoc based)
- Minimal and readable
- Not customizable: the API is the code. To modify, copy-paste in your own project.

## Intended Use

The intended use for this library is either:

1. Load sub-modules directly from a CDN (such as https://esm.sh/) to create applications directly in an html page.
2. prototype quickly, then later rip out the utilities and paste them in your own project once your API solidifies.