https://github.com/amio/userscript-parser
Userscript metadata parser.
https://github.com/amio/userscript-parser
userscript userscript-parser
Last synced: about 1 year ago
JSON representation
Userscript metadata parser.
- Host: GitHub
- URL: https://github.com/amio/userscript-parser
- Owner: amio
- License: mit
- Created: 2015-08-13T09:09:59.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2019-05-15T14:20:51.000Z (about 7 years ago)
- Last Synced: 2025-04-10T02:52:28.507Z (about 1 year ago)
- Topics: userscript, userscript-parser
- Language: JavaScript
- Homepage:
- Size: 25.4 KB
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# userscript-parser [![npm-version][npm-badge]][npm-link] [![install size][pp-badge]][pp-link]
Userscript metadata parser.
## Usage
```javascript
const userscriptText = '// ==UserScript==...'
const usp = require('userscript-parser')
const { meta, metablock, content } = usp(userscriptText)
```
Given this userscript:
```javascript
// ==UserScript==
// @name Awesome Script
// @description This script even does the laundry!
// @downloadURL https://www.example.com/myscript.user.js
// @homepageURL https://github.com/gantt/downloadyoutube
// @author Gantt
// @version 1.8.3
// @date 2015-05-17
// @include https://www.youtube.com/*
// @exclude https://www.youtube.com/embed/*
// @match https://www.youtube.com/*
// @grant GM_xmlhttpRequest
// @grant GM_getValue
// @grant GM_setValue
// @run-at document-end
// @license MIT License
// ==/UserScript==
var whoami = 'USERSCRIPT'
```
will produce this parsed object:
```javascript
{
meta: {
description: [ 'This script even does the laundry!', ],
downloadURL: [ 'https://www.example.com/myscript.user.js' ],
name: [ 'Awesome Script' ],
homepageURL: [ 'https://github.com/gantt/downloadyoutube' ],
author: [ 'Gantt' ],
version: [ '1.8.3' ],
date: [ '2015-05-17' ],
include: [ 'https://www.youtube.com/*' ],
exclude: [ 'https://www.youtube.com/embed/*' ],
match: [ 'https://www.youtube.com/*' ],
grant: [ 'GM_xmlhttpRequest', 'GM_getValue', 'GM_setValue' ],
'run-at': [ 'document-end' ],
license: [ 'MIT License' ]
},
metablock: "// ==UserScript==...",
content: "\n\nvar whoami = 'USERSCRIPT'\n"
}
```
## License
MIT @ Amio
[npm-badge]: https://badgen.net/npm/v/userscript-parser
[npm-link]: https://www.npmjs.com/package/userscript-parser
[pp-badge]: https://badgen.net/packagephobia/publish/userscript-parser
[pp-link]: https://packagephobia.now.sh/result?p=userscript-parser