@server-state/types

Types for Server State and their projects

Usage no npm install needed!

<script type="module">
  import serverStateTypes from 'https://cdn.skypack.dev/@server-state/types';
</script>

README

Server State TypeScript Definitions

npm: @server-state/types

GitHub Twitter Follow

Standard TypeScript definitions for use in Server State projects.

Installation

First, add it as a development dependency to your project:

npm install --save-dev @server-state/types

After the installation, check out the provided types:

import { Extension } from '@server-state/types';

const myExtension: Extension<MyConfig> = (config, api) => {
    //...
    return {
        name: 'MyExtension'
    };
};

You can also, optionally, add the package to your tsconfig.json's compilerOptions.typeRoots array to get access to the most common types via the global ServerStateTypes namespace:

// tsconfig.json
{
    compilerOptions: {
        typeRoots: [
            'node_modules/@server-state/types',
            'node_modules/@types'
            // [...]
        ]
        // [...]
    }
    // [...]
}
// some TypeScript source file

let a: ServerStateTypes.JsonSerializable;

Namespace access is handy when you write in JavaScript and don't want to use import('@server-state/types') everywhere in your JSDoc comments:

// some JavaScript source file

/**
 * @type {ServerStateTypes.JsonSerializable}
 */
let a;

// instead of

/**
 * @type {import('@server-state/types').JsonSerializable}
 */
let b;

For all complete list of types, check out the reference: types.server-state.tech

Package structure

.
├── sample (samples for the types, useful for testing the types)
│   ├── sample.ts
│   ├── sample-js.js
│   └── tsconfig.json
├── src
│   ├── index.ts
│   └── [...]
├── types (built-in build script)
│   ├── index.d.ts
│   └── [...]
├── CHANGELOG.md (DO NOT TOUCH! auto-generated changelog for the package)
├── LICENSE
├── package.json
├── README.md (you're here :P)
└── [...] (configuration files)

Contributing

Coming soon :wink:

Contributors

Thank you to all contributors of this repository:

Contributors

Made with contributors-img.

About

This repository is part of Server State, a project by fliegwerk.