mirror of
https://github.com/desktop/desktop
synced 2024-09-19 08:02:22 +00:00
Merge branch 'master' into upgrade-yarn-time
This commit is contained in:
commit
a76185792d
|
@ -5,6 +5,7 @@ plugins:
|
|||
- babel
|
||||
- react
|
||||
- prettier
|
||||
- json
|
||||
|
||||
extends:
|
||||
- prettier
|
||||
|
|
1
.github/CONTRIBUTING.md
vendored
1
.github/CONTRIBUTING.md
vendored
|
@ -170,4 +170,5 @@ pull requests.
|
|||
|
||||
| Label name | :mag_right: | Description |
|
||||
| --- | --- | --- |
|
||||
| `infrastructure` | [search](https://github.com/desktop/desktop/labels/infrastructure) | Pull requests not related to the core application - documentation, dependencies, tooling, etc. |
|
||||
| `ready-for-review` | [search](https://github.com/desktop/desktop/labels/ready-for-review) | Pull Requests that are ready to be reviewed by the maintainers. |
|
||||
|
|
|
@ -57,7 +57,7 @@ install:
|
|||
- yarn install --force
|
||||
|
||||
script:
|
||||
- yarn lint && yarn build:prod && yarn test:setup && yarn test
|
||||
- yarn lint && yarn validate-changelog && yarn build:prod && yarn test:setup && yarn test
|
||||
|
||||
after_failure:
|
||||
- yarn test:review
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"productName": "GitHub Desktop",
|
||||
"bundleID": "com.github.GitHubClient",
|
||||
"companyName": "GitHub, Inc.",
|
||||
"version": "1.1.1-beta4",
|
||||
"version": "1.1.2-beta1",
|
||||
"main": "./main.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -347,7 +347,7 @@ export interface IRepositoryState {
|
|||
|
||||
/**
|
||||
* The ordered local commit SHAs. The commits themselves can be looked up in
|
||||
* `commits.`
|
||||
* `commitLookup.`
|
||||
*/
|
||||
readonly localCommitSHAs: ReadonlyArray<string>
|
||||
|
||||
|
|
|
@ -487,8 +487,8 @@ export class Dispatcher {
|
|||
}
|
||||
|
||||
/** Update the repository's issues from GitHub. */
|
||||
public updateIssues(repository: GitHubRepository): Promise<void> {
|
||||
return this.appStore._updateIssues(repository)
|
||||
public refreshIssues(repository: GitHubRepository): Promise<void> {
|
||||
return this.appStore._refreshIssues(repository)
|
||||
}
|
||||
|
||||
/** End the Welcome flow. */
|
||||
|
@ -806,6 +806,18 @@ export class Dispatcher {
|
|||
} catch (e) {
|
||||
rejectOAuthRequest(e)
|
||||
}
|
||||
|
||||
if (__DARWIN__) {
|
||||
// workaround for user reports that the application doesn't receive focus
|
||||
// after completing the OAuth signin in the browser
|
||||
const window = remote.getCurrentWindow()
|
||||
if (!window.isFocused()) {
|
||||
log.info(
|
||||
`refocusing the main window after the OAuth flow is completed`
|
||||
)
|
||||
window.focus()
|
||||
}
|
||||
}
|
||||
break
|
||||
|
||||
case 'open-repository-from-url':
|
||||
|
|
|
@ -823,7 +823,7 @@ export class AppStore extends TypedBaseStore<IAppState> {
|
|||
const gitHubRepository = repository.gitHubRepository
|
||||
|
||||
if (gitHubRepository != null) {
|
||||
this._updateIssues(gitHubRepository)
|
||||
this._refreshIssues(gitHubRepository)
|
||||
this.loadPullRequests(repository, async () => {
|
||||
const promiseForPRs = this.pullRequestStore.fetchPullRequestsFromCache(
|
||||
gitHubRepository
|
||||
|
@ -871,14 +871,14 @@ export class AppStore extends TypedBaseStore<IAppState> {
|
|||
return this._repositoryWithRefreshedGitHubRepository(repository)
|
||||
}
|
||||
|
||||
public async _updateIssues(repository: GitHubRepository) {
|
||||
public async _refreshIssues(repository: GitHubRepository) {
|
||||
const user = getAccountForEndpoint(this.accounts, repository.endpoint)
|
||||
if (!user) {
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
await this._issuesStore.fetchIssues(repository, user)
|
||||
await this._issuesStore.refreshIssues(repository, user)
|
||||
} catch (e) {
|
||||
log.warn(`Unable to fetch issues for ${repository.fullName}`, e)
|
||||
}
|
||||
|
@ -2439,6 +2439,9 @@ export class AppStore extends TypedBaseStore<IAppState> {
|
|||
|
||||
if (fetchType === FetchType.UserInitiatedTask) {
|
||||
this._refreshPullRequests(repository)
|
||||
if (repository.gitHubRepository != null) {
|
||||
this._refreshIssues(repository.gitHubRepository)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -48,10 +48,10 @@ export class IssuesStore {
|
|||
}
|
||||
|
||||
/**
|
||||
* Fetch the issues for the repository. This will delete any issues that have
|
||||
* Refresh the issues for the current repository. This will delete any issues that have
|
||||
* been closed and update or add any issues that have changed or been added.
|
||||
*/
|
||||
public async fetchIssues(repository: GitHubRepository, account: Account) {
|
||||
public async refreshIssues(repository: GitHubRepository, account: Account) {
|
||||
const api = API.fromAccount(account)
|
||||
const lastUpdatedAt = await this.getLatestUpdatedAt(repository)
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ export class IssuesAutocompletionProvider
|
|||
text: string
|
||||
): Promise<ReadonlyArray<IIssueHit>> {
|
||||
this.updateIssuesScheduler.queue(() => {
|
||||
this.dispatcher.updateIssues(this.repository)
|
||||
this.dispatcher.refreshIssues(this.repository)
|
||||
})
|
||||
|
||||
return this.issuesStore.getIssuesMatching(this.repository, text)
|
||||
|
|
|
@ -29,6 +29,7 @@ install:
|
|||
|
||||
build_script:
|
||||
- yarn lint
|
||||
- yarn validate-changelog
|
||||
- yarn build:prod
|
||||
|
||||
test_script:
|
||||
|
|
|
@ -1,5 +1,39 @@
|
|||
{
|
||||
"releases": {
|
||||
"1.1.2-beta1": [
|
||||
|
||||
],
|
||||
"1.1.1": [
|
||||
"[New] Render WebP images in diffs - #4164. Thanks @agisilaos!",
|
||||
"[Fixed] Edit context menus in commit form input elements - #3886",
|
||||
"[Fixed] Escape behavior for Pull Request list does not match Branch List - #3597",
|
||||
"[Fixed] Keep caret position after inserting completion for emoji/mention - #3835. Thanks @CarlRosell!",
|
||||
"[Fixed] Handle error events when watching files used to get Git LFS output - #4117",
|
||||
"[Fixed] Potential race condition when opening a fork pull request - #4149",
|
||||
"[Fixed] Show placeholder image when no pull requests found - #3973",
|
||||
"[Fixed] Disable commit summary and description inputs while commit in progress - #3893. Thanks @crea7or!",
|
||||
"[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122",
|
||||
"[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!",
|
||||
"[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!",
|
||||
"[Fixed] Delete gitignore file when all entries cleared in Repository Settings - #1896",
|
||||
"[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!",
|
||||
"[Fixed] Attempt to focus the application window on macOS after signing in via the browser - #4126",
|
||||
"[Fixed] Refresh issues when user manually fetches - #4076",
|
||||
"[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!",
|
||||
"[Improved] Improve contrast for button labels in app toolbar - #4219",
|
||||
"[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!",
|
||||
"[Improved] Make the keychain known issue more clear within Desktop - #4125",
|
||||
"[Improved] Continue past the 'diff too large' message and view the diff - #4050",
|
||||
"[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!",
|
||||
"[Improved] Add message to gitignore dialog when not on default branch - #3720",
|
||||
"[Improved] Hide Desktop-specific forks in Branch List - #4127",
|
||||
"[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216",
|
||||
"[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!",
|
||||
"[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!",
|
||||
"[Improved] Move forget password link after the password dialog to match expected tab order - #4283. Thanks @iamnapo!",
|
||||
"[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!",
|
||||
"[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030"
|
||||
],
|
||||
"1.1.1-beta4": [
|
||||
"[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030"
|
||||
],
|
||||
|
@ -38,7 +72,7 @@
|
|||
"[Improved] Electron 1.8.3 upgrade (again)"
|
||||
],
|
||||
"1.1.1-test1": [
|
||||
"[Improved] Electron 1.8.3 upgrade"
|
||||
"[Improved] Forcing a focus on the window after the OAuth dance is done"
|
||||
],
|
||||
"1.1.1-beta1": [
|
||||
|
||||
|
@ -636,8 +670,7 @@
|
|||
"[Fixed] 'Create Without Pushing' button throwing an exception while opening a pull request - #2368",
|
||||
"[Fixed] Windows: Don't removing the running app out from under itself when there are updates pending - #2373",
|
||||
"[Fixed] Windows: Respect `core.autocrlf` and `core.safeclrf` when modifying the .gitignore - #1535",
|
||||
"[Fixed] Windows: Fix opening the app from the command line - #2396",
|
||||
"[Fixed] 'Create Without Pushing' button throwing an exception while opening a pull request - #2368"
|
||||
"[Fixed] Windows: Fix opening the app from the command line - #2396"
|
||||
],
|
||||
"0.7.3-beta5": [],
|
||||
"0.7.3-beta4": [],
|
||||
|
|
|
@ -33,6 +33,7 @@ dependencies:
|
|||
compile:
|
||||
override:
|
||||
- yarn lint
|
||||
- yarn validate-changelog
|
||||
- yarn build:prod
|
||||
|
||||
test:
|
||||
|
|
|
@ -29,6 +29,20 @@ This seems to be caused by the Keychain being in an invalid state, affecting app
|
|||
- Right-click on the `login` keychain and try unlocking it
|
||||
- Sign into your GitHub account again
|
||||
|
||||
### Checking for updates triggers a 'Could not create temporary directory: Permission denied' message - [#4115](https://github.com/desktop/desktop/issues/4115)
|
||||
|
||||
This issue seems to be caused by missing permissions for the `~/Library/Caches/com.github.GitHubClient.ShipIt` folder. This is a directory that Desktop uses to create and unpack temporary files as part of updating the application.
|
||||
|
||||
**Workaround:**
|
||||
|
||||
- Close Desktop
|
||||
- Open Finder and navigate to `~/Library/Caches/`
|
||||
- Context-click `com.github.GitHubClient.ShipIt` and select **Get Info**
|
||||
- Expand the **Sharing & Permissions** section
|
||||
- If you do not see the "You can read and write" message, add yourself with
|
||||
the "Read & Write" permissions
|
||||
- Start Desktop again and check for updates
|
||||
|
||||
## Windows
|
||||
|
||||
### Window is hidden after detaching secondary monitor - [#2107](https://github.com/desktop/desktop/issues/2107)
|
||||
|
|
12
package.json
12
package.json
|
@ -8,7 +8,8 @@
|
|||
"cli": "ts-node --require ./app/test/globals.ts --require ./app/src/cli/dev-commands-global.js app/src/cli/main.ts",
|
||||
"test:integration": "cross-env TEST_ENV=1 ELECTRON_NO_ATTACH_CONSOLE=1 xvfb-maybe --auto-servernum -- mocha -t 30000 --require ts-node/register app/test/integration/*.ts",
|
||||
"test:unit": "ts-node script/unit-tests.ts",
|
||||
"test": "yarn test:unit && yarn test:integration",
|
||||
"test:script": "mocha -t 10000 --require ts-node/register script/changelog/test/*.ts",
|
||||
"test": "yarn test:unit && yarn test:script && yarn test:integration",
|
||||
"test:setup": "ts-node script/test-setup.ts",
|
||||
"test:review": "ts-node script/test-review.ts",
|
||||
"postinstall": "cd app && yarn install --force && cd .. && git submodule update --recursive --init && yarn compile:tslint",
|
||||
|
@ -19,7 +20,7 @@
|
|||
"compile:prod": "cross-env NODE_ENV=production parallel-webpack --config app/webpack.production.js",
|
||||
"build:dev": "yarn compile:dev && cross-env NODE_ENV=development ts-node script/build.ts",
|
||||
"build:prod": "yarn compile:prod && cross-env NODE_ENV=production ts-node script/build.ts",
|
||||
"package": "ts-node -P script script/package.ts",
|
||||
"package": "ts-node -P script/tsconfig.json script/package.ts",
|
||||
"generate-octicons": "ts-node script/generate-octicons.ts",
|
||||
"clean:tslint": "rimraf tslint-rules/*.js",
|
||||
"compile:tslint": "tsc -p tslint-rules",
|
||||
|
@ -37,7 +38,8 @@
|
|||
"rebuild-hard:dev": "yarn clean-slate && yarn build:dev",
|
||||
"rebuild-hard:prod": "yarn clean-slate && yarn build:prod",
|
||||
"changelog": "ts-node script/changelog/index.ts",
|
||||
"draft-release": "ts-node script/draft-release/index.ts"
|
||||
"draft-release": "ts-node script/draft-release/index.ts",
|
||||
"validate-changelog": "ts-node script/validate-changelog.ts"
|
||||
},
|
||||
"author": {
|
||||
"name": "GitHub, Inc.",
|
||||
|
@ -50,6 +52,7 @@
|
|||
"yarn": ">= 1.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": "^6.4.0",
|
||||
"awesome-typescript-loader": "^3.4.0",
|
||||
"aws-sdk": "^2.23.0",
|
||||
"babel-core": "^6.24.1",
|
||||
|
@ -65,6 +68,7 @@
|
|||
"eslint": "^4.19.1",
|
||||
"eslint-config-prettier": "^2.9.0",
|
||||
"eslint-plugin-babel": "^4.1.2",
|
||||
"eslint-plugin-json": "^1.2.0",
|
||||
"eslint-plugin-prettier": "^2.6.0",
|
||||
"eslint-plugin-react": "^7.7.0",
|
||||
"eslint-plugin-typescript": "^0.10.0",
|
||||
|
@ -88,7 +92,7 @@
|
|||
"spectron": "^3.8.0",
|
||||
"style-loader": "^0.19.1",
|
||||
"to-camel-case": "^1.0.0",
|
||||
"ts-node": "^3.2.0",
|
||||
"ts-node": "^5.0.1",
|
||||
"tslint": "^5.9.1",
|
||||
"tslint-config-prettier": "^1.10.0",
|
||||
"tslint-microsoft-contrib": "^5.0.3",
|
||||
|
|
|
@ -35,19 +35,29 @@ function capitalized(str: string): string {
|
|||
return str.charAt(0).toUpperCase() + str.slice(1)
|
||||
}
|
||||
|
||||
function getChangelogEntry(commit: IParsedCommit, pr: IAPIPR): string {
|
||||
export function findIssueRef(body: string): string {
|
||||
let issueRef = ''
|
||||
|
||||
const re = /(close[s]?|fix(e[sd])?|resolve[sd]):?\s*#(\d+)/gi
|
||||
let match: RegExpExecArray | null = null
|
||||
do {
|
||||
match = re.exec(body)
|
||||
if (match && match.length === 4) {
|
||||
// a match should always have four elements - the matching text
|
||||
// as well as the three groups within the match. We're only
|
||||
// interested in the last group - the issue reference number
|
||||
issueRef += ` #${match[3]}`
|
||||
}
|
||||
} while (match)
|
||||
|
||||
return issueRef
|
||||
}
|
||||
|
||||
function getChangelogEntry(commit: IParsedCommit, pr: IAPIPR): string {
|
||||
let type = PlaceholderChangeType
|
||||
const description = capitalized(pr.title)
|
||||
|
||||
const re = /Fixes #(\d+)/gi
|
||||
let match: RegExpExecArray | null = null
|
||||
do {
|
||||
match = re.exec(pr.body)
|
||||
if (match && match.length > 1) {
|
||||
issueRef += ` #${match[1]}`
|
||||
}
|
||||
} while (match)
|
||||
let issueRef = findIssueRef(pr.body)
|
||||
|
||||
if (issueRef.length) {
|
||||
type = 'Fixed'
|
||||
|
|
59
script/changelog/test/parser-test.ts
Normal file
59
script/changelog/test/parser-test.ts
Normal file
|
@ -0,0 +1,59 @@
|
|||
import { expect } from 'chai'
|
||||
|
||||
import { findIssueRef } from '../parser'
|
||||
|
||||
describe('changelog/parser', () => {
|
||||
describe('findIssueRef', () => {
|
||||
it('detected fixes message at start of PR body', () => {
|
||||
const body = `
|
||||
Fixes #2314
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin turpis
|
||||
tempor euismod fermentum. Nullam hendrerit neque eget risus faucibus volutpat. Donec
|
||||
ultrices, orci quis auctor ultrices, nulla lacus gravida lectus, non rutrum dolor
|
||||
quam vel augue.`
|
||||
expect(findIssueRef(body)).to.equal(' #2314')
|
||||
})
|
||||
|
||||
it('detects multiple fixed issues in PR body', () => {
|
||||
const body = `
|
||||
Fixes #2314
|
||||
Fixes #1234
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin turpis
|
||||
tempor euismod fermentum. Nullam hendrerit neque eget risus faucibus volutpat. Donec
|
||||
ultrices, orci quis auctor ultrices, nulla lacus gravida lectus, non rutrum dolor
|
||||
quam vel augue.`
|
||||
expect(findIssueRef(body)).to.equal(' #2314 #1234')
|
||||
})
|
||||
|
||||
it('handles colon after fixed message', () => {
|
||||
const body = `
|
||||
Pellentesque pellentesque finibus fermentum. Aenean eget semper libero.
|
||||
|
||||
Fixes: #2314
|
||||
|
||||
Nam malesuada augue vel velit vehicula suscipit. Nunc posuere, velit at sodales
|
||||
malesuada, quam tellus rutrum orci, et tincidunt sem nunc non velit. Cras
|
||||
placerat, massa vel tristique iaculis, urna nisl tristique nibh, eget luctus
|
||||
nisl quam in metus.`
|
||||
expect(findIssueRef(body)).to.equal(' #2314')
|
||||
})
|
||||
|
||||
it('handles closes syntax', () => {
|
||||
const body = `
|
||||
Closes: #2314
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin turpis
|
||||
tempor euismod fermentum. Nullam hendrerit neque eget risus faucibus volutpat. Donec
|
||||
ultrices, orci quis auctor ultrices, nulla lacus gravida lectus, non rutrum dolor
|
||||
quam vel augue.`
|
||||
expect(findIssueRef(body)).to.equal(' #2314')
|
||||
})
|
||||
|
||||
it('handles resolves syntax', () => {
|
||||
const body = `This resolves #2314 and is totally wild`
|
||||
expect(findIssueRef(body)).to.equal(' #2314')
|
||||
})
|
||||
})
|
||||
})
|
|
@ -18,6 +18,7 @@ const report = eslint.executeOnFiles([
|
|||
'./tslint-rules/**/*.ts',
|
||||
'./app/*.js',
|
||||
'./app/{src,typings,test}/**/*.{j,t}s?(x)',
|
||||
'./changelog.json',
|
||||
])
|
||||
|
||||
if (shouldFix) {
|
||||
|
@ -29,6 +30,6 @@ console.log(eslint.getFormatter()(report.results))
|
|||
if (report.errorCount > 0) {
|
||||
process.exitCode = 1
|
||||
console.error(
|
||||
chalk`{bold.green → To fix some of these errors, run {underline yarn eslint:fix}}`
|
||||
chalk`{bold.green → To fix some of these errors, run {underline yarn eslint --fix}}`
|
||||
)
|
||||
}
|
||||
|
|
|
@ -105,5 +105,6 @@ generateIconData().then(result => {
|
|||
|
||||
console.log('Ensuring generated file is formatted correctly...')
|
||||
const root = Path.dirname(__dirname)
|
||||
return cp.spawn('yarn', ['lint:fix'], { cwd: root, stdio: 'inherit' })
|
||||
const yarnExecutable = process.platform === 'win32' ? 'yarn.cmd' : 'yarn'
|
||||
return cp.spawn(yarnExecutable, ['lint:fix'], { cwd: root, stdio: 'inherit' })
|
||||
})
|
||||
|
|
80
script/validate-changelog.ts
Normal file
80
script/validate-changelog.ts
Normal file
|
@ -0,0 +1,80 @@
|
|||
#!/usr/bin/env ts-node
|
||||
|
||||
import * as Path from 'path'
|
||||
import * as Fs from 'fs'
|
||||
|
||||
import * as Ajv from 'ajv'
|
||||
|
||||
function handleError(error: string) {
|
||||
console.error(error)
|
||||
process.exit(-1)
|
||||
}
|
||||
|
||||
function formatErrors(errors: Ajv.ErrorObject[]): string {
|
||||
return errors
|
||||
.map(error => {
|
||||
const { dataPath, message } = error
|
||||
const additionalProperties = error.params as any
|
||||
const additionalProperty = additionalProperties.additionalProperty as string
|
||||
|
||||
let additionalPropertyText = ''
|
||||
|
||||
if (additionalProperty != null) {
|
||||
additionalPropertyText = `, found: '${
|
||||
additionalProperties.additionalProperty
|
||||
}'`
|
||||
}
|
||||
|
||||
// dataPath starts with a leading "."," which is a bit confusing
|
||||
const element = dataPath.substr(1)
|
||||
|
||||
return ` - ${element} - ${message}${additionalPropertyText}`
|
||||
})
|
||||
.join('\n')
|
||||
}
|
||||
|
||||
const repositoryRoot = Path.dirname(__dirname)
|
||||
const changelogPath = Path.join(repositoryRoot, 'changelog.json')
|
||||
|
||||
const changelog = Fs.readFileSync(changelogPath, 'utf8')
|
||||
|
||||
let changelogObj = null
|
||||
|
||||
try {
|
||||
changelogObj = JSON.parse(changelog)
|
||||
} catch {
|
||||
handleError(
|
||||
'Unable to parse the contents of changelog.json into a JSON object. Please review the file contents.'
|
||||
)
|
||||
}
|
||||
|
||||
const schema = {
|
||||
$schema: 'http://json-schema.org/draft-07/schema#',
|
||||
type: 'object',
|
||||
properties: {
|
||||
releases: {
|
||||
type: 'object',
|
||||
patternProperties: {
|
||||
'^([0-9]+.[0-9]+.[0-9]+)(-beta[0-9]+|-test[0-9]+)?$': {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string',
|
||||
},
|
||||
uniqueItems: true,
|
||||
},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const ajv = new Ajv({ allErrors: true, uniqueItems: true })
|
||||
const validate = ajv.compile(schema)
|
||||
|
||||
const valid = validate(changelogObj)
|
||||
|
||||
if (!valid && validate.errors != null) {
|
||||
handleError(`Errors: \n${formatErrors(validate.errors)}`)
|
||||
}
|
||||
|
||||
console.log('The changelog is totally fine')
|
133
yarn.lock
133
yarn.lock
|
@ -262,6 +262,15 @@ ajv@^6.1.1:
|
|||
fast-json-stable-stringify "^2.0.0"
|
||||
json-schema-traverse "^0.3.0"
|
||||
|
||||
ajv@^6.4.0:
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.4.0.tgz#d3aff78e9277549771daf0164cff48482b754fc6"
|
||||
dependencies:
|
||||
fast-deep-equal "^1.0.0"
|
||||
fast-json-stable-stringify "^2.0.0"
|
||||
json-schema-traverse "^0.3.0"
|
||||
uri-js "^3.0.2"
|
||||
|
||||
align-text@^0.1.1, align-text@^0.1.3:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
|
||||
|
@ -1395,6 +1404,13 @@ cli-width@^2.0.0:
|
|||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
|
||||
|
||||
cli@~1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cli/-/cli-1.0.1.tgz#22817534f24bfa4950c34d532d48ecbc621b8c14"
|
||||
dependencies:
|
||||
exit "0.1.2"
|
||||
glob "^7.1.1"
|
||||
|
||||
cliui@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
|
||||
|
@ -1547,7 +1563,7 @@ configstore@^3.0.0:
|
|||
write-file-atomic "^2.0.0"
|
||||
xdg-basedir "^3.0.0"
|
||||
|
||||
console-browserify@^1.1.0:
|
||||
console-browserify@1.1.x, console-browserify@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
|
||||
dependencies:
|
||||
|
@ -2030,13 +2046,19 @@ domhandler@2.1:
|
|||
dependencies:
|
||||
domelementtype "1"
|
||||
|
||||
domhandler@2.3:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
|
||||
dependencies:
|
||||
domelementtype "1"
|
||||
|
||||
domutils@1.1:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485"
|
||||
dependencies:
|
||||
domelementtype "1"
|
||||
|
||||
domutils@1.5.1:
|
||||
domutils@1.5, domutils@1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
|
||||
dependencies:
|
||||
|
@ -2322,6 +2344,10 @@ enhanced-resolve@^3.3.0, enhanced-resolve@^3.4.0:
|
|||
object-assign "^4.0.1"
|
||||
tapable "^0.2.7"
|
||||
|
||||
entities@1.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
|
||||
|
||||
entities@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
|
||||
|
@ -2443,6 +2469,12 @@ eslint-plugin-babel@^4.1.2:
|
|||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.2.tgz#79202a0e35757dd92780919b2336f1fa2fe53c1e"
|
||||
|
||||
eslint-plugin-json@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-1.2.0.tgz#9ba73bb0be99d50093e889f5b968463d2a30efae"
|
||||
dependencies:
|
||||
jshint "^2.8.0"
|
||||
|
||||
eslint-plugin-prettier@^2.6.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz#33e4e228bdb06142d03c560ce04ec23f6c767dd7"
|
||||
|
@ -2593,6 +2625,10 @@ execa@^0.7.0:
|
|||
signal-exit "^3.0.0"
|
||||
strip-eof "^1.0.0"
|
||||
|
||||
exit@0.1.2, exit@0.1.x:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
|
||||
|
||||
expand-brackets@^0.1.4:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
|
||||
|
@ -3320,12 +3356,6 @@ home-path@^1.0.1:
|
|||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f"
|
||||
|
||||
homedir-polyfill@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
|
||||
dependencies:
|
||||
parse-passwd "^1.0.0"
|
||||
|
||||
hosted-git-info@^2.1.4, hosted-git-info@^2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
|
||||
|
@ -3362,6 +3392,16 @@ html-webpack-plugin@^2.30.1:
|
|||
pretty-error "^2.0.2"
|
||||
toposort "^1.0.0"
|
||||
|
||||
htmlparser2@3.8.x:
|
||||
version "3.8.3"
|
||||
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
|
||||
dependencies:
|
||||
domelementtype "1"
|
||||
domhandler "2.3"
|
||||
domutils "1.5"
|
||||
entities "1.0"
|
||||
readable-stream "1.1"
|
||||
|
||||
htmlparser2@~3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe"
|
||||
|
@ -3870,6 +3910,19 @@ jsesc@~0.5.0:
|
|||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
||||
|
||||
jshint@^2.8.0:
|
||||
version "2.9.5"
|
||||
resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.5.tgz#1e7252915ce681b40827ee14248c46d34e9aa62c"
|
||||
dependencies:
|
||||
cli "~1.0.0"
|
||||
console-browserify "1.1.x"
|
||||
exit "0.1.x"
|
||||
htmlparser2 "3.8.x"
|
||||
lodash "3.7.x"
|
||||
minimatch "~3.0.2"
|
||||
shelljs "0.3.x"
|
||||
strip-json-comments "1.0.x"
|
||||
|
||||
json-loader@^0.5.4:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
|
||||
|
@ -4149,6 +4202,10 @@ lodash.uniq@^4.5.0:
|
|||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
|
||||
lodash@3.7.x:
|
||||
version "3.7.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45"
|
||||
|
||||
lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.8.0, lodash@~4.17.4:
|
||||
version "4.17.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||
|
@ -4907,10 +4964,6 @@ parse-json@^2.2.0:
|
|||
dependencies:
|
||||
error-ex "^1.2.0"
|
||||
|
||||
parse-passwd@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
|
||||
|
||||
parseurl@~1.3.2:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
|
||||
|
@ -5389,6 +5442,10 @@ punycode@^1.2.4, punycode@^1.4.1:
|
|||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
|
||||
|
||||
punycode@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d"
|
||||
|
||||
q@^1.1.2, q@~1.5.0:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
|
||||
|
@ -5535,6 +5592,15 @@ readable-stream@1.0:
|
|||
isarray "0.0.1"
|
||||
string_decoder "~0.10.x"
|
||||
|
||||
readable-stream@1.1:
|
||||
version "1.1.13"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.1"
|
||||
isarray "0.0.1"
|
||||
string_decoder "~0.10.x"
|
||||
|
||||
readable-stream@^1.1.8, readable-stream@~1.1.9:
|
||||
version "1.1.14"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
|
||||
|
@ -6025,6 +6091,10 @@ shebang-regex@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
|
||||
|
||||
shelljs@0.3.x:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1"
|
||||
|
||||
signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||
|
@ -6121,7 +6191,7 @@ source-map-resolve@^0.5.0:
|
|||
source-map-url "^0.4.0"
|
||||
urix "^0.1.0"
|
||||
|
||||
source-map-support@^0.4.0, source-map-support@^0.4.15:
|
||||
source-map-support@^0.4.15:
|
||||
version "0.4.18"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
|
||||
dependencies:
|
||||
|
@ -6326,7 +6396,11 @@ strip-indent@^1.0.1:
|
|||
dependencies:
|
||||
get-stdin "^4.0.1"
|
||||
|
||||
strip-json-comments@^2.0.0, strip-json-comments@~2.0.1:
|
||||
strip-json-comments@1.0.x:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
|
||||
|
||||
strip-json-comments@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||
|
||||
|
@ -6593,28 +6667,19 @@ tryit@^1.0.1:
|
|||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
|
||||
|
||||
ts-node@^3.2.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69"
|
||||
ts-node@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-5.0.1.tgz#78e5d1cb3f704de1b641e43b76be2d4094f06f81"
|
||||
dependencies:
|
||||
arrify "^1.0.0"
|
||||
chalk "^2.0.0"
|
||||
chalk "^2.3.0"
|
||||
diff "^3.1.0"
|
||||
make-error "^1.1.1"
|
||||
minimist "^1.2.0"
|
||||
mkdirp "^0.5.1"
|
||||
source-map-support "^0.4.0"
|
||||
tsconfig "^6.0.0"
|
||||
v8flags "^3.0.0"
|
||||
source-map-support "^0.5.3"
|
||||
yn "^2.0.0"
|
||||
|
||||
tsconfig@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032"
|
||||
dependencies:
|
||||
strip-bom "^3.0.0"
|
||||
strip-json-comments "^2.0.0"
|
||||
|
||||
tslib@^1.7.1:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.0.tgz#dc604ebad64bcbf696d613da6c954aa0e7ea1eb6"
|
||||
|
@ -6824,6 +6889,12 @@ upper-case@^1.1.1:
|
|||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
|
||||
|
||||
uri-js@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa"
|
||||
dependencies:
|
||||
punycode "^2.1.0"
|
||||
|
||||
urix@^0.1.0, urix@~0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
|
||||
|
@ -6901,12 +6972,6 @@ uuid@3.1.0, uuid@^3.0.0, uuid@^3.1.0:
|
|||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
|
||||
|
||||
v8flags@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b"
|
||||
dependencies:
|
||||
homedir-polyfill "^1.0.1"
|
||||
|
||||
validate-npm-package-license@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
|
||||
|
|
Loading…
Reference in a new issue