string-searching/matiyasevich-knuth-morris-pratt

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "name": "@string-searching/matiyasevich-knuth-morris-pratt",
  "description": "Knuth-Morris-Pratt algorithm for JavaScript",
  "version": "1.0.0",
  "license": "AGPL-3.0",
  "author": "make-github-pseudonymous-again",
  "homepage": "https://string-searching.github.io/matiyasevich-knuth-morris-pratt",
  "repository": {
    "url": "https://github.com/string-searching/matiyasevich-knuth-morris-pratt",
    "type": "git"
  },
  "bugs": {
    "url": "https://github.com/string-searching/matiyasevich-knuth-morris-pratt/issues"
  },
  "keywords": [
    "kmp",
    "knuth",
    "linear-time",
    "matiyasevich",
    "morris",
    "pratt",
    "searching",
    "string"
  ],
  "sideEffects": false,
  "type": "module",
  "source": "src/index.js",
  "main": "dist/index.cjs",
  "module": "dist/index.module.js",
  "esmodule": "dist/index.modern.js",
  "umd:main": "dist/index.umd.js",
  "unpkg": "dist/index.umd.js",
  "exports": {
    ".": {
      "browser": "./dist/index.module.js",
      "umd": "./dist/index.umd.js",
      "require": "./dist/index.cjs",
      "default": "./dist/index.modern.js"
    }
  },
  "files": [
    "dist"
  ],
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "build": "NODE_ENV=production microbundle",
    "build-docs": "esdoc",
    "build-gh-pages": "npm run build-docs",
    "commit-msg": "commitlint --edit",
    "cover": "NODE_ENV=cover c8 --all --src src --reporter lcov --reporter text-summary --reporter text npm test",
    "debug": "NODE_ENV=debug npm run test -- -st --fail-fast",
    "dev": "npm run lint-config-and-fix && npm run lint-and-fix && npm run cover -- -- -st --fail-fast",
    "install-hooks": "husky",
    "lint": "xo",
    "lint-and-fix": "npm run lint -- --fix",
    "lint-config": "fixpack --dryRun",
    "lint-config-and-fix": "fixpack || fixpack",
    "postinstall": "npm run install-hooks",
    "postpublish": "pinst --enable",
    "precommit": "lint-staged",
    "prepare": "npm run build",
    "prepublishOnly": "pinst --disable",
    "release": "np --message ':hatching_chick: release: Bumping to v%s.'",
    "test": "npm run test:src",
    "test-cmd": "NODE_LOADER_CONFIG=test/loader/config.js ava",
    "test:cjs": "IMPORT_MAP_PATH=test/import-maps/dist/index.json npm run test-cmd",
    "test:dist": "npm run test:modern && npm run test:module && npm run test:cjs",
    "test:modern": "IMPORT_MAP_PATH=test/import-maps/dist/index.modern.json npm run test-cmd",
    "test:module": "IMPORT_MAP_PATH=test/import-maps/dist/index.module.json npm run test-cmd",
    "test:src": "IMPORT_MAP_PATH=test/import-maps/src/index.json npm run test-cmd"
  },
  "dependencies": {},
  "devDependencies": {
    "@babel/core": "7.26.0",
    "@babel/preset-env": "7.26.0",
    "@commitlint/cli": "19.5.0",
    "@js-library/commitlint-config": "0.0.4",
    "@node-loader/babel": "2.1.0",
    "@node-loader/core": "2.0.0",
    "@node-loader/import-maps": "1.1.0",
    "@string-data-structure/failure-function": "1.0.0",
    "@string-data-structure/longest-prefix-suffix-array": "1.0.0",
    "@string-searching/specification": "1.0.1",
    "ava": "6.2.0",
    "babel-plugin-transform-remove-console": "6.9.4",
    "babel-plugin-unassert": "3.2.0",
    "babel-preset-power-assert": "3.0.0",
    "c8": "10.1.2",
    "esdoc": "1.1.0",
    "esdoc-ecmascript-proposal-plugin": "1.0.0",
    "esdoc-inject-script-plugin": "1.0.0",
    "esdoc-inject-style-plugin": "1.0.0",
    "esdoc-standard-plugin": "1.0.0",
    "fixpack": "4.0.0",
    "husky": "9.1.6",
    "lint-staged": "15.2.10",
    "microbundle": "0.15.1",
    "np": "10.0.7",
    "pinst": "3.0.0",
    "power-assert": "1.6.1",
    "regenerator-runtime": "0.14.1",
    "xo": "0.59.3"
  },
  "ava": {
    "files": [
      "test/src/**/*"
    ],
    "nodeArguments": [
      "--import=data:text/javascript,import {register} from 'node:module'; import {pathToFileURL} from 'node:url'; register('@node-loader/core', pathToFileURL('./'))"
    ],
    "require": [
      "regenerator-runtime/runtime.js"
    ],
    "timeout": "1m"
  },
  "babel": {
    "sourceMaps": true,
    "plugins": [
      [
        "transform-remove-console",
        {
          "exclude": [
            "log",
            "error",
            "warn"
          ]
        }
      ]
    ],
    "env": {
      "debug": {
        "sourceMaps": "both",
        "presets": [
          "babel-preset-power-assert"
        ],
        "plugins": [
          [
            "transform-remove-console",
            {
              "exclude": [
                "debug",
                "log",
                "error",
                "warn"
              ]
            }
          ]
        ]
      },
      "test": {
        "sourceMaps": "both",
        "presets": [
          "babel-preset-power-assert"
        ]
      },
      "cover": {
        "sourceMaps": "both",
        "presets": [
          "babel-preset-power-assert"
        ]
      },
      "development": {
        "presets": [
          [
            "@babel/preset-env",
            {
              "targets": [
                "defaults",
                "maintained node versions"
              ]
            }
          ],
          "babel-preset-power-assert"
        ]
      },
      "production": {
        "presets": [
          [
            "@babel/preset-env",
            {
              "targets": [
                "defaults",
                "maintained node versions"
              ]
            }
          ]
        ],
        "plugins": [
          "babel-plugin-unassert"
        ]
      }
    }
  },
  "lint-staged": {
    "*.js": [
      "npm run lint-and-fix"
    ],
    "package.json": [
      "npm run lint-config-and-fix"
    ]
  },
  "prettier": {
    "trailingComma": "all"
  },
  "xo": {
    "prettier": true,
    "plugins": [
      "unicorn"
    ],
    "rules": {
      "no-labels": "off",
      "unicorn/filename-case": [
        "error",
        {
          "cases": {
            "camelCase": true,
            "pascalCase": true
          }
        }
      ],
      "unicorn/prefer-node-protocol": "off",
      "unicorn/prevent-abbreviations": "off",
      "import/order": [
        "error",
        {
          "groups": [
            "builtin",
            "external",
            "internal",
            "parent",
            "sibling",
            "index",
            "object",
            "type"
          ],
          "pathGroups": [
            {
              "pattern": "ava",
              "group": "external",
              "position": "before"
            },
            {
              "pattern": "#module",
              "group": "index",
              "position": "after"
            }
          ],
          "pathGroupsExcludedImportTypes": [],
          "distinctGroup": true,
          "newlines-between": "always",
          "alphabetize": {
            "order": "asc",
            "orderImportKind": "asc",
            "caseInsensitive": false
          },
          "warnOnUnassignedImports": true
        }
      ]
    },
    "overrides": [
      {
        "files": [
          "doc/**"
        ],
        "env": "browser"
      }
    ]
  }
}