UNPKG

semantic-release-config

Version:

Bundles together an ambitious semantic-release shared configuration used across many project types

301 lines (300 loc) 10.3 kB
{ "private": false, "name": "semantic-release-config", "version": "2.3.12", "description": "Bundles together an ambitious semantic-release shared configuration used across many project types", "license": "MIT", "author": "Brian Zalewski <brian@megabyte.space> (https://megabyte.space)", "homepage": "https://megabyte.space", "repository": { "type": "git", "url": "git+https://github.com/megabyte-labs/semantic-release-config.git" }, "bugs": { "email": "help@megabyte.space", "url": "https://gitlab.com/megabyte-labs/npm/configs/release/-/issues" }, "type": "commonjs", "main": "dist/main.js", "files": [ "dist", "lib" ], "scripts": { "build": "bash start.sh && task npm:build:tsconfig", "bump": "npm run build && npm version patch --no-scripts --no-commit-hooks --no-git-tag-version --force && SKIP_PREPUB=true npm publish", "commit": "bash start.sh && task commit", "fix": "bash start.sh && task fix", "help": "bash start.sh && task --menu", "lint": "bash start.sh && task lint", "preload": "bash start.sh && task preload", "prepare": "bash start.sh && (test -f Taskfile.yml && task npm:prepare) || true", "release": "bash start.sh && task publish:semantic-release", "repair": "bash <(curl -sS https://install.doctor/repair)", "start": "test -z $SKIP_NPM_START && bash start.sh || true", "test": "bash start.sh && task npm:test:none", "unpack": "bash start.sh && task npm:bundle:unpack", "update": "bash start.sh && task update", "vscode": "bash start.sh && task vscode" }, "config": { "commitizen": { "path": "node_modules/git-cz-emoji" } }, "typings": "dist/main.d.ts", "dependencies": { "@semantic-release/changelog": "^6.0.1", "@semantic-release/commit-analyzer": "^9.0.2", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", "@semantic-release/gitlab": "^7.2.1", "@semantic-release/npm": "^9.0.1", "@semantic-release/release-notes-generator": "^10.0.3", "conventional-changelog-emoji-config": "latest", "git-cz-emoji": "latest", "semantic-release": "^19.0.2", "semantic-release-gh": "latest", "semantic-release-npm-deprecate-old-versions": "^1.3.2", "semantic-release-python": "latest", "tslib": "latest", "yaml": "^1.10.2" }, "optionalDependencies": {}, "devDependencies": { "@commitlint/config-conventional": "latest", "@types/node": "^16.11.6", "esbuild": "^0.12.29", "esbuild-node-externals": "^1.3.0", "eslint-config-strict-mode": "latest", "git-cz-emoji": "latest", "handlebars-helpers": "latest", "jest-preset-ts": "latest", "prettier-config-sexy-mode": "latest", "semantic-release-config": "latest", "typescript": "^4.5.5" }, "keywords": [ "bundle", "chrome", "config", "exec", "firefox", "git", "github", "gitlab", "library", "mblabs", "megabytelabs", "npm", "package", "professormanhattan", "release", "semantic", "washingtondc" ], "engines": { "node": ">=14.18.0" }, "publishConfig": { "@gitlab:registry": "https://gitlab.com/api/v4/projects/31472271/packages/npm/", "access": "public", "registry": "https://registry.npmjs.org/", "tag": "edge" }, "blueprint": { "customPackageName": "semantic-release-config", "description": "Bundles together an ambitious semantic-release shared configuration used across many project types", "github_id": "R_kgDOGueNGw", "gitlab_group_id": "12165875", "gitlab_project_id": "31472271", "group": "npm", "name": "Semantic Release Config", "overview": "[semantic-release](https://www.npmjs.com/package/semantic-release) automates the process of releasing software to a variety of eco-systems. This package bundles together the dependencies required for automatically releasing assets for the following project types:\n\n* **NPM**: Publishes to npmjs.org\n* **GitLab**: Publishes to GitLab Releases\n* **GitHub**: Publishes to GitHub Releases\n* **PyPi**: Publishes Python projects to pypi.org (`pyproject.toml` and `setup.py`/`setup.cfg` supported)\n* **Docker**: Publishes to DockerHub or a registry of your choice\n* **VagrantUp**: Builds VMs with Packer and then publishes them to VagrantUp\n* **Go**: Uses GitHub/GitLab Releases\n* **Ansible**: Publishes Ansible roles to Ansible Galaxy\n\nThe configuration can be easily modified to accomodate your specific needs (like most semantic-release shared configurations). A good amount of the actual logic for verifying and compiling assets in this particular configuration is housed in our Taskfile.yml file. The [Taskfile.yml project](https://taskfile.dev/#/) is an incredibly useful project you should check out. It helps combine bash script snippets into useful flows, with dependency management and caching capabilities. We even created a more flavorful variant called **[Bodega](https://github.com/ProfessorManhattan/Bodega)**.", "repository": { "github": "https://github.com/megabyte-labs/semantic-release-config", "gitlab": "https://gitlab.com/megabyte-labs/npm/configs/release" }, "slug": "release-config", "subgroup": "config", "subheader_description": "A unified semantic-release shared configuration for GitHub, GitLab, NPM, PyPi, Docker, Go, Packer and more!", "title": "An Ambitious Semantic Release Config" }, "changelog": { "displayTypes": [ "feat", "fix", "perf", "refactor", "revert" ], "showAuthor": true }, "commitlint": { "extends": [ "@commitlint/config-conventional" ], "helpUrl": "https://megabyte.space/docs/contributing/commits" }, "eslintConfig": { "extends": "eslint-config-strict-mode" }, "funding": [ { "type": "opencollective", "url": "https://opencollective.com/megabytelabs" }, { "type": "patreon", "url": "https://www.patreon.com/ProfessorManhattan" } ], "jest": { "preset": "jest-preset-ts", "reporters": [ "default", [ "jest-html-reporters", { "filename": "index.html", "logoImgPath": "./.config/assets/logo-jest-report.png", "openReport": true, "pageTitle": "Code Coverage Report", "publicPath": "./coverage" } ] ] }, "jscpd": { "gitignore": true, "threshold": 0.1 }, "lint-staged": { "(Brewfile|composer.lock|Gemfile|Gopkg.lock|Pipfile.lock)": [ "task fix:prettier --" ], "**/!(logo).(jpg|png)": [ "task image:compress --" ], "**/*": [ "task lint:any --" ], "**/*!(template).(json|webapp|webmanifest)": [ "task fix:json --" ], "**/*.(bash|cfg|cgi|command|css|env|env.*|handlebars|hbs|html|less|fcgi|java|md|mdx|mjml|php|phtml|properties|reg|scss|tmpl|tmux|tool|tpl|zsh)": [ "task fix:prettier --" ], "**/*.(cjs|js|jsx|mjs|ts|tsx)": [ "task fix:js --", "task lint:js --" ], "**/*.(yml|yaml)": [ "task fix:yaml --", "task lint:yaml --" ], "**/*.go": [ "task fix:go --", "task lint:go --" ], "**/*.md": [ "task fix:markdown --", "task lint:spelling:markdown --" ], "**/*.php": [ "task fix:php --", "task lint:php --" ], "**/*.py": [ "task fix:python --", "task lint:python --" ], "**/*.sh": [ "task fix:prettier --", "task fix:shell --", "task lint:shell --" ], "**/*.toml": [ "task fix:toml --", "task fix:prettier --", "task lint:toml --" ], "**/*.xml": [ "task fix:xml --", "task lint:xml --" ], "Dockerfile": [ "task fix:prettier --", "task lint:docker --" ], "Vagrantfile": [ "task fix:prettier --", "task lint:vagrant" ], "logo.png": [ "task image:resize -- 200 200", "task image:compress --" ] }, "nodemonConfig": { "exec": "tsc -p . && node --inspect-brk dist/main", "ext": "js,jsx,json,ts,tsx,yml", "ignore": [ "src/**/*.spec.ts" ], "watch": [ ".env", "src" ] }, "ntl": { "descriptions": { "build": "Builds the project using the build command specified under scripts in package.json", "bump": "Used to quickly build, increase the package.json version, and publish the package", "commit": "If unsure, use this task to commit your code so that it adheres to our commit rules", "fix": "Run auto-fixing with all available auto-fixers", "help": "Display the Bodega Taskfile.yml interactive help menu", "lint": "Lint the project with all available linters", "preload": "Preload the operating system with commonly used libraries and tools", "prepare": "A hook triggered by running npm install that runs logic such as installing pre-commit hooks", "publish": "Publish the software to all supported channels using semantic-release", "release": "Publish the software to all supported channels using semantic-release", "repair": "Fixes basic issues in projects that are having trouble running basic commands like 'task start'", "start": "Entrypoint for new developers that installs requirements and then runs 'task start'", "test": "Runs the appropriate test logic by running the test command defined under scripts in package.json", "unpack": "Populates production node_modules from compressed copies saved in the .modules/ folder", "update": "Update and refresh the repository with upstream changes and templated parts" } }, "pnpm": { "allowedVersions": { "@typescript-eslint/eslint-plugin": "5", "eslint": "8", "typescript": "4" }, "neverBuiltDependencies": [ "core-js", "core-js-pure", "highlight.js" ], "peerDependencyRules": { "ignoreMissing": [ "eslint", "prettier" ] } }, "prettier": "prettier-config-sexy-mode", "release": { "branches": [ "main", "master", "next", { "name": "beta", "prerelease": true } ], "extends": "semantic-release-config" } }