Repository: marp-team/marp-vscode
Pull request #228 (2021-05-09 01:44:41)

Apply `markdown.preview.typographer` for VS Code 1.56 to Marp preview and the export result


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eb4fe1d..5002f79 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,15 @@
 
 ## [Unreleased]
 
+### Added
+
+- Apply [`markdown.preview.typographer` for VS Code 1.56](https://code.visualstudio.com/updates/v1_56#_markdown-preview-typographer-support) to Marp preview and the export result ([#228](https://github.com/marp-team/marp-vscode/pull/228))
+
+### Changed
+
+- Upgrade Marp Core to [v2.0.2](https://github.com/marp-team/marp-core/releases/v2.0.2) ([#228](https://github.com/marp-team/marp-vscode/pull/228))
+- Upgrade Marp CLI to [v1.0.3](https://github.com/marp-team/marp-cli/releases/v1.0.3) ([#228](https://github.com/marp-team/marp-vscode/pull/228))
+
 ## v0.18.0 - 2021-05-01
 
 ### Added
diff --git a/package-lock.json b/package-lock.json
index c855ebf..94ce2a2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,8 +8,8 @@
       "version": "0.18.0",
       "license": "MIT",
       "dependencies": {
-        "@marp-team/marp-cli": "^1.0.1",
-        "@marp-team/marp-core": "^2.0.1",
+        "@marp-team/marp-cli": "^1.0.3",
+        "@marp-team/marp-core": "^2.0.2",
         "axios": "^0.21.1"
       },
       "devDependencies": {
@@ -1849,11 +1849,12 @@
       }
     },
     "node_modules/@marp-team/marp-cli": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@marp-team/marp-cli/-/marp-cli-1.0.1.tgz",
-      "integrity": "sha512-nrMwsdMM8Tvc5cwjKef1BYcoIN++XtRWlMn9/K2LY7qHDSI58UgY419ol3zm+4/tn8U9cVpcHO6siRmS0MqXxg==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@marp-team/marp-cli/-/marp-cli-1.0.3.tgz",
+      "integrity": "sha512-9s9VeW1Iknj7eqWoaHyUTXVxZzDY1vFvJ5g9gVBwMAjYpR0qb8csgRVtxtuDKVaJ6Sn/jHsZ43qX9mp3rlwN0w==",
+      "license": "MIT",
       "dependencies": {
-        "@marp-team/marp-core": "^2.0.1",
+        "@marp-team/marp-core": "^2.0.2",
         "@marp-team/marpit": "^2.0.1",
         "chokidar": "^3.5.1",
         "chrome-launcher": "^0.13.4",
@@ -1862,12 +1863,12 @@
         "globby": "^11.0.3",
         "import-from": "^3.0.0",
         "pptxgenjs": "^3.5.0",
-        "puppeteer-core": "9.0.0",
+        "puppeteer-core": "9.1.1",
         "serve-index": "^1.9.1",
         "tmp": "^0.2.1",
         "v8-compile-cache": "^2.3.0",
         "ws": "^7.4.5",
-        "yargs": "^16.2.0"
+        "yargs": "^17.0.1"
       },
       "bin": {
         "marp": "marp-cli.js"
@@ -1877,23 +1878,24 @@
       }
     },
     "node_modules/@marp-team/marp-core": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@marp-team/marp-core/-/marp-core-2.0.1.tgz",
-      "integrity": "sha512-DVhvi4nFmjyuCqSkTW43Hdkhy4Vh2LbxiqyBaTVWb80T2EXQKaFpwwSOQGVY2WMjkZhj4gDdwlCYvRVde4qKwQ==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@marp-team/marp-core/-/marp-core-2.0.2.tgz",
+      "integrity": "sha512-Bdioff4eNGghWr/5mll3LvxxxprDZZUtz1chavVx9JfVAdyLIeT3amVk/gHKiZR1KDaGFYiKp+LQfkkjP05jwg==",
+      "license": "MIT",
       "dependencies": {
         "@marp-team/marpit": "^2.0.1",
         "@marp-team/marpit-svg-polyfill": "^1.7.1",
         "emoji-regex": "^9.2.2",
         "highlight.js": "^10.7.2",
-        "katex": "^0.13.3",
+        "katex": "^0.13.9",
         "markdown-it-emoji": "^2.0.0",
         "mathjax-full": "^3.1.4",
-        "postcss": "^8.2.13",
+        "postcss": "^8.2.14",
         "postcss-minify-params": "^5.0.0",
         "postcss-minify-selectors": "^5.0.0",
         "postcss-normalize-whitespace": "^5.0.0",
         "twemoji": "^13.0.2",
-        "xss": "^1.0.8"
+        "xss": "^1.0.9"
       },
       "engines": {
         "node": ">=10"
@@ -1911,9 +1913,9 @@
       }
     },
     "node_modules/@marp-team/marp-core/node_modules/postcss": {
-      "version": "8.2.13",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz",
-      "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==",
+      "version": "8.2.14",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.14.tgz",
+      "integrity": "sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w==",
       "dependencies": {
         "colorette": "^1.2.2",
         "nanoid": "^3.1.22",
@@ -2021,9 +2023,9 @@
       }
     },
     "node_modules/@marp-team/marpit/node_modules/postcss": {
-      "version": "8.2.13",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz",
-      "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==",
+      "version": "8.2.14",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.14.tgz",
+      "integrity": "sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w==",
       "dependencies": {
         "colorette": "^1.2.2",
         "nanoid": "^3.1.22",
@@ -6297,9 +6299,9 @@
       }
     },
     "node_modules/hosted-git-info": {
-      "version": "2.8.8",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
-      "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+      "version": "2.8.9",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
       "dev": true
     },
     "node_modules/html-encoding-sniffer": {
@@ -8072,9 +8074,9 @@
       }
     },
     "node_modules/katex": {
-      "version": "0.13.3",
-      "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.3.tgz",
-      "integrity": "sha512-/w0eycuK1xh201T0uFXYOZWPDoeqDHqR+6SLLKsYvNtUCYtmRjq8F+M74sdpzs+dJZYWv2eUsSW0r1AJfhZOCw==",
+      "version": "0.13.9",
+      "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.9.tgz",
+      "integrity": "sha512-2rz+tCHtVvQOFfq3iv2/xFOqfQmz6MWTwZ5B34kp9CX99iOT2z6YdjyiTDFm0isXR2ePRi0gF8ERwS+IpNfgNA==",
       "dependencies": {
         "commander": "^6.0.0"
       },
@@ -8596,9 +8598,9 @@
       }
     },
     "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": {
-      "version": "2.8.8",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
-      "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+      "version": "2.8.9",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
       "dev": true
     },
     "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
