new-github-issue-url
Advanced tools
Comparing version 0.2.0 to 0.2.1
171
index.d.ts
@@ -1,93 +0,106 @@ | ||
interface CommonOptions { | ||
/** | ||
* The issue body. | ||
*/ | ||
readonly body?: string; | ||
declare namespace newGithubIssueUrl { | ||
interface CommonOptions { | ||
/** | ||
The issue body. | ||
*/ | ||
readonly body?: string; | ||
/** | ||
* The issue title. | ||
*/ | ||
readonly title?: string; | ||
/** | ||
The issue title. | ||
*/ | ||
readonly title?: string; | ||
/** | ||
* Use an [issue template](https://help.github.com/articles/manually-creating-a-single-issue-template-for-your-repository/). | ||
* | ||
* @example | ||
* | ||
* 'unicorn.md' // If you want to use a template at `ISSUE_TEMPLATE/unicorn.md`. | ||
*/ | ||
readonly template?: string; | ||
/** | ||
Use an [issue template](https://help.github.com/articles/manually-creating-a-single-issue-template-for-your-repository/). | ||
/** | ||
* The labels for the issue. | ||
* | ||
* *Requires the user to have the permission to add labels.* | ||
*/ | ||
readonly labels?: string[]; | ||
@example | ||
``` | ||
'unicorn.md' // If you want to use a template at `ISSUE_TEMPLATE/unicorn.md`. | ||
``` | ||
*/ | ||
readonly template?: string; | ||
/** | ||
* The milestone for the issue. | ||
* | ||
* *Requires the user to have the permission to add milestone.* | ||
*/ | ||
readonly milestone?: string; | ||
/** | ||
The labels for the issue. | ||
/** | ||
* The user to assign to the issue. | ||
* | ||
* *Requires the user to have the permission to add assignee.* | ||
*/ | ||
readonly assignee?: string; | ||
_Requires the user to have the permission to add labels._ | ||
*/ | ||
readonly labels?: string[]; | ||
/** | ||
* The projects to add the issue to. | ||
* The project reference format is `user/<project-number>`, for example, if the URL to the project is `https://github.com/sindresorhus/some-repo/projects/3`, the project reference would be `some-repo/3`. | ||
* | ||
* *Requires the user to have the permission to add projects.* | ||
*/ | ||
readonly projects?: string[]; | ||
} | ||
/** | ||
The milestone for the issue. | ||
interface RepoUrlOptions extends CommonOptions { | ||
_Requires the user to have the permission to add milestone._ | ||
*/ | ||
readonly milestone?: string; | ||
/** | ||
The user to assign to the issue. | ||
_Requires the user to have the permission to add assignee._ | ||
*/ | ||
readonly assignee?: string; | ||
/** | ||
The projects to add the issue to. | ||
The project reference format is `user/<project-number>`, for example, if the URL to the project is `https://github.com/sindresorhus/some-repo/projects/3`, the project reference would be `some-repo/3`. | ||
_Requires the user to have the permission to add projects._ | ||
*/ | ||
readonly projects?: string[]; | ||
} | ||
interface RepoUrlOptions extends CommonOptions { | ||
/** | ||
The full URL to the repo. | ||
*/ | ||
readonly repoUrl: string; | ||
} | ||
interface UserAndRepoOptions extends CommonOptions { | ||
/** | ||
GitHub username or organization. | ||
*/ | ||
readonly user: string; | ||
/** | ||
GitHub repo. | ||
*/ | ||
readonly repo: string; | ||
} | ||
/** | ||
* The full URL to the repo. | ||
*/ | ||
readonly repoUrl: string; | ||
You are required to either specify the `repoUrl` option or both the `user` and `repo` options. | ||
*/ | ||
type Options = RepoUrlOptions | UserAndRepoOptions; | ||
} | ||
interface UserAndRepoOptions extends CommonOptions { | ||
declare const newGithubIssueUrl: { | ||
/** | ||
* GitHub username or organization. | ||
*/ | ||
readonly user: string; | ||
Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields. | ||
/** | ||
* GitHub repo. | ||
*/ | ||
readonly repo: string; | ||
} | ||
@example | ||
``` | ||
import newGithubIssueUrl = require('new-github-issue-url'); | ||
import opn = require('opn'); | ||
/** | ||
* You are required to either specify the `repoUrl` option or both the `user` and `repo` options. | ||
*/ | ||
export type Options = RepoUrlOptions | UserAndRepoOptions | ||
const url = newGithubIssueUrl({ | ||
user: 'sindresorhus', | ||
repo: 'new-github-issue-url', | ||
body: '\n\n\n---\nI\'m a human. Please be nice.' | ||
}); | ||
//=> 'https://github.com/sindresorhus/new-github-issue-url/issues/new?body=%0A%0A%0A---%0AI%27m+a+human.+Please+be+nice.' | ||
/** | ||
* Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields. | ||
* | ||
* @example | ||
* | ||
* import newGithubIssueUrl from 'new-github-issue-url'; | ||
* import opn from 'opn'; | ||
* | ||
* const url = newGithubIssueUrl({ | ||
* user: 'sindresorhus', | ||
* repo: 'new-github-issue-url', | ||
* body: '\n\n\n---\nI\'m a human. Please be nice.' | ||
* }); | ||
* //=> 'https://github.com/sindresorhus/new-github-issue-url/issues/new?body=%0A%0A%0A---%0AI%27m+a+human.+Please+be+nice.' | ||
* | ||
* // Then open it | ||
* opn(url); | ||
*/ | ||
export default function newGithubIssueUrl(options: Options): string; | ||
// Then open it | ||
opn(url); | ||
``` | ||
*/ | ||
(options: newGithubIssueUrl.Options): string; | ||
// TODO: Remove this for the next major release, refactor the whole definition to: | ||
// declare function newGithubIssueUrl(options: newGithubIssueUrl.Options): string; | ||
// export = newGithubIssueUrl; | ||
default: typeof newGithubIssueUrl; | ||
}; | ||
export = newGithubIssueUrl; |
@@ -45,2 +45,3 @@ 'use strict'; | ||
// TODO: Remove this for the next major release | ||
module.exports.default = module.exports; |
{ | ||
"name": "new-github-issue-url", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields", | ||
@@ -16,3 +16,3 @@ "license": "MIT", | ||
"scripts": { | ||
"test": "xo && ava && tsd-check" | ||
"test": "xo && ava && tsd" | ||
}, | ||
@@ -36,6 +36,6 @@ "files": [ | ||
"devDependencies": { | ||
"ava": "^0.25.0", | ||
"tsd-check": "^0.3.0", | ||
"xo": "^0.23.0" | ||
"ava": "^1.4.1", | ||
"tsd": "^0.7.2", | ||
"xo": "^0.24.0" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8249
122