Initial commit

This commit is contained in:
2021-08-26 21:47:42 +02:00
commit fe941c6433
1432 changed files with 161130 additions and 0 deletions

19
node_modules/pug-load/HISTORY.md generated vendored Normal file
View File

@ -0,0 +1,19 @@
2.0.3 / 2016-08-24
==================
* Do not pollute the user's `options` object
2.0.2 / 2016-08-23
==================
* Only publish the module itself
2.0.1 / 2016-08-23
==================
* Update to pug-walk@^1.0.0
2.0.0 / 2016-05-14
==================
* Make filename part of the options - updates to the 2.x.y APIs for lexer and parser

19
node_modules/pug-load/LICENSE generated vendored Normal file
View File

@ -0,0 +1,19 @@
Copyright (c) 2015 Forbes Lindesay
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

105
node_modules/pug-load/README.md generated vendored Normal file
View File

@ -0,0 +1,105 @@
# pug-load
The pug loader is responsible for loading the depenendencies of a given pug file. It adds `fullPath` and `str` properties to every `Include` and `Extends` node. It also adds an `ast` property to any `Include` nodes that are loading pug and any `Extends` nodes. It then recursively loads the dependencies of any of those included files.
[![Build Status](https://img.shields.io/travis/pugjs/pug-load/master.svg)](https://travis-ci.org/pugjs/pug-load)
[![Dependencies Status](https://david-dm.org/pugjs/pug/status.svg?path=packages/pug-load)](https://david-dm.org/pugjs/pug?path=packages/pug-load)
[![DevDependencies Status](https://david-dm.org/pugjs/pug/dev-status.svg?path=packages/pug-load)](https://david-dm.org/pugjs/pug?path=packages/pug-load&type=dev)
[![NPM version](https://img.shields.io/npm/v/pug-load.svg)](https://www.npmjs.org/package/pug-load)
[![Coverage Status](https://img.shields.io/codecov/c/github/pugjs/pug-load.svg)](https://codecov.io/gh/pugjs/pug-load)
## Installation
npm install pug-load
## Usage
```js
var load = require('pug-load');
```
### `load(ast, options)`
### `load.string(str, filename, options)`
### `load.file(filename, options)`
Loads all dependencies of the Pug AST. `load.string` and `load.file` are syntactic sugar that parses the string or file instead of you doing it yourself.
`options` may contain the following properties:
- `lex` (function): **(required)** the lexer used
- `parse` (function): **(required)** the parser used
- `resolve` (function): a function used to override `load.resolve`. Defaults to `load.resolve`.
- `read` (function): a function used to override `load.read`. Defaults to `load.read`.
- `basedir` (string): the base directory of absolute inclusion. This is **required** when absolute inclusion (file name starts with `'/'`) is used. Defaults to undefined.
The `options` object is passed to `load.resolve` and `load.read`, or equivalently `options.resolve` and `options.read`.
### `load.resolve(filename, source, options)`
Callback used by `pug-load` to resolve the full path of an included or extended file given the path of the source file.
`filename` is the included file. `source` is the name of the parent file that includes `filename`.
This function is not meant to be called from outside of `pug-load`, but rather for you to override.
### `load.read(filename, options)`
Callback used by `pug-load` to return the contents of a file.
`filename` is the file to read.
This function is not meant to be called from outside of `pug-load`, but rather for you to override.
### `load.validateOptions(options)`
Callback used `pug-load` to ensure the options object is valid. If your overridden `load.resolve` or `load.read` uses a different `options` scheme, you will need to override this function as well.
This function is not meant to be called from outside of `pug-load`, but rather for you to override.
### Example
```js
var fs = require('fs');
var lex = require('pug-lexer');
var parse = require('pug-parser');
var load = require('pug-load');
// you can do everything very manually
var str = fs.readFileSync('bar.pug', 'utf8');
var ast = load(parse(lex(str, 'bar.pug'), 'bar.pug'), {
lex: lex,
parse: parse,
resolve: function (filename, source, options) {
console.log('"' + filename + '" file requested from "' + source + '".');
return load.resolve(filename, source, options);
}
});
// or you can do all that in just two steps
var str = fs.readFileSync('bar.pug', 'utf8');
var ast = load.string(str, 'bar.pug', {
lex: lex,
parse: parse,
resolve: function (filename, source, options) {
console.log('"' + filename + '" file requested from "' + source + '".');
return load.resolve(filename, source, options);
}
});
// or you can do all that in only one step
var ast = load.file('bar.pug', {
lex: lex,
parse: parse,
resolve: function (filename, source, options) {
console.log('"' + filename + '" file requested from "' + source + '".');
return load.resolve(filename, source, options);
}
});
```
## License
MIT

120
node_modules/pug-load/index.js generated vendored Normal file
View File

@ -0,0 +1,120 @@
'use strict';
var fs = require('fs');
var path = require('path');
var walk = require('pug-walk');
var assign = require('object-assign');
module.exports = load;
function load(ast, options) {
options = getOptions(options);
// clone the ast
ast = JSON.parse(JSON.stringify(ast));
return walk(ast, function(node) {
if (node.str === undefined) {
if (
node.type === 'Include' ||
node.type === 'RawInclude' ||
node.type === 'Extends'
) {
var file = node.file;
if (file.type !== 'FileReference') {
throw new Error('Expected file.type to be "FileReference"');
}
var path, str, raw;
try {
path = options.resolve(file.path, file.filename, options);
file.fullPath = path;
raw = options.read(path, options);
str = raw.toString('utf8');
} catch (ex) {
ex.message += '\n at ' + node.filename + ' line ' + node.line;
throw ex;
}
file.str = str;
file.raw = raw;
if (node.type === 'Extends' || node.type === 'Include') {
file.ast = load.string(
str,
assign({}, options, {
filename: path,
})
);
}
}
}
});
}
load.string = function loadString(src, options) {
options = assign(getOptions(options), {
src: src,
});
var tokens = options.lex(src, options);
var ast = options.parse(tokens, options);
return load(ast, options);
};
load.file = function loadFile(filename, options) {
options = assign(getOptions(options), {
filename: filename,
});
var str = options.read(filename).toString('utf8');
return load.string(str, options);
};
load.resolve = function resolve(filename, source, options) {
filename = filename.trim();
if (filename[0] !== '/' && !source)
throw new Error(
'the "filename" option is required to use includes and extends with "relative" paths'
);
if (filename[0] === '/' && !options.basedir)
throw new Error(
'the "basedir" option is required to use includes and extends with "absolute" paths'
);
filename = path.join(
filename[0] === '/' ? options.basedir : path.dirname(source.trim()),
filename
);
return filename;
};
load.read = function read(filename, options) {
return fs.readFileSync(filename);
};
load.validateOptions = function validateOptions(options) {
/* istanbul ignore if */
if (typeof options !== 'object') {
throw new TypeError('options must be an object');
}
/* istanbul ignore if */
if (typeof options.lex !== 'function') {
throw new TypeError('options.lex must be a function');
}
/* istanbul ignore if */
if (typeof options.parse !== 'function') {
throw new TypeError('options.parse must be a function');
}
/* istanbul ignore if */
if (options.resolve && typeof options.resolve !== 'function') {
throw new TypeError('options.resolve must be a function');
}
/* istanbul ignore if */
if (options.read && typeof options.read !== 'function') {
throw new TypeError('options.read must be a function');
}
};
function getOptions(options) {
load.validateOptions(options);
return assign(
{
resolve: load.resolve,
read: load.read,
},
options
);
}

25
node_modules/pug-load/package.json generated vendored Normal file
View File

@ -0,0 +1,25 @@
{
"name": "pug-load",
"version": "3.0.0",
"description": "The Pug loader is responsible for loading the depenendencies of a given Pug file.",
"keywords": [
"pug"
],
"dependencies": {
"object-assign": "^4.1.1",
"pug-walk": "^2.0.0"
},
"devDependencies": {
"pug-lexer": "^5.0.0",
"pug-parser": "^6.0.0"
},
"files": [
"index.js"
],
"repository": {
"type": "git",
"url": "https://github.com/pugjs/pug/tree/master/packages/pug-load"
},
"author": "ForbesLindesay",
"license": "MIT"
}