From 1a5aed404ed1daad0a3e883cd03a6b2083314211 Mon Sep 17 00:00:00 2001 From: Sakti Kr Chourasia Date: Sat, 20 Jul 2019 07:30:10 +0530 Subject: [PATCH] feat(v2): autoprefix css (#1605) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: make navbar less cluttered * misc(v2): rename components (#1434) * misc(v2): clean up work * misc(v2): rename components * misc(v2): rename Blog components * refactor(v2): remove page plugin component * chore(v2): optimize webpack config * feat(v2): implement theme component overriding (#1435) * feat(v2): implement component overriding * siteDir theme overriding should work for > 1 level directory * fallback for essential component like Loading * rename default -> classic * fix(v2): add missing layout alias on theme-classic plugin * feat(v2): easier plugin theme components swizzling (#1436) * feat(v2): easier plugin theme components override * add context * refactor again * rename eject -> swizzle * nits * fix(v2-cli): passes the missing host option to start (#1439) * feat(v2): Algolia search theme (#1440) * feat(v2): Algolia search plugin * patch PR #1440 (#1441) * alternative implementation * typo * refactor noop * rename SearchAlgolia -> SearchBar * changes.md * refactor(v2): move headerLinks -> themeConfig & rm dead code (#1442) * refactor(v2): move headerLinks -> themeConfig & rm dead code * rm -rf dead code * chore(v2): better chunk naming * refactor(v2): add flowtype + refactor test (#1443) * chore(v2): add flow setup * nits * fix * add flow-typed * ignore compiled library * fix error * fix typing * fix module name mapper * setup for @docusaurus/core * dont try remove type without @flow * fix can't find @docusaurus/utils * fix test * remove obscure relative paths * more refactoring * add typing for server/load/theme.js * no need to ship .flow source * chore(v2): rm flowtype (#1444) * chore(v2): tweak eslint config (#1445) * chore: point website-1.x to correct version so that it can pick latest code * feat(v2): meta description (#1447) * feat(v2): meta description * add description for blog as well * fix non-descriptive text link * remove font awesome * switch front-matter -> gray-matter * fix(v2): docsearch a11y issue (#1449) * refactor(v2): blog data revamp (#1450) * refactor(v2): blog data revamp * fix(v2): fix incorrect blog total count * misc: remove console.log * feat(v2): export frontMatter as an object within MDX file (#1451) * refactor. Don't confuse metadata & frontmatter * export frontMatter in content itself * nits * nits name * dont truncate first four lines in blog * fix(v2): transpiling, window scroll and console error (#1452) * chore(v2): better error message style (#1454) * chore(v2): remove docsearch a11y workaround * fix(v2): slugify tags * feat(v2): blog tags (#1453) * feat(v2): blog tags * feat(v2): blog tags * chore(v2): use remark-slug so that rightToc can benefit from it * fix: right TOC should not strip special chars (#1458) * fix: right TOC should not strip special chars * nits * fix(v2): handle non existent blog, docs, pages (#1459) * fix(v2): handle non existent blog, docs, pages * nits * feat(v2): list blog tags on posts (#1456) * feat(v2): list blog tags on posts * fix date handling on blog header * fix console log error due to non unique key * test(v2): test different type of sidebar item * chore(v2): fix typo * v2.0.0-alpha.14 * fix(v2): fix wrong dependency problem (#1460) * v2.0.0-alpha.15 * Chore(v2): use alias instead of relative path for blogpost * feat(v2): theme config for Footer (#1461) * feat(v2): theme config for Footer * fix: dont show footer if themeConfig.footer is undefined * Import fresh docusaurus.config.js for better hot reload * chore(v2): update dependencies (#1462) * chore(v2): update dependencies * nits * v2.0.0-alpha.16 * fix(v2): fix cannot import css from node_modules in userland (#1463) * docs: showcase user Express Validator (#1464) * docs: sort user with alphabetical (#1465) * chore: fix typo (#1466) * docs: showcase user tipsi-stripe (#1423) * docs: make it clear in the tutorial where the `docs` folder is (#1468) * Make it clear where the `docs` folder is It was not clear, to the beginner user—who this tutorial is for—where the `docs` folder was . The only reason I know this is because I'm a beginner user and I tried for too many minutes to find the `docs` folder inside the `website` folder. I had this assumption because the previous example is offered under the assumption that you're in the `website` folder. Feel free to change the wording, I just want to make it clear where you should be looking, if you're new. * Update tutorial-create-pages.md * docs: add hint for linking dependencies time (#1470) In this tutorial we assume that the user may or may not have used Node.js. It would follow then, based on how long it takes the "Linking dependencies" step to complete—243.61s for me—that we give them a hint that it might take a minute. * doc: mention HTTPS approach in tutorial git clone step (#1471) * doc: change tutorial git to suggest HTTPS Since we're instructing the user to create a new repository, it might be a safe bet to assume that they don't have their SSH keys set up. HTTPS might be a better option in this context. * docs: keep ssh add https @Hongarc said, "How about keep `SSH` and add `HTTPS`." This is one way to do that. * Update tutorial-setup.md * docs: normalized spelling of `web server` (#1473) * docs: clarify location of sidebars.json (#1472) In #1468 we clarify where the `docs` folder is. Here, we make it clear where `sidebars.json` is. * fix: missing cli commands (#1478) * fix: missing cli commands * centralize * feat(v2): move navbar config into themeConfig (#1477) * feat(v2): move navbar config into themeConfig * misc: fix tests * fix: support external url for logo * docs(v2): CLI docs (#1476) * WiP: CLI docs * Tweak word choices for CLI docs - Use the word swizzle directly - Follow variable convention for shell * Resolve docs discussion * Update cli.md * fix(v2): should be able to build even if static folder doesnt exist (#1479) * chore: remove noWatch cli options because you cant disable watch in wds (#1480) * docs: update StreamPipes logo (#1481) * docs: showcase user Ax (#1483) * docs: remove pinned for Taro (#1482) * docs: fix typo for `docs` folder (#1484) * docs: fix typo for `docs` folder * docs: request change for #1484 * Update api-doc-markdown.md * docs: add some showcase user of `facebook` (#1486) * docs: showcase user Idb * docs: showcase user Netconsd * docs: showcase user Redex * added autoprefixer code with postcss loader * removed unused changes * added correct importloader and removed unused packages and conf --- packages/docusaurus/package.json | 2 ++ packages/docusaurus/src/webpack/base.ts | 4 ++-- packages/docusaurus/src/webpack/utils.ts | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index e1def86fe041..fe1e858af4ce 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -56,6 +56,8 @@ "null-loader": "^3.0.0", "optimize-css-assets-webpack-plugin": "^5.0.3", "portfinder": "^1.0.21", + "postcss-loader": "^3.0.0", + "postcss-preset-env": "^6.6.0", "react-dev-utils": "^9.0.1", "react-helmet": "^6.0.0-beta", "react-loadable": "^5.5.0", diff --git a/packages/docusaurus/src/webpack/base.ts b/packages/docusaurus/src/webpack/base.ts index 42eda6f9fda3..5867ae53ef8c 100644 --- a/packages/docusaurus/src/webpack/base.ts +++ b/packages/docusaurus/src/webpack/base.ts @@ -140,7 +140,7 @@ export function createBaseConfig( test: CSS_REGEX, exclude: CSS_MODULE_REGEX, use: getStyleLoaders(isServer, { - importLoaders: 0, + importLoaders: 1, sourceMap: !isProd, }), }, @@ -150,7 +150,7 @@ export function createBaseConfig( test: CSS_MODULE_REGEX, use: getStyleLoaders(isServer, { modules: true, - importLoaders: 0, + importLoaders: 1, localIdentName: `[local]_[hash:base64:8]`, sourceMap: !isProd, exportOnlyLocals: isServer, diff --git a/packages/docusaurus/src/webpack/utils.ts b/packages/docusaurus/src/webpack/utils.ts index dcecc232eea8..2bacd9a79464 100644 --- a/packages/docusaurus/src/webpack/utils.ts +++ b/packages/docusaurus/src/webpack/utils.ts @@ -40,6 +40,24 @@ export function getStyleLoaders( loader: require.resolve('css-loader'), options: cssOptions, }, + { + // Options for PostCSS as we reference these options twice + // Adds vendor prefixing based on your specified browser support in + // package.json + loader: require.resolve('postcss-loader'), + options: { + // Necessary for external CSS imports to work + // https://github.com/facebook/create-react-app/issues/2677 + ident: 'postcss', + plugins: () => [ + require('postcss-preset-env')({ + autoprefixer: { + flexbox: 'no-2009', + }, + }), + ], + }, + }, ].filter(Boolean) as Loader[]; return loaders; }