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

@code-to-json/test-helpers

v1.0.0-rc.48

Published

Test helpers for code-to-json

Downloads

373

Readme

@code-to-json/test-helpers

Build Status Build Status Version codecov Total alerts

This package contains a variety of test helpers, useful for testing tools built on top of the TypeScript compiler API in general, and code-to-json in particular

Usage

createTempFixtureFolder

Create collection of files and folders in your OS system temp folder

You may either refer to an existing folder on disk

import { createTempFixtureFolder } from '@code-to-json/test-helpers';

// Create the test case in your system temp folder
const { rootPath, cleanup } = await createTempFixtureFolder('path/to/my/fixture/on/disk');

cleanup(); // Completely delete the test case from disk

or describe your fixture using a plain JS/TS object

import { createTempFixtureFolder } from '@code-to-json/test-helpers';

// Create the test case in your system temp folder
const { rootPath, cleanup } = await createTempFixtureFolder({
  // ./tsconfig.json
  'tsconfig.json': `
{
  "compilerOptions": {
    "noEmit": true,
    "module": "es6",
    "target": "es2015"
  },
  "include": ["src"]
}
  `,
  src: {
    // ./src/index.ts
    'index.ts': `
/**
* This is a variable with an explicit type
*/
const constWithExplicitType: string = 'foo';
`,
  },
});

cleanup(); // Completely delete the test case from disk

setupTestCase

Create the same folder structure described above for createTempFixtureFolder, and also initialize it as a TypeScript program.

import * as ts from 'typescript';
import { setupTestCase } from '@code-to-json/test-helpers';

// Create the test case in your system temp folder
const program: ts.Program = await setupTestCase(
  /**
   * Root folder of the fixture on disk
   * (you can also provide a "fixture object" as described above)
   */
  'path/to/my/fixture/on/disk',
  /**
   * One or more entry points of your application. Any imports will be included
   * in the TS program as well
   */
  ['src/index.ts'],
);

Versioning & Conventions

This library has a very strong commitment to semantic versioning, and makes use of conventional commits to automatically generate changelogs, and to increment version numbers appropriately when publishing.


© 2018 LinkedIn