@@ -10099,9 +10101,9 @@
       }
     },
     "node_modules/puppeteer-core": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-9.0.0.tgz",
-      "integrity": "sha512-cgrnFLg5td0ciW3seGmLPlAf7e2jlIEjZlBOij/byS4iD3DRMHxItzVHv5OwEntkC1eamZqt8+WJJpAaGk6zPw==",
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-9.1.1.tgz",
+      "integrity": "sha512-zbedbitVIGhmgz0nt7eIdLsnaoVZSlNJfBivqm2w67T8LR2bU1dvnruDZ8nQO0zn++Iet7zHbAOdnuS5+H2E7A==",
       "dependencies": {
         "debug": "^4.1.0",
         "devtools-protocol": "0.0.869402",
@@ -13701,9 +13703,9 @@
       }
     },
     "node_modules/xss": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.8.tgz",
-      "integrity": "sha512-3MgPdaXV8rfQ/pNn16Eio6VXYPTkqwa0vc7GkiymmY/DqR1SE/7VPAAVZz1GJsJFrllMYO3RHfEaiUGjab6TNw==",
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.9.tgz",
+      "integrity": "sha512-2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==",
       "dependencies": {
         "commander": "^2.20.3",
         "cssfilter": "0.0.10"
@@ -13725,9 +13727,9 @@
       }
     },
     "node_modules/y18n": {
-      "version": "5.0.5",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
-      "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
       "engines": {
         "node": ">=10"
       }
@@ -13747,9 +13749,9 @@
       }
     },
     "node_modules/yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
-      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "version": "17.0.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz",
+      "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==",
       "dependencies": {
         "cliui": "^7.0.2",
         "escalade": "^3.1.1",
@@ -13760,7 +13762,7 @@
         "yargs-parser": "^20.2.2"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=12"
       }
     },
     "node_modules/yargs-parser": {
@@ -15282,11 +15284,11 @@
       }
     },
     "@marp-team/marp-cli": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@marp-team/marp-cli/-/marp-cli-1.0.1.tgz",
