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

nx-vue

v1.1.0

Published

Vue plugin for Nx

Downloads

535

Readme

License: MIT GitHub top language Node.js CI npm version

Nx Vue

An nx plugin to add vue support to your workspace. This plugin is based off @nx-plus/vue, however updated to add new features are drop others to keep the plugin as simple as possible.

Feature comparison with @nx-plus/vue

| Tables | nx-vue | @nx-plus/vue | | --------------- | :----------------: | :------------------: | | Vue 2 Support | :x: | :heavy_check_mark: | | Vue 3 Support | :heavy_check_mark: | :heavy_check_mark: | | Vite Support | :x: | :heavy_check_mark: | | Vuex Generator | :x: | :heavy_check_mark: | | Webpack 4 | :x: | :heavy_check_mark: | | Webpack 5 | :heavy_check_mark: | :x: | | Nx Graph Plugin | :heavy_check_mark: | :heavy_check_mark:* |

* Nx plus uses a post install script to modify nx source files to add vue support. This plugin uses a dep-graph extension for nx

Prerequisite

Nx Workspace

If you have not already, create an Nx workspace with the following:

npx create-nx-workspace@^15.2.0

Peer Dependencies

If you have not already, install peer dependencies with the following:

# npm
npm install @nx/cypress@^14.0.0 @nx/jest@^14.0.0 @nx/linter@^14.0.0 --save-dev

# yarn
yarn add @nx/cypress@^14.0.0 @nx/jest@^14.0.0 @nx/linter@^14.0.0 --dev

Getting Started

Install Plugin

# npm
npm install nx-vue --save-dev

# yarn
yarn add nx-vue --dev

Generate Your App

nx g nx-vue:app my-app

Serve Your App

nx serve my-app

Schematics (i.e. code generation)

Application

nx g nx-vue:app <name> [options]

| Arguments | Description | | --------- | --------------------- | | <name> | The name of your app. |

| Options | Default | Description | | ------------------ | --------- | ---------------------------------------------- | | --tags | - | Tags to use for linting (comma-delimited). | | --directory | apps | A directory where the project is placed. | | --style | css | The file extension to be used for style files. | | --unitTestRunner | jest | Test runner to use for unit tests. | | --e2eTestRunner | cypress | Test runner to use for end to end (e2e) tests. | | --routing | false | Generate routing configuration. | | --skipFormat | false | Skip formatting files. | | --babel | false | Add Babel support. |

Library

nx g nx-vue:lib <name> [options]

| Arguments | Description | | --------- | ------------------------- | | <name> | The name of your library. |

| Options | Default | Description | | ------------------ | ------- | ------------------------------------------------------- | | --tags | - | Tags to use for linting (comma-delimited). | | --directory | libs | A directory where the project is placed. | | --unitTestRunner | jest | Test runner to use for unit tests. | | --skipFormat | false | Skip formatting files. | | --skipTsConfig | false | Do not update tsconfig.json for development experience. | | --publishable | false | Create a buildable library. | | --babel | false | Add Babel support. |

Component

nx g nx-vue:component <name> [options]

| Arguments | Description | | --------- | --------------------------- | | <name> | The name of your component. |

| Options | Default | Description | | ------------- | ------- | ---------------------------------------------- | | --project | - | Tags to use for linting (comma-delimited). | | --directory | - | A directory where the component is placed. | | --style | css | The file extension to be used for style files. |

Builders (i.e. task runners)

Dev Server

nx serve <name> [options]

| Arguments | Description | | --------- | --------------------- | | <name> | The name of your app. |

| Options | Default | Description | | ---------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | --open | false | Open browser on server start. | | --copy | false | Copy url to clipboard on server start. | | --stdin | false | Close when stdin ends. | | --mode | development | Specify env mode (default: development). | | --host | 0.0.0.0 | Specify host (default: 0.0.0.0). | | --port | 8080 | Specify port (default: 8080). | | --https | false | Use https (default: false). | | --public | - | Specify the public network URL for the HMR client. | | --skipPlugins | - | Comma-separated list of plugin names to skip for this run. | | --browserTarget | - | Target to serve. | | --watch | true | Watch for changes. | | --publicPath | / | The base URL your application bundle will be deployed at. | | --transpileDependencies | [] | By default babel-loader ignores all files inside node_modules. If you want to explicitly transpile a dependency with Babel, you can list it in this option. | | css.requireModuleExtension | true | By default, only files that end in *.module.[ext] are treated as CSS modules. Setting this to false will allow you to drop .module in the filenames and treat all *.(css\|scss\|sass\|less\|styl(us)?) files as CSS modules. | | css.extract | false | Whether to extract CSS in your components into a standalone CSS file (instead of inlined in JavaScript and injected dynamically). | | css.sourceMap | false | Whether to enable source maps for CSS. Setting this to true may affect build performance. | | css.loaderOptions | {} | Pass options to CSS-related loaders. | | devServer | {} | All options for webpack-dev-server are supported. |

