├── .gitignore ├── README.md ├── main.ts ├── manifest.json ├── package.json ├── rollup.config.js ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Intellij 2 | *.iml 3 | .idea 4 | 5 | # npm 6 | node_modules 7 | package-lock.json 8 | 9 | # build 10 | main.js 11 | *.js.map -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Obsidian Plugin: Copy Markdown 2 | 3 | It adds "Copy Markdown: copy" in Command Palette. It replaces wiki links to markdown links and copy result into clipboard. 4 | 5 | Works with Obsidian 0.9.7 6 | 7 | ### How to install the plugin 8 | 9 | - Copy over `main.js`, `styles.css`, `manifest.json` to your vault `vault/.obsidian/plugins/plugin-id/`. 10 | 11 | For additional info check [this post](https://forum.obsidian.md/t/plugin-directory/6706?u=mrjackphil) 12 | 13 | ### Known issues 14 | 15 | - Didn't tested well. 16 | 17 | ## Support 18 | 19 | - [Patreon](https://patreon.com/mrjackphil) 20 | - [Paypal](https://www.paypal.com/paypalme/mrjackphil) -------------------------------------------------------------------------------- /main.ts: -------------------------------------------------------------------------------- 1 | import { 2 | App, 3 | MarkdownSourceView, 4 | MarkdownView, 5 | Modal, 6 | Notice, 7 | Plugin, 8 | PluginSettingTab, 9 | Setting, TFile, 10 | WorkspaceLeaf 11 | } from 'obsidian'; 12 | 13 | export default class MyPlugin extends Plugin { 14 | onInit() { 15 | 16 | } 17 | 18 | onload() { 19 | console.log('Copy Markdown loading'); 20 | 21 | this.addCommand({ 22 | id: 'copy-markdown', 23 | name: 'copy', 24 | checkCallback: (checking: boolean) => { 25 | let view = this.app.workspace.activeLeaf.view; 26 | if (view instanceof MarkdownView) { 27 | if (!checking) { 28 | this.copyMarkdown(view) 29 | } 30 | return true; 31 | } 32 | return false; 33 | } 34 | }); 35 | } 36 | 37 | onunload() { 38 | console.log('Copy Markdown unloading'); 39 | } 40 | 41 | replaceWikiLink(files: TFile[], text: string): string { 42 | const name = text.match(/\[\[(.+)\]\]/)[1].replace(/\#.+/, '') 43 | const path = files.filter(file => file.basename === name)[0]?.path || name 44 | 45 | return `[${name}](${encodeURIComponent(path)})` 46 | } 47 | 48 | replaceWikiLinkWithAlias(files: TFile[], text: string): string { 49 | const alias = text.replace(/^.+?\|/,'').replace(']]', ''); 50 | const name = text.replace('[[','').replace(/\|.+/, '').replace(/\#.+/, ''); 51 | const path = files.filter(file => file.basename === name)[0]?.path || name 52 | 53 | return `[${alias}](${encodeURIComponent(path)})` 54 | } 55 | 56 | copyMarkdown(view: MarkdownView) { 57 | const files = this.app.vault.getFiles() 58 | const content = view.sourceMode.cmEditor.getDoc().getValue() 59 | .replace(/\[\[(.+?)\|(.+?)\]\]/g, this.replaceWikiLinkWithAlias.bind(this, files)) 60 | .replace(/\[\[(.+?)\]\]/g, this.replaceWikiLink.bind(this, files)) 61 | 62 | navigator.clipboard.writeText(content) 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "mrjackphil-copy-markdown", 3 | "name": "Copy Markdown", 4 | "description": "Add a command to copy content of current pane to clipboard as Markdown", 5 | "isDesktopOnly": false, 6 | "js": "main.js", 7 | "css": "" 8 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "obsidian-sample-plugin", 3 | "version": "0.9.7", 4 | "description": "This is a sample plugin for Obsidian (https://obsidian.md)", 5 | "main": "main.js", 6 | "scripts": { 7 | "dev": "rollup --config rollup.config.js -w", 8 | "build": "rollup --config rollup.config.js" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "MIT", 13 | "devDependencies": { 14 | "@rollup/plugin-commonjs": "^15.1.0", 15 | "@rollup/plugin-node-resolve": "^9.0.0", 16 | "@rollup/plugin-typescript": "^6.0.0", 17 | "@types/node": "^14.14.2", 18 | "obsidian": "https://github.com/obsidianmd/obsidian-api/tarball/master", 19 | "rollup": "^2.32.1", 20 | "tslib": "^2.0.3", 21 | "typescript": "^4.0.3" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import typescript from '@rollup/plugin-typescript'; 2 | import {nodeResolve} from '@rollup/plugin-node-resolve'; 3 | import commonjs from '@rollup/plugin-commonjs'; 4 | 5 | export default { 6 | input: 'main.ts', 7 | output: { 8 | dir: '.', 9 | sourcemap: 'inline', 10 | format: 'cjs', 11 | exports: 'default' 12 | }, 13 | external: ['obsidian'], 14 | plugins: [ 15 | typescript(), 16 | nodeResolve({browser: true}), 17 | commonjs(), 18 | ] 19 | }; -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "inlineSourceMap": true, 5 | "inlineSources": true, 6 | "module": "ESNext", 7 | "target": "es5", 8 | "allowJs": true, 9 | "noImplicitAny": true, 10 | "moduleResolution": "node", 11 | "importHelpers": true, 12 | "lib": [ 13 | "dom", 14 | "es5", 15 | "scripthost", 16 | "es2015" 17 | ] 18 | }, 19 | "include": [ 20 | "**/*.ts" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@rollup/plugin-commonjs@^15.1.0": 6 | version "15.1.0" 7 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238" 8 | integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== 9 | dependencies: 10 | "@rollup/pluginutils" "^3.1.0" 11 | commondir "^1.0.1" 12 | estree-walker "^2.0.1" 13 | glob "^7.1.6" 14 | is-reference "^1.2.1" 15 | magic-string "^0.25.7" 16 | resolve "^1.17.0" 17 | 18 | "@rollup/plugin-node-resolve@^9.0.0": 19 | version "9.0.0" 20 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" 21 | integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== 22 | dependencies: 23 | "@rollup/pluginutils" "^3.1.0" 24 | "@types/resolve" "1.17.1" 25 | builtin-modules "^3.1.0" 26 | deepmerge "^4.2.2" 27 | is-module "^1.0.0" 28 | resolve "^1.17.0" 29 | 30 | "@rollup/plugin-typescript@^6.0.0": 31 | version "6.1.0" 32 | resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz#289e7f0ea12fd659bd13ad59dda73b9055538b83" 33 | integrity sha512-hJxaiE6WyNOsK+fZpbFh9CUijZYqPQuAOWO5khaGTUkM8DYNNyA2TDlgamecE+qLOG1G1+CwbWMAx3rbqpp6xQ== 34 | dependencies: 35 | "@rollup/pluginutils" "^3.1.0" 36 | resolve "^1.17.0" 37 | 38 | "@rollup/pluginutils@^3.1.0": 39 | version "3.1.0" 40 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 41 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 42 | dependencies: 43 | "@types/estree" "0.0.39" 44 | estree-walker "^1.0.1" 45 | picomatch "^2.2.2" 46 | 47 | "@types/codemirror@0.0.98": 48 | version "0.0.98" 49 | resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.98.tgz#b35c7a4ab1fc1684b08a4e3eb65240020556ebfb" 50 | integrity sha512-cbty5LPayy2vNSeuUdjNA9tggG+go5vAxmnLDRWpiZI5a+RDBi9dlozy4/jW/7P/gletbBWbQREEa7A81YxstA== 51 | dependencies: 52 | "@types/tern" "*" 53 | 54 | "@types/estree@*": 55 | version "0.0.45" 56 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" 57 | integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== 58 | 59 | "@types/estree@0.0.39": 60 | version "0.0.39" 61 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 62 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 63 | 64 | "@types/node@*", "@types/node@^14.14.2": 65 | version "14.14.6" 66 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" 67 | integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== 68 | 69 | "@types/resolve@1.17.1": 70 | version "1.17.1" 71 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 72 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 73 | dependencies: 74 | "@types/node" "*" 75 | 76 | "@types/tern@*": 77 | version "0.23.3" 78 | resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.3.tgz#4b54538f04a88c9ff79de1f6f94f575a7f339460" 79 | integrity sha512-imDtS4TAoTcXk0g7u4kkWqedB3E4qpjXzCpD2LU5M5NAXHzCDsypyvXSaG7mM8DKYkCRa7tFp4tS/lp/Wo7Q3w== 80 | dependencies: 81 | "@types/estree" "*" 82 | 83 | balanced-match@^1.0.0: 84 | version "1.0.0" 85 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 86 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 87 | 88 | brace-expansion@^1.1.7: 89 | version "1.1.11" 90 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 91 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 92 | dependencies: 93 | balanced-match "^1.0.0" 94 | concat-map "0.0.1" 95 | 96 | builtin-modules@^3.1.0: 97 | version "3.1.0" 98 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 99 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 100 | 101 | commondir@^1.0.1: 102 | version "1.0.1" 103 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 104 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 105 | 106 | concat-map@0.0.1: 107 | version "0.0.1" 108 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 109 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 110 | 111 | deepmerge@^4.2.2: 112 | version "4.2.2" 113 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 114 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 115 | 116 | estree-walker@^1.0.1: 117 | version "1.0.1" 118 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 119 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 120 | 121 | estree-walker@^2.0.1: 122 | version "2.0.1" 123 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0" 124 | integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== 125 | 126 | fs.realpath@^1.0.0: 127 | version "1.0.0" 128 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 129 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 130 | 131 | fsevents@~2.1.2: 132 | version "2.1.3" 133 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 134 | integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== 135 | 136 | function-bind@^1.1.1: 137 | version "1.1.1" 138 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 139 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 140 | 141 | glob@^7.1.6: 142 | version "7.1.6" 143 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 144 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 145 | dependencies: 146 | fs.realpath "^1.0.0" 147 | inflight "^1.0.4" 148 | inherits "2" 149 | minimatch "^3.0.4" 150 | once "^1.3.0" 151 | path-is-absolute "^1.0.0" 152 | 153 | has@^1.0.3: 154 | version "1.0.3" 155 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 156 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 157 | dependencies: 158 | function-bind "^1.1.1" 159 | 160 | inflight@^1.0.4: 161 | version "1.0.6" 162 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 163 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 164 | dependencies: 165 | once "^1.3.0" 166 | wrappy "1" 167 | 168 | inherits@2: 169 | version "2.0.4" 170 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 171 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 172 | 173 | is-core-module@^2.0.0: 174 | version "2.0.0" 175 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" 176 | integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== 177 | dependencies: 178 | has "^1.0.3" 179 | 180 | is-module@^1.0.0: 181 | version "1.0.0" 182 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 183 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 184 | 185 | is-reference@^1.2.1: 186 | version "1.2.1" 187 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 188 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 189 | dependencies: 190 | "@types/estree" "*" 191 | 192 | magic-string@^0.25.7: 193 | version "0.25.7" 194 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 195 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 196 | dependencies: 197 | sourcemap-codec "^1.4.4" 198 | 199 | minimatch@^3.0.4: 200 | version "3.0.4" 201 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 202 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 203 | dependencies: 204 | brace-expansion "^1.1.7" 205 | 206 | "obsidian@https://github.com/obsidianmd/obsidian-api/tarball/master": 207 | version "0.9.7" 208 | resolved "https://github.com/obsidianmd/obsidian-api/tarball/master#8cbd761836526a23a1fcad9898f88bd337779bbe" 209 | dependencies: 210 | "@types/codemirror" "0.0.98" 211 | 212 | once@^1.3.0: 213 | version "1.4.0" 214 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 215 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 216 | dependencies: 217 | wrappy "1" 218 | 219 | path-is-absolute@^1.0.0: 220 | version "1.0.1" 221 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 222 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 223 | 224 | path-parse@^1.0.6: 225 | version "1.0.6" 226 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 227 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 228 | 229 | picomatch@^2.2.2: 230 | version "2.2.2" 231 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 232 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 233 | 234 | resolve@^1.17.0: 235 | version "1.18.1" 236 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" 237 | integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== 238 | dependencies: 239 | is-core-module "^2.0.0" 240 | path-parse "^1.0.6" 241 | 242 | rollup@^2.32.1: 243 | version "2.32.1" 244 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c" 245 | integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw== 246 | optionalDependencies: 247 | fsevents "~2.1.2" 248 | 249 | sourcemap-codec@^1.4.4: 250 | version "1.4.8" 251 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 252 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 253 | 254 | tslib@^2.0.3: 255 | version "2.0.3" 256 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" 257 | integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== 258 | 259 | typescript@^4.0.3: 260 | version "4.0.5" 261 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" 262 | integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== 263 | 264 | wrappy@1: 265 | version "1.0.2" 266 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 267 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 268 | --------------------------------------------------------------------------------