-      "integrity": "sha512-nrMwsdMM8Tvc5cwjKef1BYcoIN++XtRWlMn9/K2LY7qHDSI58UgY419ol3zm+4/tn8U9cVpcHO6siRmS0MqXxg==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@marp-team/marp-cli/-/marp-cli-1.0.3.tgz",
+      "integrity": "sha512-9s9VeW1Iknj7eqWoaHyUTXVxZzDY1vFvJ5g9gVBwMAjYpR0qb8csgRVtxtuDKVaJ6Sn/jHsZ43qX9mp3rlwN0w==",
       "requires": {
-        "@marp-team/marp-core": "^2.0.1",
+        "@marp-team/marp-core": "^2.0.2",
         "@marp-team/marpit": "^2.0.1",
         "chokidar": "^3.5.1",
         "chrome-launcher": "^0.13.4",
@@ -15295,32 +15297,32 @@
         "globby": "^11.0.3",
         "import-from": "^3.0.0",
         "pptxgenjs": "^3.5.0",
-        "puppeteer-core": "9.0.0",
+        "puppeteer-core": "9.1.1",
         "serve-index": "^1.9.1",
         "tmp": "^0.2.1",
         "v8-compile-cache": "^2.3.0",
         "ws": "^7.4.5",
-        "yargs": "^16.2.0"
+        "yargs": "^17.0.1"
       }
     },
     "@marp-team/marp-core": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@marp-team/marp-core/-/marp-core-2.0.1.tgz",
