From 2e6d18b65c28a93d2cf38fae36fc2c4d819888bf Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 15 Jun 2022 14:37:11 +0700 Subject: [PATCH 1/4] make the image clickable --- .../joy/getting-started/templates/TemplateCollection.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/data/joy/getting-started/templates/TemplateCollection.js b/docs/data/joy/getting-started/templates/TemplateCollection.js index 283ac72bde01ce..a070337fd8bf87 100644 --- a/docs/data/joy/getting-started/templates/TemplateCollection.js +++ b/docs/data/joy/getting-started/templates/TemplateCollection.js @@ -6,6 +6,7 @@ import { useTheme } from '@mui/joy/styles'; import AspectRatio from '@mui/joy/AspectRatio'; import Box from '@mui/joy/Box'; import Card from '@mui/joy/Card'; +import Link from '@mui/joy/Link'; import List from '@mui/joy/List'; import ListDivider from '@mui/joy/ListDivider'; import Button from '@mui/joy/Button'; @@ -154,6 +155,13 @@ export default function TemplateCollection() { transition: '0.3s', }} /> + + {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */} + + From 03ee7e91c7ce2faef789e69cef1f2ad0255b69ef Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 15 Jun 2022 15:41:19 +0700 Subject: [PATCH 2/4] use asset module --- .../templates/TemplateCollection.js | 3 +- docs/next.config.js | 10 +++ .../modules/utils/extractTemplates.test.js | 61 +++++-------------- docs/src/modules/utils/extractTemplates.ts | 4 +- package.json | 1 - yarn.lock | 10 +-- 6 files changed, 30 insertions(+), 59 deletions(-) diff --git a/docs/data/joy/getting-started/templates/TemplateCollection.js b/docs/data/joy/getting-started/templates/TemplateCollection.js index a070337fd8bf87..892b328e289e4c 100644 --- a/docs/data/joy/getting-started/templates/TemplateCollection.js +++ b/docs/data/joy/getting-started/templates/TemplateCollection.js @@ -17,7 +17,7 @@ import codeSandbox from 'docs/src/modules/sandbox/CodeSandbox'; import extractTemplates from 'docs/src/modules/utils/extractTemplates'; const cache = {}; -const req = require.context('!raw-loader!./', true, /^\.\/[^/]+\/.*\.(js|tsx)$/); +const req = require.context('./?raw', true, /^\.\/[^/]+\/.*\.(js|tsx)$/); req.keys().forEach((key) => { cache[key] = req(key); }); @@ -45,6 +45,7 @@ function addHiddenInput(form, name, value) { */ export default function TemplateCollection() { + console.log('cache', cache); const templates = extractTemplates(cache); const theme = useTheme(); return ( diff --git a/docs/next.config.js b/docs/next.config.js index 5e95f9bad972db..f5f586c3d48534 100644 --- a/docs/next.config.js +++ b/docs/next.config.js @@ -93,6 +93,10 @@ module.exports = { ]; } + config.module.rules.forEach((r) => { + r.resourceQuery = { not: [/raw/] }; + }); + return { ...config, plugins, @@ -123,6 +127,7 @@ module.exports = { // transpile 3rd party packages with dependencies in this repository { test: /\.(js|mjs|jsx)$/, + resourceQuery: { not: [/raw/] }, include: /node_modules(\/|\\)(notistack|@mui(\/|\\)x-data-grid|@mui(\/|\\)x-data-grid-pro|@mui(\/|\\)x-license-pro|@mui(\/|\\)x-data-grid-generator|@mui(\/|\\)x-date-pickers-pro|@mui(\/|\\)x-date-pickers)/, use: { @@ -160,10 +165,15 @@ module.exports = { // required to transpile ../packages/ { test: /\.(js|mjs|tsx|ts)$/, + resourceQuery: { not: [/raw/] }, include: [workspaceRoot], exclude: /(node_modules|mui-icons-material)/, use: options.defaultLoaders.babel, }, + { + resourceQuery: /raw/, + type: 'asset/source', + }, ]), }, }; diff --git a/docs/src/modules/utils/extractTemplates.test.js b/docs/src/modules/utils/extractTemplates.test.js index ef82c50bc323be..96f67de5b95ef7 100644 --- a/docs/src/modules/utils/extractTemplates.test.js +++ b/docs/src/modules/utils/extractTemplates.test.js @@ -4,39 +4,21 @@ import extractTemplates from './extractTemplates'; describe('extractTemplates', () => { it('get correct templates', () => { const result = extractTemplates({ - './email/App.tsx': { - default: '', - }, - './team/App.tsx': { - default: '', - }, - './files/App.tsx': { - default: '', - }, + './email/App.tsx': '', + './team/App.tsx': '', + './files/App.tsx': '', }); expect(Object.keys(result)).to.deep.equal(['email', 'team', 'files']); }); it('extract correct template files', () => { const result = extractTemplates({ - './email/App.tsx': { - default: '', - }, - './email/components/Layout.tsx': { - default: '', - }, - './email/components/MailContent.tsx': { - default: '', - }, - './email/components/Mails.tsx': { - default: '', - }, - './email/components/Navigation.tsx': { - default: '', - }, - './email/theme.tsx': { - default: '', - }, + './email/App.tsx': '', + './email/components/Layout.tsx': '', + './email/components/MailContent.tsx': '', + './email/components/Mails.tsx': '', + './email/components/Navigation.tsx': '', + './email/theme.tsx': '', }); expect(result.email.files).to.deep.equal({ 'App.tsx': '', @@ -50,25 +32,12 @@ describe('extractTemplates', () => { it('extract code variant', () => { const result = extractTemplates({ - './email/App.js': { - default: '', - }, - './email/components/Layout.js': { - default: '', - }, - './email/components/MailContent.js': { - default: '', - }, - './email/components/Mails.js': { - default: '', - }, - './email/components/Navigation.js': { - default: '', - }, - './email/theme.tsx': { - // this is tsx - default: '', - }, + './email/App.js': '', + './email/components/Layout.js': '', + './email/components/MailContent.js': '', + './email/components/Mails.js': '', + './email/components/Navigation.js': '', + './email/theme.tsx': '', }); expect(result.email.codeVariant).to.equal('TS'); }); diff --git a/docs/src/modules/utils/extractTemplates.ts b/docs/src/modules/utils/extractTemplates.ts index 5c16319670cf31..0b934d34c23ed7 100644 --- a/docs/src/modules/utils/extractTemplates.ts +++ b/docs/src/modules/utils/extractTemplates.ts @@ -1,4 +1,4 @@ -export default function extractTemplates(record: Record) { +export default function extractTemplates(record: Record) { const result: Record; codeVariant: 'JS' | 'TS' }> = {}; Object.entries(record).forEach((data) => { const match = /\/(?[^/]+)\/(?.*)/.exec(data[0]); @@ -12,7 +12,7 @@ export default function extractTemplates(record: Record Date: Wed, 15 Jun 2022 15:42:49 +0700 Subject: [PATCH 3/4] add data-ga --- .../joy/getting-started/templates/TemplateCollection.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/data/joy/getting-started/templates/TemplateCollection.js b/docs/data/joy/getting-started/templates/TemplateCollection.js index 892b328e289e4c..a359471fdd1d64 100644 --- a/docs/data/joy/getting-started/templates/TemplateCollection.js +++ b/docs/data/joy/getting-started/templates/TemplateCollection.js @@ -161,7 +161,14 @@ export default function TemplateCollection() { passHref > {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */} - + From 7c6b64e31f9a0651f1f7efb39906929e94e97286 Mon Sep 17 00:00:00 2001 From: Siriwat K Date: Thu, 16 Jun 2022 22:58:58 +0700 Subject: [PATCH 4/4] Update docs/data/joy/getting-started/templates/TemplateCollection.js Co-authored-by: Olivier Tassinari --- docs/data/joy/getting-started/templates/TemplateCollection.js | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/data/joy/getting-started/templates/TemplateCollection.js b/docs/data/joy/getting-started/templates/TemplateCollection.js index a359471fdd1d64..c2be25b0d3d6f0 100644 --- a/docs/data/joy/getting-started/templates/TemplateCollection.js +++ b/docs/data/joy/getting-started/templates/TemplateCollection.js @@ -45,7 +45,6 @@ function addHiddenInput(form, name, value) { */ export default function TemplateCollection() { - console.log('cache', cache); const templates = extractTemplates(cache); const theme = useTheme(); return (