Skip to content

JenieX/userscript-metadata-webpack-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

userscript-metadata-webpack-plugin

userscript-metadata-webpack-plugin is a webpack plugin to generate userscript metadata comments for UserScript.

require:

  • webpack 5
  • nodejs >= 14

when using webpack 4, install userscript-metadata-webpack-plugin==0.0.6

usage

you can find a full template project in webpack-userscript-template

install

npm i userscript-metadata-webpack-plugin -D

configure

webpack.config.js

const pkg = require('../package.json')
const UserScriptMetaDataPlugin = require('userscript-metadata-webpack-plugin')

let metadata = {
  name: pkg.name,
  namespace: 'https://trim21.me/',
  version: pkg.version,
  author: {
    "name": "Trim21",
    "email": "trim21me@gmail.com"
  },
  source: pkg.repository.url,
  supportURL: pkg.repository.url + '/issues',
  license: 'MIT',
  match: [
    'https://bgm.tv/subject/*/edit',
    'https://bangumi.tv/subject/*/edit',
  ],
  require: [
    `https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js`,
    `https://cdn.jsdelivr.net/npm/diff2html/bundles/js/diff2html.min.js`,
    `https://cdn.jsdelivr.net/npm/diff/dist/diff.min.js`,
  ],
  grant: [
    'GM.xmlhttpRequest',
  ],
  connect: [
    'example.com',
    'www.example.com',
  ],
  'resource': {
    A: 'https://resource.a',
    BB: 'https://resource.b',
  },
  'run-at': 'document-end',
}

const config = {
  // ...
  // ...
  plugins: [
    new UserScriptMetaDataPlugin({
      metadata,
      test: /\.user\.js$/, // optional, default /\.user\.js$/
    })
  ]
}

module.exports = config
// ==UserScript==
// @name         userscript-metadata-webpack-plugin
// @namespace    https://trim21.me/
// @version      0.1.0
// @author       Trim21 <trim21me@gmail.com>
// @source       https://github.com/Trim21/userscript-metadata-webpack-plugin
// @supportURL   https://github.com/Trim21/userscript-metadata-webpack-plugin/issues
// @license      MIT
// @match        https://bgm.tv/subject/*/edit
// @match        https://bangumi.tv/subject/*/edit
// @require      https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js
// @require      https://cdn.jsdelivr.net/npm/diff2html/bundles/js/diff2html.min.js
// @require      https://cdn.jsdelivr.net/npm/diff/dist/diff.min.js
// @grant        GM.xmlhttpRequest
// @connect      example.com
// @connect      www.example.com
// @A            A  https://resource.a
// @BB           BB https://resource.b
// @run-at       document-end
// ==/UserScript==

// other js code

About

A webpack plugin help you to build userscript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%