-      "integrity": "sha512-DVhvi4nFmjyuCqSkTW43Hdkhy4Vh2LbxiqyBaTVWb80T2EXQKaFpwwSOQGVY2WMjkZhj4gDdwlCYvRVde4qKwQ==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@marp-team/marp-core/-/marp-core-2.0.2.tgz",
+      "integrity": "sha512-Bdioff4eNGghWr/5mll3LvxxxprDZZUtz1chavVx9JfVAdyLIeT3amVk/gHKiZR1KDaGFYiKp+LQfkkjP05jwg==",
       "requires": {
         "@marp-team/marpit": "^2.0.1",
         "@marp-team/marpit-svg-polyfill": "^1.7.1",
         "emoji-regex": "^9.2.2",
         "highlight.js": "^10.7.2",
-        "katex": "^0.13.3",
+        "katex": "^0.13.9",
         "markdown-it-emoji": "^2.0.0",
         "mathjax-full": "^3.1.4",
-        "postcss": "^8.2.13",
+        "postcss": "^8.2.14",
         "postcss-minify-params": "^5.0.0",
         "postcss-minify-selectors": "^5.0.0",
         "postcss-normalize-whitespace": "^5.0.0",
         "twemoji": "^13.0.2",
-        "xss": "^1.0.8"
+        "xss": "^1.0.9"
       },
       "dependencies": {
         "cssnano-utils": {
@@ -15330,9 +15332,9 @@
           "requires": {}
         },
         "postcss": {
-          "version": "8.2.13",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz",
-          "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==",
+          "version": "8.2.14",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.14.tgz",
+          "integrity": "sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w==",
           "requires": {
             "colorette": "^1.2.2",
             "nanoid": "^3.1.22",
@@ -15395,9 +15397,9 @@
       },
       "dependencies": {
         "postcss": {
-          "version": "8.2.13",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz",
-          "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==",
+          "version": "8.2.14",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.14.tgz",
+          "integrity": "sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w==",
           "requires": {
             "colorette": "^1.2.2",
             "nanoid": "^3.1.22",
@@ -18718,9 +18720,9 @@
       "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg=="
     },
     "hosted-git-info": {
-      "version": "2.8.8",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
-      "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+      "version": "2.8.9",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
       "dev": true
     },
     "html-encoding-sniffer": {
@@ -20074,9 +20076,9 @@
       }
     },
     "katex": {
-      "version": "0.13.3",
-      "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.3.tgz",
-      "integrity": "sha512-/w0eycuK1xh201T0uFXYOZWPDoeqDHqR+6SLLKsYvNtUCYtmRjq8F+M74sdpzs+dJZYWv2eUsSW0r1AJfhZOCw==",
+      "version": "0.13.9",
+      "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.9.tgz",
+      "integrity": "sha512-2rz+tCHtVvQOFfq3iv2/xFOqfQmz6MWTwZ5B34kp9CX99iOT2z6YdjyiTDFm0isXR2ePRi0gF8ERwS+IpNfgNA==",
       "requires": {
         "commander": "^6.0.0"
       },
@@ -20479,9 +20481,9 @@
           },
           "dependencies": {
             "hosted-git-info": {
-              "version": "2.8.8",
-              "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
-              "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+              "version": "2.8.9",
+              "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+              "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
               "dev": true
             },
             "normalize-package-data": {
@@ -21654,9 +21656,9 @@
       "dev": true
     },
     "puppeteer-core": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-9.0.0.tgz",
-      "integrity": "sha512-cgrnFLg5td0ciW3seGmLPlAf7e2jlIEjZlBOij/byS4iD3DRMHxItzVHv5OwEntkC1eamZqt8+WJJpAaGk6zPw==",
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-9.1.1.tgz",
+      "integrity": "sha512-zbedbitVIGhmgz0nt7eIdLsnaoVZSlNJfBivqm2w67T8LR2bU1dvnruDZ8nQO0zn++Iet7zHbAOdnuS5+H2E7A==",
       "requires": {
         "debug": "^4.1.0",
         "devtools-protocol": "0.0.869402",
@@ -24528,9 +24530,9 @@
       "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw=="
     },
     "xss": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.8.tgz",
-      "integrity": "sha512-3MgPdaXV8rfQ/pNn16Eio6VXYPTkqwa0vc7GkiymmY/DqR1SE/7VPAAVZz1GJsJFrllMYO3RHfEaiUGjab6TNw==",
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.9.tgz",
+      "integrity": "sha512-2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==",
       "requires": {
         "commander": "^2.20.3",
         "cssfilter": "0.0.10"
@@ -24543,9 +24545,9 @@
       "dev": true
     },
     "y18n": {
-      "version": "5.0.5",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
-      "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg=="
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
     },
     "yallist": {
       "version": "4.0.0",
@@ -24559,9 +24561,9 @@
       "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
     },
     "yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
-      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "version": "17.0.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz",
+      "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==",
       "requires": {
         "cliui": "^7.0.2",
         "escalade": "^3.1.1",
diff --git a/package.json b/package.json
index 10550a0..c724e01 100644
--- a/package.json
+++ b/package.json
@@ -250,8 +250,8 @@
     "yaml": "^1.10.2"
   },
   "dependencies": {
-    "@marp-team/marp-cli": "^1.0.1",
-    "@marp-team/marp-core": "^2.0.1",
+    "@marp-team/marp-cli": "^1.0.3",
+    "@marp-team/marp-core": "^2.0.2",
     "axios": "^0.21.1"
   }
 }
diff --git a/src/extension.ts b/src/extension.ts
index dd373fd..6bf5dcd 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -20,6 +20,7 @@ const shouldRefreshConfs = [
   'markdown.marp.outlineExtension',
   'markdown.marp.themes',
   'markdown.preview.breaks',
+  'markdown.preview.typographer',
 ]
 
 export const marpVscode = Symbol('marp-vscode')
@@ -53,6 +54,7 @@ export function extendMarkdownIt(md: any) {
         .use(outline)
         .use(lineNumber)
 
+      // Switch rules
       if (!(marpConfiguration().get<boolean>('outlineExtension') ?? true)) {
         marp.markdown.disable(outlineRule)
       }
diff --git a/src/option.ts b/src/option.ts
index c748038..70900fb 100644
--- a/src/option.ts
+++ b/src/option.ts
@@ -34,7 +34,10 @@ export const marpCoreOptionForPreview = (
     cachedPreviewOption = {
       container: { tag: 'div', id: 'marp-vscode' },
       html: marpConfiguration().get<boolean>('enableHtml') || undefined,
-      markdown: { breaks: breaks(!!baseOption.breaks) },
+      markdown: {
+        breaks: breaks(!!baseOption.breaks),
+        typographer: baseOption.typographer,
+      },
       math: marpConfiguration().get<'katex' | 'mathjax'>('mathTypesetting'),
       minifyCSS: false,
       script: false,
@@ -44,16 +47,15 @@ export const marpCoreOptionForPreview = (
 }
 
 export const marpCoreOptionForCLI = async ({ uri }: TextDocument) => {
+  const confMdPreview = workspace.getConfiguration('markdown.preview', uri)
+
   const baseOpts = {
     allowLocalFiles: true,
     html: marpConfiguration().get<boolean>('enableHtml') || undefined,
     options: {
       markdown: {
-        breaks: breaks(
-          !!workspace
-            .getConfiguration('markdown.preview', uri)
-            .get<boolean>('breaks')
-        ),
+        breaks: breaks(!!confMdPreview.get<boolean>('breaks')),
+        typographer: confMdPreview.get<boolean>('typographer'),
       },
       math: marpConfiguration().get<'katex' | 'mathjax'>('mathTypesetting'),
     },


Test patch:
diff --git a/src/option.test.ts b/src/option.test.ts
index 3c5d0ed..ceb6a7e 100644
--- a/src/option.test.ts
+++ b/src/option.test.ts
@@ -64,6 +64,22 @@ describe('Option', () => {
       ).toBe(false)
     })
 
+    it('enables typographer by preference', async () => {
+      expect(
+        (await subject({ uri: untitledUri })).options.markdown.typographer
+      ).toBeUndefined()
+
+      setConfiguration({ 'markdown.preview.typographer': true })
+      expect(
+        (await subject({ uri: untitledUri })).options.markdown.typographer
+      ).toBe(true)
+
+      setConfiguration({ 'markdown.preview.typographer': false })
+      expect(
+        (await subject({ uri: untitledUri })).options.markdown.typographer
+      ).toBe(false)
+    })
+
     describe('when targeted document belongs to workspace', () => {
       const css = '/* @theme test */'