npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

hops-typescript

v15.2.1

Published

TypeScript support for Hops applications

Downloads

262

Readme

hops-typescript

npm

Please see the main Hops Readme for general information and a Getting Started Guide.

This is a preset for Hops that can be used to enable TypeScript support for Hops projects.

Installation

Add this preset to your existing Hops React project:

npm install --save hops-typescript typescript

If you don't already have an existing Hops project read this section on how to set up your first Hops project.

Usage

Once this preset is installed and you have a tsconfig.json in your application root you can start writing your app using TypeScript.

Check out this integration test as an example for how to use this preset.

Configuration

The only required configuration is a tsconfig.json in your project root.

This preset contains a minimal tsconfig.json file which we recommend you extend in your tsconfig.json:

Example:

{
  "extends": "hops-typescript/tsconfig.json"
}

Whether you extend the given TS config or completely provide your own — please take care to not overwrite the properties compilerOptions.moduleResolution and compilerOptions.target, because those are vital for Hops to work properly!

Using static assets

While it's a pre-configured feature in Hops to be able to import and make use of .css-, .jpg-, .png-, .gif, .webp-, .html- and .json-files, this unfortunately is not supported out-of-the-box in hops-typescript. If you try to do this in Typescript the compiler will complain, stating: Cannot find module '<path to asset file>'.ts (2307).

Fortunately there's a way to enable this feature! First of all create a folder ./typings in the root of your project and put a file named assets.d.ts with the following contents into it:

declare module '*.jpg';
declare module '*.png';
declare module '*.gif';
declare module '*.webp';
declare module '*.css';
declare module '*.html';
declare module '*.json';

Register those typings by defining the "typeRoots"-property in your tsconfig.file like this:

{
  "typeRoots": ["./node_modules/@types", "./typings"]
}

Now the Typescript compiler will look at ./node_modules/@types and ./typings for type declarations. It will — among others — find your declaration file for static asset "modules" and won't complain any longer when you import one of them. Note that by doing it this way every asset import is of type any.

Btw: by default the compiler only looks at ./node_modules/@types for type declarations. Since there's now another location, you can use this to put declarations into the ./typings-folder for modules that neither bring their own type declarations, nor have typings over at DefinitelyTyped (the source off all the @types/* modules).

If you want to know more about writing declaration files, check out the documentation.

Preset Options

This preset has no preset configuration options.

Render Options

This preset has no runtime configuration options.