Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avin/static-hash-version
Adds a prefix to links to statics containing the hash of the specified local files
https://github.com/avin/static-hash-version
Last synced: 1 day ago
JSON representation
Adds a prefix to links to statics containing the hash of the specified local files
- Host: GitHub
- URL: https://github.com/avin/static-hash-version
- Owner: avin
- Created: 2021-05-09T12:27:31.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-05-09T12:30:54.000Z (over 3 years ago)
- Last Synced: 2024-11-09T22:41:51.638Z (11 days ago)
- Language: TypeScript
- Size: 77.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Static-hash-version
Adds a prefix to links to statics containing the hash of the specified local files.
Before:
```html
```
After (with hash version prefix):
```html
```
After (with integrity attribute):
```html
```
## Usage
Install:
```sh
npm install static-hash-version
```Simple usage:
```js
const staticHashVersion = require("static-hash-version");const result = staticHashVersion({
htmlFilePath: "./static/index.html",
});console.log(result);
```Complex usage:
```js
const staticHashVersion = require("static-hash-version");staticHashVersion({
htmlFilePath: "./static/index.html",
writeToFile: true,
tags: [
{
tagSelector: "script",
fileAttr: "src",
withIntegrity: false,
withVersion: true,
},
{
tagSelector: 'link[rel="stylesheet"]',
fileAttr: "href",
withIntegrity: false,
withVersion: true,
},
],
onFileAbsence: (filePath) => {
console.warn(`File ${filePath} is absent`);
},
});
```## Options
### htmlFilePath
- Required: **yes**
- Type: `string`
- Default value:
- Description: File path for processing html file### writeToFile
- Required: no
- Type: `boolean`
- Default value: `false`
- Description: Write result to processing html file### onFileAbsence
- Required: no
- Type: `(filePath: string) => void`
- Default value: `(v: string) => {}`
- Description: Function called when the file specified in the tag is not found on disk### tags
- Required: no
- Type:```js
{
tagSelector: string;
fileAttr: string;
withIntegrity: boolean;
withVersion: boolean;
}
[];
```- Default value:
```js
[
{
tagSelector: "script",
fileAttr: "src",
withIntegrity: false,
withVersion: true,
},
{
tagSelector: 'link[rel="stylesheet"]',
fileAttr: "href",
withIntegrity: false,
withVersion: true,
},
];
```- Description: Processing tags
#### Tags item options
##### tagSelector
- Type: `string`
- Description: Selector for tag##### fileAttr
- Type: `string`
- Description: Tag attribute containing a link to the file##### withIntegrity
- Type: `boolean`
- Description: Add integrity-attribute##### withVersion
- Type: `boolean`
- Description: Add hash suffix for file path `?v=XXXXX`