Initial commit.

master
Sir Robert Burbridge 2023-03-30 19:14:27 -04:00
parent 3d736deecf
commit b675692877
7 changed files with 8963 additions and 0 deletions

View File

@ -0,0 +1,64 @@
module.exports = {
env: {
es2020: true,
node: true,
},
extends: [
'airbnb-base',
],
plugins: [
'eslint-plugin-import',
],
parserOptions: {
ecmaVersion: 11,
sourceType: 'module',
},
rules: {
// I'm not convinced this is the right way to handle this, but here we
// are for now.
"import/extensions": 0,
// This is generally a code smell, but I don't think it is this time.
// An alternate approach may be to make it a static method and use it
// directly from the base class that way.
"class-methods-use-this": [
"error",
{
exceptMethods: [
'normalizeFlagAndValue'
]
}
],
"no-plusplus": [
"error",
{
"allowForLoopAfterthoughts": true
}
],
// I think I would rather this be turned on, but eslint doesn't seem to
// allow stroustrup with comments, which is important to me.
"brace-style": 0,
"space-before-function-paren": 0,
"import/no-named-as-default": 0,
"key-spacing": [
"error",
{
"align": {
"on" : "colon",
"beforeColon" : true,
"afterColon" : true,
"mode" : "strict",
},
}
],
"no-multi-spaces": [
"error",
{
exceptions: {
ImportDeclaration: true,
VariableDeclarator: true,
}
}
]
},
};

View File

@ -0,0 +1,14 @@
{
"rootDir": "../",
"reporters": [
"default",
[
"./node_modules/jest-html-reporter", {
"boilerplate": "./test/spec/report-template.html",
"outputPath": "./reports/spec/index.html",
"pageTitle": "Specification Progress Report",
"sort": "titleAsc"
}
]
]
}

View File

@ -0,0 +1,21 @@
{
"rootDir": "../",
"collectCoverageFrom": [
"./src/**/*.js"
],
"coverageReporters": [
"json",
"json-summary",
"lcov",
"text",
"clover"
],
"coverageThreshold": {
"global": {
"branches" : 100,
"functions" : 100,
"lines" : 100,
"statements" : 100
}
}
}

View File

@ -0,0 +1,36 @@
{
"opts": {
"destination": "./docs",
"recurse": true
},
"plugins": [
"plugins/markdown"
],
"recurseDepth": 10,
"source": {
"includePattern": ".+\\.js(doc|x)?$",
"excludePattern": "(^|\\/|\\\\)_"
},
"sourceType": "module",
"tags": {
"allowUnknownTags": true,
"dictionaries": [
"jsdoc",
"closure"
]
},
"templates": {
"systemName" : "The Farce: Commando",
"footer" : "Produced by The Farce",
"copyright" : "Copyright The Farce",
"includeDate" : true,
"navType" : "vertical",
"theme" : "cerulean",
"linenums" : true,
"collapseSymbols" : true,
"inverseNav" : true,
"syntaxTheme" : "dark",
"sort" : "longname, version, since",
"search" : true
}
}

3
index.mjs 100644
View File

@ -0,0 +1,3 @@
const module = "@thefarce/loom";
export default module;

8780
package-lock.json generated 100644

File diff suppressed because it is too large Load Diff

45
package.json 100644
View File

@ -0,0 +1,45 @@
{
"name": "@thefarce/loom",
"version": "0.0.1",
"description": "Weaving together data from many sources",
"type": "module",
"homepage": "https://bitbucket.org/thefarce/loom",
"main": "./index.mjs",
"scripts": {
"clean": "rimraf ./reports",
"docs": "npx jsdoc --package ./package.json -c ./config/jsdoc.config.json -R README.md -t ./node_modules/ink-docstrap/template ./src",
"report:view": "xdg-open http://localhost:8000/reports && python3 -m http.server",
"test": "npm run test:lint; npm run test:unit; npm run test:spec; npm run test:coverage",
"test:lint": "npx eslint src --config ./config/eslint.config.cjs -f ./node_modules/eslint-html-reporter/reporter.js -o ./reports/style/index.html",
"test:lint.fix": "npx eslint src --config ./config/eslint.config.cjs -f ./node_modules/eslint-html-reporter/reporter.js -o ./reports/style/index.html --fix",
"test:unit": "cross-env NODE_ENV=test jest --testTimeout=10000 --config=./config/jest.test.config.json ./test ./spec",
"test:coverage": "cross-env NODE_ENV=test jest --coverage --config=./config/jest.test.config.json ./test ./spec && rm -rf ./reports/test-coverage && mv ./coverage ./reports/test-coverage",
"test:spec": "cross-env NODE_ENV=test jest --testTimeout=10000 --config=./config/jest.spec.config.json ./test/spec",
"validate": "npm run test:coverage"
},
"repository": {
"type": "git",
"url": "git@bitbucket.com:thefarce/loom.git"
},
"keywords": [
"template",
"templating",
"website"
],
"author": "Sir Robert Burbridge",
"license": "SEE LICENSE IN LICENSE.txt",
"devDependencies": {
"@babel/preset-env": "^7.16.11",
"cross-env": "^7.0.3",
"eslint": "^8.13.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-html-reporter": "^0.7.4",
"eslint-plugin-import": "^2.26.0",
"ink-docstrap": "^1.3.2",
"jest": "^29.3.1",
"jest-html-reporter": "^3.4.2",
"jsdoc": "^3.6.10",
"lehre": "^1.5.0",
"rimraf": "^3.0.2"
}
}