Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(docs): props table to not generate .mdx #2997

Merged
merged 27 commits into from
Nov 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e872c53
refactor(docs): generate props table data
Nov 15, 2022
3d24b94
fix(docs): props table remove sanitizer
Nov 15, 2022
fababdc
fix(docs): props table add code highlight
Nov 15, 2022
bb2555f
chore(docs): convert Markdown Description to HTML
Nov 15, 2022
d0e9c27
chore(docs): props table sort props order, refactor PropsTableTab
Nov 15, 2022
906d2f9
chore(docs): props table heading link and required badge
Nov 15, 2022
f74bab2
refactor(docs): delete props-table.mdx and use PropsTableTab component
Nov 15, 2022
84d8858
chore(docs): props table optimize required badge
Nov 15, 2022
61077bc
chore(docs): props table update table data
Nov 15, 2022
e38aa63
chore(docs): props table refactor data to use map so that the order i…
Nov 16, 2022
edda867
test(docs): add props table data snapshot test
Nov 16, 2022
0c881ac
chore(docs): update README
Nov 16, 2022
e6d7c09
Update docs/src/components/propsTable/PropsTableBody.tsx
0618 Nov 16, 2022
2c803af
Update docs/src/components/propsTable/PropsTableTab.tsx
0618 Nov 16, 2022
9d84748
feat(docs): props table css copy from PR2435
Nov 16, 2022
b59152c
chore(docs): remove props-table-data.json
Nov 16, 2022
64f388c
chore(docs): gitignore props-table.json
Nov 16, 2022
8483637
chore(docs): props table mdnUrl
Nov 16, 2022
5c4ae6c
chore(docs): props table replace p with View
Nov 16, 2022
a10cf98
refactor(docs): use react-markdown
Nov 16, 2022
67a042e
refactor(docs): use Text to replace View as p
Nov 16, 2022
bb94156
chore(docs): props table add placeholder
Nov 16, 2022
7b48a68
fix: props table expander focus style (#3006)
hbuchel Nov 17, 2022
8e315eb
Merge branch 'main' into refactor-props-table
0618 Nov 17, 2022
6870273
fix(docs): downgrade jest to v27 for the InAppMessaging test failure
Nov 17, 2022
d2abd54
chore(docs): update snapshot
Nov 18, 2022
ba412e4
fix(docs): downgrade jest and ts-jest to v27 for the InAppMessaging t…
Nov 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,6 @@ yarn-error.log*
# Cypress
/cypress/videos
/cypress/screenshots

# data
/src/data/props-table.json
7 changes: 7 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ cp ./docs/.env.example ./docs/.env

Then set values to the variables.

### Test

- Run `yarn test` to test.
- If the snapshot test fails, run `yarn test -- -u`.

Test runs after build.

### Creating a Page

Page paths mirror their URLs. For example, `/react/connected-components/authenticator` is located at [docs/src/pages/[platform]/connected-components/authenticator/index.page.mdx](src/pages/[platform]/components/authenticator/index.page.mdx).
Expand Down
195 changes: 195 additions & 0 deletions docs/jest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
/*
* For a detailed explanation regarding each configuration property and type check, visit:
* https://jestjs.io/docs/configuration
*/

export default {
// All imported modules in your tests should be mocked automatically
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove all these comments? All our other jest config files are much shorter

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought about it but I think the comments are convenient to use and it'll be cleaned up when compiling, so it doesn't hurt anything.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking but we should condense this file down to what we are actually using. Having the file include every possible config value forces maintainers to read over the entire file to see what is used, even though there is nothing enabled after line 34. Additionally, if the commented out config options change between jest versions, these options will no longer reflect the options available

// automock: false,

// Stop running tests after `n` failures
// bail: 0,

// The directory where Jest should store its cached dependency information
// cacheDirectory: "/private/var/folders/pj/p9gg8mw16_j475yqhbd6grn40000gr/T/jest_e0",

// Automatically clear mock calls, instances, contexts and results before every test
// clearMocks: false,

// Indicates whether the coverage information should be collected while executing the test
collectCoverage: true,

// An array of glob patterns indicating a set of files for which coverage information should be collected
// collectCoverageFrom: undefined,

// The directory where Jest should output its coverage files
coverageDirectory: 'coverage',

// An array of regexp pattern strings used to skip coverage collection
// coveragePathIgnorePatterns: [
// "/node_modules/"
// ],

// Indicates which provider should be used to instrument code for coverage
coverageProvider: 'v8',

// A list of reporter names that Jest uses when writing coverage reports
// coverageReporters: [
// "json",
// "text",
// "lcov",
// "clover"
// ],

// An object that configures minimum threshold enforcement for coverage results
// coverageThreshold: undefined,

// A path to a custom dependency extractor
// dependencyExtractor: undefined,

// Make calling deprecated APIs throw helpful error messages
// errorOnDeprecated: false,

// The default configuration for fake timers
// fakeTimers: {
// "enableGlobally": false
// },

// Force coverage collection from ignored files using an array of glob patterns
// forceCoverageMatch: [],

// A path to a module which exports an async function that is triggered once before all test suites
// globalSetup: undefined,

// A path to a module which exports an async function that is triggered once after all test suites
// globalTeardown: undefined,

// A set of global variables that need to be available in all test environments
// globals: {},

// The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
// maxWorkers: "50%",

// An array of directory names to be searched recursively up from the requiring module's location
// moduleDirectories: [
// "node_modules"
// ],

// An array of file extensions your modules use
// moduleFileExtensions: [
// "js",
// "mjs",
// "cjs",
// "jsx",
// "ts",
// "tsx",
// "json",
// "node"
// ],

// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
// moduleNameMapper: {},

// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
// modulePathIgnorePatterns: [],

// Activates notifications for test results
// notify: false,

// An enum that specifies notification mode. Requires { notify: true }
// notifyMode: "failure-change",

// A preset that is used as a base for Jest's configuration
// preset: undefined,

// Run tests from one or more projects
// projects: undefined,

// Use this configuration option to add custom reporters to Jest
// reporters: undefined,

// Automatically reset mock state before every test
// resetMocks: false,

// Reset the module registry before running each individual test
// resetModules: false,

// A path to a custom resolver
// resolver: undefined,

// Automatically restore mock state and implementation before every test
// restoreMocks: false,

// The root directory that Jest should scan for tests and modules within
// rootDir: undefined,

// A list of paths to directories that Jest should use to search for files in
// roots: [
// "<rootDir>"
// ],

// Allows you to use a custom runner instead of Jest's default test runner
// runner: "jest-runner",

// The paths to modules that run some code to configure or set up the testing environment before each test
// setupFiles: [],

// A list of paths to modules that run some code to configure or set up the testing framework before each test
// setupFilesAfterEnv: [],

// The number of seconds after which a test is considered as slow and reported as such in the results.
// slowTestThreshold: 5,

// A list of paths to snapshot serializer modules Jest should use for snapshot testing
// snapshotSerializers: [],

// The test environment that will be used for testing
// testEnvironment: "jest-environment-node",

// Options that will be passed to the testEnvironment
// testEnvironmentOptions: {},

// Adds a location field to test results
// testLocationInResults: false,

// The glob patterns Jest uses to detect test files
// testMatch: [
// "**/__tests__/**/*.[jt]s?(x)",
// "**/?(*.)+(spec|test).[tj]s?(x)"
// ],

// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
// testPathIgnorePatterns: [
// "/node_modules/"
// ],

// The regexp pattern or array of patterns that Jest uses to detect test files
// testRegex: [],

// This option allows the use of a custom results processor
// testResultsProcessor: undefined,

// This option allows use of a custom test runner
// testRunner: "jest-circus/runner",

// A map from regular expressions to paths to transformers
// transform: undefined,

// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
// transformIgnorePatterns: [
// "/node_modules/",
// "\\.pnp\\.[^\\/]+$"
// ],

// An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
// unmockedModulePathPatterns: undefined,

// Indicates whether each individual test should be reported during the run
// verbose: undefined,

// An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
// watchPathIgnorePatterns: [],

// Whether to use watchman for file crawling
// watchman: true,
};
10 changes: 7 additions & 3 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
"flutter:clean": "rm -rf public/flutter/authenticator",
"flutter:copy": "cp -r ./flutter/authenticator/build/web public/flutter/authenticator",
"build": "yarn build:props-tables && next build",
"build:props-tables": "node --require esbuild-register ./scripts/generate-props-tables.ts",
"build:props-tables": "node --require esbuild-register ./scripts/generate-props-tables-data.ts",
"lint": "next lint",
"postbuild": "yarn postbuild:previews && yarn postbuild:sitemap",
"postbuild": "yarn test && yarn postbuild:previews && yarn postbuild:sitemap",
"postbuild:previews": "node --require esbuild-register ./scripts/generate-previews.ts",
"postbuild:sitemap": "node --require esbuild-register ./scripts/generate-sitemap-robotstxt.ts",
"start": "next start",
"test": "$_ run build"
"test": "jest"
},
"dependencies": {
"@aws-amplify/ui-react": "4.0.1",
Expand Down Expand Up @@ -58,6 +58,7 @@
},
"license": "MIT",
"devDependencies": {
"@types/jest": "^27",
"@types/lodash": "^4.14.170",
"@types/node": "^14.14.31",
"@types/react": "17.0.47",
Expand All @@ -70,8 +71,11 @@
"eslint": "^7.32.0",
"eslint-config-next": "12.0.10",
"globby": "^13.1.1",
"jest": "^27",
"postcss": "^8.2.6",
"react-markdown": "^8.0.3",
"sitemap-urls": "^3.0.0",
"ts-jest": "^27",
"ts-morph": "^15.1.0"
}
}
Loading