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

@hl037/vue-cli-plugin-ts-bundler

v0.1.0

Published

Zero configuration bundler for your TypeScript library

Downloads

70

Readme

:rocket: vue-cli-plugin-ts-bundler

Zero configuration bundler for your TypeScript library

Use case

You create a library component that is compiled in a signle js file, and you want to left the support of TypeScript.

The plugin allows to generate a single dts file to share your code as external module.

Features

The plugin is basically a wrapper of dts-bundle. All dts-bundle features are available when using the command.

And additionally:

  • Generate the minimum configuration to build TypeScript library
  • Remove all conflicts with dts generating
  • Add a typings entry in the package.json
  • Optionally copy the global .d.ts to the root as index.d.ts to ensure maximum compatibility

Getting Started

A new project

If yon don't have a project, create one using vue create <projectName>. Choose "Manually select features". Select at least :

 ◯ Choose Vue version
 ◉ Babel
 ◉ TypeScript
 ◯ Progressive Web App (PWA) Support
 ◯ Router
 ◯ Vuex
 ◯ CSS Pre-processors
 ◯ Linter / Formatter
 ◯ Unit Testing
 ◯ E2E Testing

This plugin works with Vue 3, but has not been tested with Vue 2.

Adding to an existing project

Install the plugin into your project:

cd my-vue-app
vue add @hl037/ts-bundler

The default options should give a working configuration, but you still can adjust it.

CLI Commands

The plugin adds a build command to build the library and generate the declaration for each source, and a bundle-dts command to bundle in one file the declaration files generated during build process. If the default option are not modified, then it will also generate an index.d.ts at the project root. This is beacuase some typescript build tools won't look at the typings entry in the project.json.

npm/yarn build
npm/yarn bundleDts

All supported options you can find here https://github.com/TypeStrong/dts-bundle

Example of use

Feel free to create an issue if you want to add your project to the list and help others solve their problems on good examples

Known caveats

In order for everything to work correctly, there was a need to disable some webpack's loaders:

  • thread-loader - doesn't allow to write dts files on filesystem;
  • cache-loader - incorrectly caches compilerOptions passed to ts-loader

License

MIT

Authors

Based on a work of Vadim Tiukov

Patched and reworked by Léo Flaventin Hauchecorne