diff --git a/package.json b/package.json index 7760dbbf33..f439b9786e 100644 --- a/package.json +++ b/package.json @@ -32,22 +32,25 @@ ] }, "devDependencies": { + "@types/escape-html": "^0.0.20", + "@types/fs-extra": "^5.0.4", + "@types/globby": "^8.0.0", + "@types/hash-sum": "^1.0.0", + "@types/lru-cache": "^4.1.1", + "@types/node": "^10.12.12", + "@types/semver": "^5.5.0", + "@vue/test-utils": "^1.0.0-beta.29", "conventional-changelog-cli": "^1.3.22", "eslint": "^4.19.1", "eslint-plugin-jest": "^21.15.1", "eslint-plugin-vue-libs": "^3.0.0", + "inquirer": "^6.2.0", "lerna": "^3.6.0", "lint-staged": "^7.0.4", "minimist": "^1.2.0", - "yorkie": "^1.0.3", - "inquirer": "^6.2.0", - "typescript": "^3.2.2", - "@types/node": "^10.12.12", - "@types/lru-cache": "^4.1.1", - "@types/fs-extra": "^5.0.4", - "@types/semver": "^5.5.0", - "@types/hash-sum": "^1.0.0", - "@types/globby": "^8.0.0", - "@types/escape-html": "^0.0.20" + "ts-jest": "^24.0.0", + "ts-lint": "^4.5.1", + "typescript": "^3.3.3", + "yorkie": "^1.0.3" } } diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/containers.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/containers.spec.js.snap index f09d7b9e63..1805cf3d6f 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/containers.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/containers.spec.js.snap @@ -1,35 +1,36 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`containers danger 1`] = ` -
-

WARNING

-

I am a danger

+"

WARNING

+

I am a danger

+" `; exports[`containers tip 1`] = ` -
-

TIP

-

I am a tip

+"

TIP

+

I am a tip

+" `; exports[`containers tip-override 1`] = ` -
-

提示

-

I am a tip

+"

提示

+

I am a tip

+" `; exports[`containers v-pre 1`] = ` -
-

I am a v-pre

+"
+

I am a v-pre

+" `; exports[`containers warning 1`] = ` -
-

WARNING

-

I am a warning

+"

WARNING

+

I am a warning

+" `; diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/highlight.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/highlight.spec.js.snap index 4435911643..b677285801 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/highlight.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/highlight.spec.js.snap @@ -1,6 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`highlight should highlight code 1`] = ` -
new Vue()
+"
new Vue()
 
+" `; diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/highlightLines.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/highlightLines.spec.js.snap index 793a306d9b..80ae96d6f0 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/highlightLines.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/highlightLines.spec.js.snap @@ -1,20 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`highlightLines highlight multiple lines 1`] = ` -
-
 
-
 
-
-
 
-
 
-
-
-
const app = new Vue({ render, router }) app.$mount('#app') +"
 
 

 
 


const app = new Vue({ + render, + router +}) + +app.$mount('#app') +" `; exports[`highlightLines highlight single line 1`] = ` -
-
 
-
-
new Vue() +"
 

new Vue() +" `; diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/hoist.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/hoist.spec.js.snap index b622990431..846c162fef 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/hoist.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/hoist.spec.js.snap @@ -1,30 +1,35 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`hoist Should keep script and style when not using hoist 1`] = ` -

H1

- +"

H1

+

H2

+" `; exports[`hoist Should miss script and style when using hoist 1`] = ` -

H1

+"

H1

H2

+" `; exports[`hoist Should miss script and style when using hoist 2`] = ` Object { + "__data_block": Object {}, "hoistedTags": Array [ - , - , + +", ], } `; diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/lineNumers.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/lineNumers.spec.js.snap index b2b71eb307..9589909899 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/lineNumers.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/lineNumers.spec.js.snap @@ -1,26 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`lineNumbers should lineNumbers work with highlightLines 1`] = ` - -
- -
-
 
-
-
new Vue() -
- -
- +"
 

new Vue() +
" `; exports[`lineNumbers should render lineNumbers 1`] = ` - -
-
new Vue()
+"
new Vue()
 
-
- -
- +
" `; diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/link.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/link.spec.js.snap index 930f5e3575..73349caaec 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/link.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/link.spec.js.snap @@ -1,25 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`link should render external links correctly 1`] = ` -

- vue - - -

+"

vue

+" `; exports[`link should render external links correctly 2`] = ` -

- vue - - -

+"

vue

+" `; exports[`link should render external links correctly 3`] = ` -

- some link with code - - -

+"

some link with code

+" `; diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap index 3c97bcddcc..adbc747a37 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap @@ -7,6 +7,15 @@ exports[`snippet import snippet 1`] = `
`; +exports[`snippet import snippet with highlight lines and language specified as ruby 1`] = ` +
+
 
+
+
 
+
+
def vuepress puts 'vuepress' end +`; + exports[`snippet import snippet with highlight multiple lines 1`] = `
 
@@ -24,3 +33,10 @@ exports[`snippet import snippet with highlight single line 1`] = `
export default function () { // .. } `; + +exports[`snippet import snippet with language specified as ruby 1`] = ` +
def vuepress
+  puts 'vuepress'
+end
+
+`; diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-multiple.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-multiple.md index c06bf83f85..bda6c0012a 100644 --- a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-multiple.md +++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-multiple.md @@ -1 +1 @@ -<<< @/packages/@vuepress/core/__test__/markdown/fragments/snippet.js{1-3} +<<< @/packages/@vuepress/markdown/__tests__/fragments/snippet.js{1-3} diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single-specify-language-ruby.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single-specify-language-ruby.md new file mode 100644 index 0000000000..44f24aa567 --- /dev/null +++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single-specify-language-ruby.md @@ -0,0 +1,3 @@ +<<< @/packages/@vuepress/markdown/__tests__/fragments/snippet.rb{1,3} lang=ruby + + diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single.md index d98c6ce859..d80fec9973 100644 --- a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single.md +++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-highlightLines-single.md @@ -1 +1 @@ -<<< @/packages/@vuepress/core/__test__/markdown/fragments/snippet.js{1,3} +<<< @/packages/@vuepress/markdown/__tests__/fragments/snippet.js{1,3} diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-specify-language-ruby.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-specify-language-ruby.md new file mode 100644 index 0000000000..183b7c91f7 --- /dev/null +++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-specify-language-ruby.md @@ -0,0 +1 @@ +<<< @/packages/@vuepress/markdown/__tests__/fragments/snippet.rb lang=ruby diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md index 5b87126e7f..f6fbf4048b 100644 --- a/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md +++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md @@ -1 +1 @@ -<<< @/packages/@vuepress/core/__test__/markdown/fragments/snippet.js \ No newline at end of file +<<< @/packages/@vuepress/markdown/__tests__/fragments/snippet.js diff --git a/packages/@vuepress/markdown/__tests__/fragments/snippet.rb b/packages/@vuepress/markdown/__tests__/fragments/snippet.rb new file mode 100644 index 0000000000..2d58b462e3 --- /dev/null +++ b/packages/@vuepress/markdown/__tests__/fragments/snippet.rb @@ -0,0 +1,3 @@ +def vuepress + puts 'vuepress' +end diff --git a/packages/@vuepress/markdown/__tests__/snippet.spec.js b/packages/@vuepress/markdown/__tests__/snippet.spec.js index 5e05b481ed..50b28165ae 100644 --- a/packages/@vuepress/markdown/__tests__/snippet.spec.js +++ b/packages/@vuepress/markdown/__tests__/snippet.spec.js @@ -1,9 +1,14 @@ -import { Md, getFragment } from './util' +import { + Md, + getFragment +} from './util' import snippet from '../lib/snippet.js' import highlightLines from '../lib/highlightLines.js' const md = Md().use(snippet) -const mdH = Md().use(snippet).use(highlightLines) +const mdH = Md() + .use(highlightLines) + .use(snippet) describe('snippet', () => { test('import snippet', async () => { @@ -23,4 +28,19 @@ describe('snippet', () => { const output = mdH.render(input) expect(output).toMatchSnapshot() }) + + test('import snippet with language specified as ruby', async () => { + const input = await getFragment('code-snippet-specify-language-ruby') + + const output = md.render(input) + expect(output).toMatchSnapshot() + expect(output).toMatch(/ruby/) + }) + + test('import snippet with highlight lines and language specified as ruby', async () => { + const input = await getFragment('code-snippet-highlightLines-single-specify-language-ruby') + + const output = mdH.render(input) + expect(output).toMatchSnapshot() + }) }) diff --git a/packages/@vuepress/markdown/lib/snippet.js b/packages/@vuepress/markdown/lib/snippet.js index 895e7b2d5f..d4392a5cac 100644 --- a/packages/@vuepress/markdown/lib/snippet.js +++ b/packages/@vuepress/markdown/lib/snippet.js @@ -2,12 +2,14 @@ const { fs } = require('@vuepress/shared-utils') module.exports = function snippet (md, options = {}) { const root = options.root || process.cwd() + function parser (state, startLine, endLine, silent) { const CH = '<'.charCodeAt(0) const pos = state.bMarks[startLine] + state.tShift[startLine] const max = state.eMarks[startLine] - // if it's indented more than 3 spaces, it should be a code block + // if it's indented more than 3 spaces, + // it should be a code block if (state.sCount[startLine] - state.blkIndent >= 4) { return false } @@ -28,10 +30,24 @@ module.exports = function snippet (md, options = {}) { const content = fs.existsSync(filename) ? fs.readFileSync(filename).toString() : 'Not found: ' + filename const meta = rawPath.replace(filename, '') + const langExtWithMeta = () => { + if (meta && /lang/.test(meta)) { + const langSet = meta.match(/lang=\w+/)[0] + if (langSet) { + const lang = langSet.split('=')[1] + const extractedMeta = meta.replace(langSet, '') + + return lang + extractedMeta + } + } + + return filename.split('.').pop() + meta + } + state.line = startLine + 1 const token = state.push('fence', 'code', 0) - token.info = filename.split('.').pop() + meta + token.info = langExtWithMeta() token.content = content token.markup = '```' token.map = [startLine, startLine + 1] diff --git a/yarn.lock b/yarn.lock index 64877e1baa..5670942646 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1292,6 +1292,14 @@ dependencies: lodash "^4.17.4" +"@vue/test-utils@^1.0.0-beta.29": + version "1.0.0-beta.29" + resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz#c942cf25e891cf081b6a03332b4ae1ef430726f0" + integrity sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA== + dependencies: + dom-event-types "^1.0.0" + lodash "^4.17.4" + "@webassemblyjs/ast@1.5.13": version "1.5.13" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" @@ -1818,7 +1826,7 @@ aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.20.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -2678,6 +2686,11 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" +colors@^1.1.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" + integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== + colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" @@ -3523,7 +3536,7 @@ diacritics@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1" -diff@^3.2.0: +diff@^3.0.1, diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -3580,6 +3593,11 @@ dom-converter@~0.1: dependencies: utila "~0.3" +dom-event-types@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dom-event-types/-/dom-event-types-1.0.0.tgz#5830a0a29e1bf837fe50a70cd80a597232813cae" + integrity sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ== + dom-serializer@0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" @@ -4263,6 +4281,7 @@ filename-regex@^2.0.0: fileset@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= dependencies: glob "^7.0.3" minimatch "^3.0.3" @@ -4340,6 +4359,13 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +findup-sync@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + integrity sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY= + dependencies: + glob "~5.0.0" + flat-cache@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" @@ -4674,6 +4700,17 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@~5.0.0: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + global@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" @@ -6016,6 +6053,7 @@ json3@^3.3.2: json5@2.x: version "2.1.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== dependencies: minimist "^1.2.0" @@ -6505,6 +6543,7 @@ lru-cache@^5.1.1: make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== dependencies: pify "^3.0.0" @@ -6804,7 +6843,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -7369,7 +7408,7 @@ opn@^5.1.0: dependencies: is-wsl "^1.1.0" -optimist@^0.6.1: +optimist@^0.6.1, optimist@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: @@ -7644,6 +7683,11 @@ path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -8636,6 +8680,13 @@ resolve@1.x, resolve@^1.8.1: dependencies: path-parse "^1.0.5" +resolve@^1.1.7: + version "1.10.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" + integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== + dependencies: + path-parse "^1.0.6" + resolve@^1.2.0, resolve@^1.3.2: version "1.8.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.0.tgz#a7f2ac27b78480ecc09c83782741d9f26e4f0c3e" @@ -9625,6 +9676,35 @@ ts-jest@^23.10.5: semver "^5.5" yargs-parser "10.x" +ts-jest@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6" + integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + make-error "1.x" + mkdirp "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" + +ts-lint@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/ts-lint/-/ts-lint-4.5.1.tgz#9c22b7b7b862b67324dd1bd213a845c03a7fb8c0" + integrity sha1-nCK3t7hitnMk3RvSE6hFwDp/uMA= + dependencies: + babel-code-frame "^6.20.0" + colors "^1.1.2" + diff "^3.0.1" + findup-sync "~0.3.0" + glob "^7.1.1" + optimist "~0.6.0" + resolve "^1.1.7" + tsutils "^1.1.0" + tsconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" @@ -9638,6 +9718,11 @@ tslib@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" +tsutils@^1.1.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.9.1.tgz#b9f9ab44e55af9681831d5f28d0aeeaf5c750cb0" + integrity sha1-ufmrROVa+WgYMdXyjQrur1x1DLA= + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -9669,9 +9754,10 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5" +typescript@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221" + integrity sha512-Y21Xqe54TBVp+VDSNbuDYdGw0BpoR/Q6wo/+35M8PAU0vipahnyduJWirxxdxjsAkS7hue53x2zp8gz7F05u0A== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.5" @@ -10515,6 +10601,7 @@ yargs@^11.0.0: yargs@^12.0.1: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0"