Browser

nx build <name> [options]

| Arguments | Description | | --------- | --------------------- | | <name> | The name of your app. |

| Options | Default | Description | | ---------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | --mode | development | Specify env mode (default: development). | | --dest | - | Specify output directory. | | --clean | true | Remove the dist directory before building the project. | | --report | false | Generate report.html to help analyze bundle content. | | --reportJson | false | Generate report.json to help analyze bundle content. | | --skipPlugins | - | Comma-separated list of plugin names to skip for this run. | | --watch | false | Watch for changes. | | --index | - | The path of a file to use for the application's HTML index. The filename of the specified path will be used for the generated file and will be created in the root of the application's configured output path. | | --main | - | The full path for the main entry point to the app, relative to the current workspace. | | --tsConfig | - | The full path for the TypeScript configuration file, relative to the current workspace. | | --publicPath | / | The base URL your application bundle will be deployed at. | | --filenameHashing | false | Generated static assets contain hashes in their filenames for better caching control. | | --productionSourceMap | false | Setting this to false can speed up production builds if you don't need source maps for production. | | --transpileDependencies | [] | By default babel-loader ignores all files inside node_modules. If you want to explicitly transpile a dependency with Babel, you can list it in this option. | | css.requireModuleExtension | true | By default, only files that end in *.module.[ext] are treated as CSS modules. Setting this to false will allow you to drop .module in the filenames and treat all *.(css\|scss\|sass\|less\|styl(us)?) files as CSS modules. | | css.extract | false | Whether to extract CSS in your components into a standalone CSS file (instead of inlined in JavaScript and injected dynamically). | | css.sourceMap | false | Whether to enable source maps for CSS. Setting this to true may affect build performance. | | css.loaderOptions | {} | Pass options to CSS-related loaders. | | --stdin | false | Close when stdin ends. |

Library

nx build <name> [options]

| Arguments | Description | | --------- | ------------------------- | | <name> | The name of your library. |

| Options | Default | Description | | ---------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | --dest | - | Specify output directory. | | --clean | true | Remove the dist directory before building the project. | | --report | false | Generate report.html to help analyze bundle content. | | --reportJson | false | Generate report.json to help analyze bundle content. | | --skipPlugins | - | Comma-separated list of plugin names to skip for this run. | | --watch | false | Watch for changes. | | --entry | - | The full path for the main entry point to your library, relative to the current workspace. | | --tsConfig | - | The full path for the TypeScript configuration file, relative to the current workspace. | | --inlineVue | false | Include the Vue module in the final bundle of library. | | --formats | commonjs,umd,umd-min | List of output formats for library builds. | | --name | - | Name for library. | | --filename | - | File name for output. | | --transpileDependencies | [] | By default babel-loader ignores all files inside node_modules. If you want to explicitly transpile a dependency with Babel, you can list it in this option. | | css.requireModuleExtension | true | By default, only files that end in *.module.[ext] are treated as CSS modules. Setting this to false will allow you to drop .module in the filenames and treat all *.(css\|scss\|sass\|less\|styl(us)?) files as CSS modules. | | css.extract | true | Whether to extract CSS in your components into a standalone CSS file (instead of inlined in JavaScript and injected dynamically). | | css.sourceMap | false | Whether to enable source maps for CSS. Setting this to true may affect build performance. | | css.loaderOptions | {} | Pass options to CSS-related loaders. |

Linting

nx lint <name> [options]

We use @nx/linter for linting, so the options are as documented here.

Unit Testing

nx test <name> [options]

We use @nx/jest for unit testing, so the options are as documented here.

E2E Testing

nx e2e <name> [options]

We use @nx/cypress for e2e testing, so the options are as documented here.

Modify the Webpack Configuration

Modify the webpack config by exporting an Object or Function from your project's configure-webpack.js file.

If your project does not have a configure-webpack.js file, then simply add it at the root of your project.

If the value is an Object, it will be merged into the final config using webpack-merge.

If the value is a function, it will receive the resolved config as the argument. The function can either mutate the config and return nothing, OR return a cloned or merged version of the config.

For more information see the Vue CLI documentation.