refactor: get rid of turborepo
81
.eslintrc.js
|
|
@ -1,10 +1,77 @@
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
|
const fs = require("fs")
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
root: true,
|
extends: [
|
||||||
// This tells ESLint to load the config from the package `eslint-config-custom`
|
"next",
|
||||||
extends: ["custom"],
|
"prettier",
|
||||||
settings: {
|
"react-app",
|
||||||
next: {
|
"react-app/jest",
|
||||||
rootDir: ["apps/*/"],
|
"plugin:@typescript-eslint/recommended",
|
||||||
|
"plugin:storybook/recommended",
|
||||||
|
],
|
||||||
|
parserOptions: {
|
||||||
|
babelOptions: {
|
||||||
|
presets: [require.resolve("next/babel")],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
rules: {
|
||||||
|
"testing-library/prefer-screen-queries": "off",
|
||||||
|
"@next/next/no-html-link-for-pages": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"sort-imports": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
ignoreCase: true,
|
||||||
|
ignoreDeclarationSort: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"import/order": [
|
||||||
|
1,
|
||||||
|
{
|
||||||
|
groups: ["external", "builtin", "internal", "sibling", "parent", "index"],
|
||||||
|
pathGroups: [
|
||||||
|
...getDirectoriesToSort().map((singleDir) => ({
|
||||||
|
pattern: `${singleDir}/**`,
|
||||||
|
group: "internal",
|
||||||
|
})),
|
||||||
|
{
|
||||||
|
pattern: "env",
|
||||||
|
group: "internal",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pattern: "theme",
|
||||||
|
group: "internal",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pattern: "public/**",
|
||||||
|
group: "internal",
|
||||||
|
position: "after",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
pathGroupsExcludedImportTypes: ["internal"],
|
||||||
|
alphabetize: {
|
||||||
|
order: "asc",
|
||||||
|
caseInsensitive: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDirectoriesToSort() {
|
||||||
|
const ignoredSortingDirectories = [".git", ".next", ".vscode", "node_modules"]
|
||||||
|
return getDirectories(process.cwd()).filter((f) => !ignoredSortingDirectories.includes(f))
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDirectories(path) {
|
||||||
|
return fs.readdirSync(path).filter(function (file) {
|
||||||
|
return fs.statSync(path + "/" + file).isDirectory()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
5
.gitignore
vendored
|
|
@ -27,7 +27,4 @@ yarn-error.log*
|
||||||
.env.local
|
.env.local
|
||||||
.env.development.local
|
.env.development.local
|
||||||
.env.test.local
|
.env.test.local
|
||||||
.env.production.local
|
.env.production.local
|
||||||
|
|
||||||
# turbo
|
|
||||||
.turbo
|
|
||||||
25
.turbo/turbo-build.log
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
$ next build
|
||||||
|
info - Linting and checking validity of types...
|
||||||
|
error - ESLint: Cannot read config file: /Users/bartstefanski/Projects/next-enterprise/packages/eslint-config-custom/index.js Error: fs is not defined Referenced from: /Users/bartstefanski/Projects/next-enterprise/apps/web/.eslintrc.js
|
||||||
|
info - Creating an optimized production build...
|
||||||
|
info - Compiled successfully
|
||||||
|
info - Collecting page data...
|
||||||
|
info - Generating static pages (0/3)
|
||||||
|
info - Generating static pages (3/3)
|
||||||
|
info - Finalizing page optimization...
|
||||||
|
|
||||||
|
Route (pages) Size First Load JS
|
||||||
|
┌ ○ / 2.87 kB 78 kB
|
||||||
|
├ /_app 0 B 75.1 kB
|
||||||
|
├ λ /_app.test 46.3 kB 121 kB
|
||||||
|
└ ○ /404 182 B 75.3 kB
|
||||||
|
+ First Load JS shared by all 77.6 kB
|
||||||
|
├ chunks/framework-b342986edb64aa35.js 46.9 kB
|
||||||
|
├ chunks/main-ba4f74e74668d5a9.js 27 kB
|
||||||
|
├ chunks/pages/_app-5446b4a34caf39cd.js 286 B
|
||||||
|
├ chunks/webpack-41a084ba32a79f8d.js 965 B
|
||||||
|
└ css/0a2eef075eaa8bc6.css 2.52 kB
|
||||||
|
|
||||||
|
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
|
||||||
|
○ (Static) automatically rendered as static HTML (uses no initial props)
|
||||||
|
|
||||||
10
.turbo/turbo-test.log
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
$ FORCE_COLOR=1 jest --passWithNoTests
|
||||||
|
[0m[7m[1m[32m PASS [39m[22m[27m[0m [2mpages/[22m[1m_app.test.tsx[22m
|
||||||
|
MyApp
|
||||||
|
[32m✓[39m [2mshould render a component with page props (16 ms)[22m
|
||||||
|
|
||||||
|
[1mTest Suites: [22m[1m[32m1 passed[39m[22m, 1 total
|
||||||
|
[1mTests: [22m[1m[32m1 passed[39m[22m, 1 total
|
||||||
|
[1mSnapshots: [22m0 total
|
||||||
|
[1mTime:[22m 0.491 s, estimated 1 s
|
||||||
|
[2mRan all test suites[22m[2m.[22m
|
||||||
75
README.md
|
|
@ -1,73 +1,24 @@
|
||||||
# Turborepo starter
|
## Getting Started
|
||||||
|
|
||||||
This is an official Yarn v1 starter turborepo.
|
First, run the development server:
|
||||||
|
|
||||||
## What's inside?
|
```bash
|
||||||
|
yarn dev
|
||||||
This turborepo uses [Yarn](https://classic.yarnpkg.com/) as a package manager. It includes the following packages/apps:
|
|
||||||
|
|
||||||
### Apps and Packages
|
|
||||||
|
|
||||||
- `docs`: a [Next.js](https://nextjs.org/) app
|
|
||||||
- `web`: another [Next.js](https://nextjs.org/) app
|
|
||||||
- `ui`: a stub React component library shared by both `web` and `docs` applications
|
|
||||||
- `eslint-config-custom`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
|
|
||||||
- `tsconfig`: `tsconfig.json`s used throughout the monorepo
|
|
||||||
|
|
||||||
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
|
|
||||||
|
|
||||||
### Utilities
|
|
||||||
|
|
||||||
This turborepo has some additional tools already setup for you:
|
|
||||||
|
|
||||||
- [TypeScript](https://www.typescriptlang.org/) for static type checking
|
|
||||||
- [ESLint](https://eslint.org/) for code linting
|
|
||||||
- [Prettier](https://prettier.io) for code formatting
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
To build all apps and packages, run the following command:
|
|
||||||
|
|
||||||
```
|
|
||||||
cd my-turborepo
|
|
||||||
yarn run build
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Develop
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||||
|
|
||||||
To develop all apps and packages, run the following command:
|
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
|
||||||
|
|
||||||
```
|
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
|
||||||
cd my-turborepo
|
|
||||||
yarn run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
### Remote Caching
|
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
|
||||||
|
|
||||||
Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
|
## Learn More
|
||||||
|
|
||||||
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
|
To learn more about Next.js, take a look at the following resources:
|
||||||
|
|
||||||
```
|
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||||
cd my-turborepo
|
- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial.
|
||||||
npx turbo login
|
|
||||||
```
|
|
||||||
|
|
||||||
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
|
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
|
||||||
|
|
||||||
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:
|
|
||||||
|
|
||||||
```
|
|
||||||
npx turbo link
|
|
||||||
```
|
|
||||||
|
|
||||||
## Useful Links
|
|
||||||
|
|
||||||
Learn more about the power of Turborepo:
|
|
||||||
|
|
||||||
- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
|
|
||||||
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
|
|
||||||
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
|
|
||||||
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
|
|
||||||
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
|
|
||||||
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference)
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
root: true,
|
|
||||||
extends: ["custom"],
|
|
||||||
};
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
const withNextra = require("nextra")({
|
|
||||||
theme: "nextra-theme-docs",
|
|
||||||
themeConfig: "./theme.config.tsx",
|
|
||||||
})
|
|
||||||
|
|
||||||
module.exports = withNextra()
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"name": "docs",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"dev": "FORCE_COLOR=1 next dev --port 3001",
|
|
||||||
"build": "next build",
|
|
||||||
"start": "next start",
|
|
||||||
"lint": "next lint"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"next": "^13.3.0",
|
|
||||||
"nextra": "^2.4.0",
|
|
||||||
"nextra-theme-docs": "^2.4.0",
|
|
||||||
"react": "^18.2.0",
|
|
||||||
"react-dom": "^18.2.0",
|
|
||||||
"ui": "*"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/core": "^7.0.0",
|
|
||||||
"@types/node": "^17.0.12",
|
|
||||||
"@types/react": "^18.0.22",
|
|
||||||
"@types/react-dom": "^18.0.7",
|
|
||||||
"eslint": "7.32.0",
|
|
||||||
"eslint-config-custom": "*",
|
|
||||||
"tsconfig": "*",
|
|
||||||
"typescript": "^4.5.3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"index": "My Homepage",
|
|
||||||
"contact": "Contact Us",
|
|
||||||
"about": "About Us"
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# Welcome to Nextra
|
|
||||||
|
|
||||||
Hello, world!
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import React from "react"
|
|
||||||
import { DocsThemeConfig } from "nextra-theme-docs"
|
|
||||||
|
|
||||||
const config: DocsThemeConfig = {
|
|
||||||
logo: <span>My Project</span>,
|
|
||||||
project: {
|
|
||||||
link: "https://github.com/shuding/nextra-docs-template",
|
|
||||||
},
|
|
||||||
chat: {
|
|
||||||
link: "https://discord.com",
|
|
||||||
},
|
|
||||||
docsRepositoryBase: "https://github.com/shuding/nextra-docs-template",
|
|
||||||
footer: {
|
|
||||||
text: "Nextra Docs Template",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
export default config
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "tsconfig/nextjs.json",
|
|
||||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
|
|
||||||
"exclude": ["node_modules"]
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
root: true,
|
|
||||||
extends: ["custom", "plugin:storybook/recommended"],
|
|
||||||
rules: {
|
|
||||||
"testing-library/prefer-screen-queries": "off",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
First, run the development server:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yarn dev
|
|
||||||
```
|
|
||||||
|
|
||||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
||||||
|
|
||||||
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
|
|
||||||
|
|
||||||
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
|
|
||||||
|
|
||||||
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
|
|
||||||
|
|
||||||
## Learn More
|
|
||||||
|
|
||||||
To learn more about Next.js, take a look at the following resources:
|
|
||||||
|
|
||||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
|
||||||
- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial.
|
|
||||||
|
|
||||||
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
|
|
||||||
|
|
||||||
## Deploy on Vercel
|
|
||||||
|
|
||||||
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js.
|
|
||||||
|
|
||||||
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
// jest.config.mjs
|
|
||||||
import nextJest from "next/jest.js"
|
|
||||||
|
|
||||||
const createJestConfig = nextJest({
|
|
||||||
// Provide the path to your Next.js app to load next.config.js and .env files in your test environment
|
|
||||||
dir: "./",
|
|
||||||
})
|
|
||||||
|
|
||||||
// Add any custom config to be passed to Jest
|
|
||||||
/** @type {import('jest').Config} */
|
|
||||||
const config = {
|
|
||||||
// Add more setup options before each test is run
|
|
||||||
// setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
|
||||||
...(await import("config/jest.config.js")).default,
|
|
||||||
}
|
|
||||||
|
|
||||||
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
|
||||||
export default createJestConfig(config)
|
|
||||||
5
apps/web/next-env.d.ts
vendored
|
|
@ -1,5 +0,0 @@
|
||||||
/// <reference types="next" />
|
|
||||||
/// <reference types="next/image-types/global" />
|
|
||||||
|
|
||||||
// NOTE: This file should not be edited
|
|
||||||
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
{
|
|
||||||
"name": "web",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"dev": "FORCE_COLOR=1 next dev",
|
|
||||||
"build": "next build",
|
|
||||||
"start": "next start",
|
|
||||||
"lint": "next lint",
|
|
||||||
"analyze": "ANALYZE=true yarn build",
|
|
||||||
"storybook": "FORCE_COLOR=1 storybook dev -p 6006",
|
|
||||||
"build-storybook": "FORCE_COLOR=1 storybook build",
|
|
||||||
"test": "FORCE_COLOR=1 jest --passWithNoTests"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"next": "^13.1.1",
|
|
||||||
"react": "^18.2.0",
|
|
||||||
"react-dom": "^18.2.0",
|
|
||||||
"ui": "*"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/core": "^7.0.0",
|
|
||||||
"@next/bundle-analyzer": "^13.3.0",
|
|
||||||
"@storybook/addon-essentials": "^7.0.5",
|
|
||||||
"@storybook/addon-interactions": "^7.0.5",
|
|
||||||
"@storybook/addon-links": "^7.0.5",
|
|
||||||
"@storybook/blocks": "^7.0.5",
|
|
||||||
"@storybook/nextjs": "^7.0.5",
|
|
||||||
"@storybook/react": "^7.0.5",
|
|
||||||
"@storybook/testing-library": "^0.0.14-next.2",
|
|
||||||
"@types/node": "^17.0.12",
|
|
||||||
"@types/react": "^18.0.22",
|
|
||||||
"@types/react-dom": "^18.0.7",
|
|
||||||
"config": "*",
|
|
||||||
"eslint": "7.32.0",
|
|
||||||
"eslint-config-custom": "*",
|
|
||||||
"eslint-plugin-storybook": "^0.6.11",
|
|
||||||
"next-compose-plugins": "^2.2.1",
|
|
||||||
"storybook": "^7.0.5",
|
|
||||||
"tsconfig": "*",
|
|
||||||
"typescript": "^4.5.3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
module.exports = require("config/postcss.config")
|
|
||||||
2
apps/web/reset.d.ts
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
// Do not add any other lines of code to this file!
|
|
||||||
import "@total-typescript/ts-reset"
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
module.exports = require("config/tailwind.config")
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "tsconfig/nextjs.json",
|
|
||||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
|
|
||||||
"exclude": ["node_modules"]
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
|
import nextJest from "next/jest.js"
|
||||||
|
|
||||||
|
const createJestConfig = nextJest({
|
||||||
|
dir: "./",
|
||||||
|
})
|
||||||
|
|
||||||
/** @type {import('jest').Config} */
|
/** @type {import('jest').Config} */
|
||||||
module.exports = {
|
const config = {
|
||||||
setupFilesAfterEnv: ["@testing-library/jest-dom/extend-expect"],
|
setupFilesAfterEnv: ["@testing-library/jest-dom/extend-expect"],
|
||||||
testEnvironment: "jest-environment-jsdom",
|
testEnvironment: "jest-environment-jsdom",
|
||||||
modulePathIgnorePatterns: ["<rootDir>/dist/"],
|
modulePathIgnorePatterns: ["<rootDir>/dist/"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default createJestConfig(config)
|
||||||
0
apps/docs/next-env.d.ts → next-env.d.ts
vendored
44
package.json
|
|
@ -2,29 +2,54 @@
|
||||||
"name": "next-enterprise",
|
"name": "next-enterprise",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"workspaces": [
|
|
||||||
"apps/*",
|
|
||||||
"packages/*"
|
|
||||||
],
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "turbo run build --color",
|
"dev": "FORCE_COLOR=1 next dev",
|
||||||
"dev": "turbo run dev --color",
|
"build": "next build",
|
||||||
"test": "turbo run test --color",
|
"start": "next start",
|
||||||
"lint": "turbo run lint --color",
|
"lint": "next lint",
|
||||||
|
"analyze": "ANALYZE=true yarn build",
|
||||||
|
"storybook": "FORCE_COLOR=1 storybook dev -p 6006",
|
||||||
|
"build-storybook": "FORCE_COLOR=1 storybook build",
|
||||||
|
"test": "FORCE_COLOR=1 jest --passWithNoTests",
|
||||||
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
||||||
"postinstall": "patch-package"
|
"postinstall": "patch-package"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"next": "^13.1.1",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"tailwind-merge": "^1.10.0"
|
"tailwind-merge": "^1.10.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.0.0",
|
||||||
|
"@next/bundle-analyzer": "^13.3.0",
|
||||||
|
"@storybook/addon-essentials": "^7.0.5",
|
||||||
|
"@storybook/addon-interactions": "^7.0.5",
|
||||||
|
"@storybook/addon-links": "^7.0.5",
|
||||||
|
"@storybook/blocks": "^7.0.5",
|
||||||
|
"@storybook/nextjs": "^7.0.5",
|
||||||
|
"@storybook/react": "^7.0.5",
|
||||||
|
"@storybook/testing-library": "^0.0.14-next.2",
|
||||||
|
"@types/node": "^17.0.12",
|
||||||
|
"@types/react": "^18.0.22",
|
||||||
|
"@types/react-dom": "^18.0.7",
|
||||||
|
"eslint": "7.32.0",
|
||||||
|
"next-compose-plugins": "^2.2.1",
|
||||||
|
"storybook": "^7.0.5",
|
||||||
|
"eslint-config-next": "13.0.0",
|
||||||
|
"eslint-config-prettier": "^8.3.0",
|
||||||
|
"eslint-plugin-react": "7.31.8",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.57.1",
|
||||||
|
"@typescript-eslint/parser": "^5.54.1",
|
||||||
|
"eslint-config-react-app": "^7.0.1",
|
||||||
|
"eslint-plugin-import": "^2.27.5",
|
||||||
|
"eslint-plugin-storybook": "^0.6.11",
|
||||||
"@jest/globals": "^29.5.0",
|
"@jest/globals": "^29.5.0",
|
||||||
"@testing-library/jest-dom": "^5.16.5",
|
"@testing-library/jest-dom": "^5.16.5",
|
||||||
"@testing-library/react": "^14.0.0",
|
"@testing-library/react": "^14.0.0",
|
||||||
"@total-typescript/ts-reset": "^0.4.2",
|
"@total-typescript/ts-reset": "^0.4.2",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.14",
|
||||||
"eslint-config-custom": "*",
|
|
||||||
"fetch-mock": "^9.11.0",
|
"fetch-mock": "^9.11.0",
|
||||||
"jest": "^29.5.0",
|
"jest": "^29.5.0",
|
||||||
"jest-environment-jsdom": "^29.5.0",
|
"jest-environment-jsdom": "^29.5.0",
|
||||||
|
|
@ -36,7 +61,6 @@
|
||||||
"tailwindcss": "^3.2.7",
|
"tailwindcss": "^3.2.7",
|
||||||
"ts-jest": "^29.1.0",
|
"ts-jest": "^29.1.0",
|
||||||
"tsc": "^2.0.4",
|
"tsc": "^2.0.4",
|
||||||
"turbo": "latest",
|
|
||||||
"typescript": "4.9.5",
|
"typescript": "4.9.5",
|
||||||
"vitest": "^0.29.8"
|
"vitest": "^0.29.8"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"name": "config",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"main": "index.js",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {},
|
|
||||||
"devDependencies": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
||||||
const fs = require("fs")
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
extends: [
|
|
||||||
"next",
|
|
||||||
"turbo",
|
|
||||||
"prettier",
|
|
||||||
"react-app",
|
|
||||||
"react-app/jest",
|
|
||||||
"plugin:@typescript-eslint/recommended",
|
|
||||||
"plugin:storybook/recommended",
|
|
||||||
],
|
|
||||||
parserOptions: {
|
|
||||||
babelOptions: {
|
|
||||||
presets: [require.resolve("next/babel")],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
rules: {
|
|
||||||
"@next/next/no-html-link-for-pages": "off",
|
|
||||||
|
|
||||||
"@typescript-eslint/no-unused-vars": [
|
|
||||||
"warn",
|
|
||||||
{
|
|
||||||
argsIgnorePattern: "^_",
|
|
||||||
varsIgnorePattern: "^_",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"sort-imports": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
ignoreCase: true,
|
|
||||||
ignoreDeclarationSort: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"import/order": [
|
|
||||||
1,
|
|
||||||
{
|
|
||||||
groups: ["external", "builtin", "internal", "sibling", "parent", "index"],
|
|
||||||
pathGroups: [
|
|
||||||
...getDirectoriesToSort().map((singleDir) => ({
|
|
||||||
pattern: `${singleDir}/**`,
|
|
||||||
group: "internal",
|
|
||||||
})),
|
|
||||||
{
|
|
||||||
pattern: "env",
|
|
||||||
group: "internal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
pattern: "theme",
|
|
||||||
group: "internal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
pattern: "public/**",
|
|
||||||
group: "internal",
|
|
||||||
position: "after",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pathGroupsExcludedImportTypes: ["internal"],
|
|
||||||
alphabetize: {
|
|
||||||
order: "asc",
|
|
||||||
caseInsensitive: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
function getDirectoriesToSort() {
|
|
||||||
const ignoredSortingDirectories = [".git", ".next", ".vscode", "node_modules"]
|
|
||||||
return getDirectories(process.cwd()).filter((f) => !ignoredSortingDirectories.includes(f))
|
|
||||||
}
|
|
||||||
|
|
||||||
function getDirectories(path) {
|
|
||||||
return fs.readdirSync(path).filter(function (file) {
|
|
||||||
return fs.statSync(path + "/" + file).isDirectory()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{
|
|
||||||
"name": "eslint-config-custom",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"main": "index.js",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"eslint": "^7.23.0",
|
|
||||||
"eslint-config-next": "13.0.0",
|
|
||||||
"eslint-config-prettier": "^8.3.0",
|
|
||||||
"eslint-plugin-react": "7.31.8",
|
|
||||||
"eslint-config-turbo": "latest",
|
|
||||||
"@typescript-eslint/eslint-plugin": "^5.57.1",
|
|
||||||
"@typescript-eslint/parser": "^5.54.1",
|
|
||||||
"eslint-config-react-app": "^7.0.1",
|
|
||||||
"eslint-plugin-import": "^2.27.5",
|
|
||||||
"eslint-plugin-storybook": "^0.6.11"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"typescript": "^4.7.4"
|
|
||||||
},
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
1
packages/helper/dist/fetch.d.ts
vendored
|
|
@ -1 +0,0 @@
|
||||||
export default function fetch(url: string, options?: RequestInit): Promise<Response>;
|
|
||||||
8
packages/helper/dist/fetch.js
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const isomorphic_unfetch_1 = require("isomorphic-unfetch");
|
|
||||||
function fetch(url, options = {}) {
|
|
||||||
return (0, isomorphic_unfetch_1.default)(url, Object.assign({}, options));
|
|
||||||
}
|
|
||||||
exports.default = fetch;
|
|
||||||
//# sourceMappingURL=fetch.js.map
|
|
||||||
1
packages/helper/dist/fetch.js.map
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../fetch.ts"],"names":[],"mappings":";;AAAA,2DAAuC;AAEvC,SAAwB,KAAK,CAAC,GAAW,EAAE,UAAuB,EAAE;IAClE,OAAO,IAAA,4BAAM,EAAC,GAAG,oBAAO,OAAO,EAAG,CAAA;AACpC,CAAC;AAFD,wBAEC"}
|
|
||||||
1
packages/helper/dist/fetch.test.d.ts
vendored
|
|
@ -1 +0,0 @@
|
||||||
export {};
|
|
||||||
33
packages/helper/dist/fetch.test.js
vendored
|
|
@ -1,33 +0,0 @@
|
||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const fetch_1 = require("./fetch");
|
|
||||||
const isomorphic_unfetch_1 = require("isomorphic-unfetch");
|
|
||||||
jest.mock("isomorphic-unfetch", () => jest.fn(() => Promise.resolve(isomorphic_unfetch_1.default)));
|
|
||||||
describe("fetch", () => {
|
|
||||||
const url = "https://example.com";
|
|
||||||
afterEach(() => {
|
|
||||||
jest.clearAllMocks();
|
|
||||||
});
|
|
||||||
it("should make a GET request with default options", async () => {
|
|
||||||
const response = await (0, fetch_1.default)(url);
|
|
||||||
expect(response.ok).toBe(true);
|
|
||||||
expect(response.status).toBe(200);
|
|
||||||
expect(response.statusText).toBe("OK");
|
|
||||||
expect(isomorphic_unfetch_1.default).toHaveBeenCalledWith(url, {});
|
|
||||||
});
|
|
||||||
it("should make a POST request with options", async () => {
|
|
||||||
const options = {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
},
|
|
||||||
body: JSON.stringify({ data: "test" }),
|
|
||||||
};
|
|
||||||
const response = await (0, fetch_1.default)(url, options);
|
|
||||||
expect(response.ok).toBe(true);
|
|
||||||
expect(response.status).toBe(200);
|
|
||||||
expect(response.statusText).toBe("OK");
|
|
||||||
expect(isomorphic_unfetch_1.default).toHaveBeenCalledWith(url, Object.assign(Object.assign({}, options), { body: JSON.stringify({ data: "test" }) }));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
//# sourceMappingURL=fetch.test.js.map
|
|
||||||
1
packages/helper/dist/fetch.test.js.map
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"fetch.test.js","sourceRoot":"","sources":["../fetch.test.ts"],"names":[],"mappings":";;AAAA,mCAA2B;AAC3B,2DAAkD;AAElD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,4BAAiB,CAAC,CAAC,CAAC,CAAA;AAExF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,MAAM,GAAG,GAAG,qBAAqB,CAAA;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAa,MAAM,IAAA,eAAK,EAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAGtC,MAAM,CAAC,4BAAiB,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACvC,CAAA;QAED,MAAM,QAAQ,GAAa,MAAM,IAAA,eAAK,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAGtC,MAAM,CAAC,4BAAiB,CAAC,CAAC,oBAAoB,CAAC,GAAG,kCAC7C,OAAO,KACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IACtC,CAAA;IACJ,CAAC,CAAC,CAAA;AAGJ,CAAC,CAAC,CAAA"}
|
|
||||||
1
packages/helper/dist/index.d.ts
vendored
|
|
@ -1 +0,0 @@
|
||||||
export * from "./fetch";
|
|
||||||
18
packages/helper/dist/index.js
vendored
|
|
@ -1,18 +0,0 @@
|
||||||
"use strict";
|
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
||||||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
__exportStar(require("./fetch"), exports);
|
|
||||||
//# sourceMappingURL=index.js.map
|
|
||||||
1
packages/helper/dist/index.js.map
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB"}
|
|
||||||
1
packages/helper/dist/tsconfig.tsbuildinfo
vendored
|
|
@ -1,11 +0,0 @@
|
||||||
import { fetch } from "./fetch"
|
|
||||||
|
|
||||||
describe("myFetch()", () => {
|
|
||||||
it("should return data from the server", async () => {
|
|
||||||
const response = await fetch("https://example.com")
|
|
||||||
expect(response.ok).toBe(true)
|
|
||||||
expect(response.status).toBe(200)
|
|
||||||
const data = await response.text()
|
|
||||||
expect(data).toMatch("Example Domain")
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
import _fetch from "isomorphic-unfetch"
|
|
||||||
|
|
||||||
export function fetch(url: string, options: RequestInit = {}): Promise<Response> {
|
|
||||||
return _fetch(url, { ...options })
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
export * from "./fetch"
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
/** @type {import('jest').Config} */
|
|
||||||
module.exports = { ...require("config/jest.config"), preset: "ts-jest", testEnvironment: "node" }
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"name": "helper",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "dist/index.js",
|
|
||||||
"types": "dist/index.d.ts",
|
|
||||||
"scripts": {
|
|
||||||
"lint": "TIMING=1 eslint \"**/*.ts*\"",
|
|
||||||
"build": "tsc",
|
|
||||||
"test": "FORCE_COLOR=1 yarn node --experimental-vm-modules $(yarn bin jest --passWithNoTests)"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"isomorphic-unfetch": "^4.0.2"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"config": "*"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"include": ["."],
|
|
||||||
"exclude": ["dist", "build", "node_modules"],
|
|
||||||
"compilerOptions": {
|
|
||||||
"module": "commonjs",
|
|
||||||
"declaration": true,
|
|
||||||
"strict": true,
|
|
||||||
"removeComments": true,
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"target": "es2017",
|
|
||||||
"sourceMap": true,
|
|
||||||
"outDir": "./dist",
|
|
||||||
"baseUrl": "./",
|
|
||||||
"incremental": true,
|
|
||||||
"skipLibCheck": true,
|
|
||||||
"strictNullChecks": true,
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"noImplicitAny": false,
|
|
||||||
"strictBindCallApply": false,
|
|
||||||
"forceConsistentCasingInFileNames": false,
|
|
||||||
"noFallthroughCasesInSwitch": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# `tsconfig`
|
|
||||||
|
|
||||||
These are base shared `tsconfig.json`s from which all other `tsconfig.json`'s inherit from.
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://json.schemastore.org/tsconfig",
|
|
||||||
"display": "Default",
|
|
||||||
"compilerOptions": {
|
|
||||||
"composite": false,
|
|
||||||
"declaration": true,
|
|
||||||
"declarationMap": true,
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"forceConsistentCasingInFileNames": true,
|
|
||||||
"inlineSources": false,
|
|
||||||
"isolatedModules": true,
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"noUnusedLocals": false,
|
|
||||||
"noUnusedParameters": false,
|
|
||||||
"preserveWatchOutput": true,
|
|
||||||
"skipLibCheck": true,
|
|
||||||
"strict": true
|
|
||||||
},
|
|
||||||
"exclude": ["node_modules"]
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"name": "tsconfig",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"files": [
|
|
||||||
"base.json",
|
|
||||||
"nextjs.json",
|
|
||||||
"react-library.json"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://json.schemastore.org/tsconfig",
|
|
||||||
"display": "React Library",
|
|
||||||
"extends": "./base.json",
|
|
||||||
"compilerOptions": {
|
|
||||||
"jsx": "react-jsx",
|
|
||||||
"lib": ["ES2015"],
|
|
||||||
"module": "ESNext",
|
|
||||||
"target": "es6"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
import * as React from "react"
|
|
||||||
export const Button = () => {
|
|
||||||
return <button>Boop</button>
|
|
||||||
}
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
import * as React from "react";
|
|
||||||
export * from "./Button";
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
{
|
|
||||||
"name": "ui",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"main": "./index.tsx",
|
|
||||||
"types": "./index.tsx",
|
|
||||||
"license": "MIT",
|
|
||||||
"scripts": {
|
|
||||||
"lint": "eslint \"**/*.ts*\""
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@radix-ui/react-accordion": "^1.1.1",
|
|
||||||
"@radix-ui/react-checkbox": "^1.0.3",
|
|
||||||
"@radix-ui/react-dialog": "^1.0.3",
|
|
||||||
"@radix-ui/react-dropdown-menu": "^2.0.4",
|
|
||||||
"@radix-ui/react-form": "^0.0.2",
|
|
||||||
"@radix-ui/react-label": "^2.0.1",
|
|
||||||
"@radix-ui/react-popover": "^1.0.5",
|
|
||||||
"@radix-ui/react-radio-group": "^1.1.2",
|
|
||||||
"@radix-ui/react-scroll-area": "^1.0.3",
|
|
||||||
"@radix-ui/react-select": "1.2.1",
|
|
||||||
"@radix-ui/react-slider": "^1.1.1",
|
|
||||||
"@radix-ui/react-switch": "^1.0.2",
|
|
||||||
"@radix-ui/react-tabs": "^1.0.3",
|
|
||||||
"@radix-ui/react-toggle-group": "^1.0.3"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/react": "^18.0.22",
|
|
||||||
"eslint": "^7.32.0",
|
|
||||||
"eslint-config-custom": "*",
|
|
||||||
"react": "^18.2.0",
|
|
||||||
"tsconfig": "*",
|
|
||||||
"typescript": "^4.5.2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
2
packages/ui/reset.d.ts
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
// Do not add any other lines of code to this file!
|
|
||||||
import "@total-typescript/ts-reset"
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "tsconfig/react-library.json",
|
|
||||||
"include": ["."],
|
|
||||||
"exclude": ["dist", "build", "node_modules"]
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import { Button } from "ui"
|
|
||||||
|
|
||||||
export default function Web() {
|
export default function Web() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
@ -15,7 +13,7 @@ export default function Web() {
|
||||||
</p>
|
</p>
|
||||||
<a
|
<a
|
||||||
href="#"
|
href="#"
|
||||||
className="bg-primary-700 hover:bg-primary-800 focus:ring-primary-300 dark:focus:ring-primary-900 mr-3 inline-flex items-center justify-center rounded-lg px-5 py-3 text-center text-base font-medium text-white focus:ring-4"
|
className="mr-3 inline-flex items-center justify-center rounded-lg bg-primary-700 px-5 py-3 text-center text-base font-medium text-white hover:bg-primary-800 focus:ring-4 focus:ring-primary-300 dark:focus:ring-primary-900"
|
||||||
>
|
>
|
||||||
Get started
|
Get started
|
||||||
<svg
|
<svg
|
||||||
|
|
@ -53,9 +51,9 @@ export default function Web() {
|
||||||
</div>
|
</div>
|
||||||
<div className="space-y-8 md:grid md:grid-cols-2 md:gap-12 md:space-y-0 lg:grid-cols-3">
|
<div className="space-y-8 md:grid md:grid-cols-2 md:gap-12 md:space-y-0 lg:grid-cols-3">
|
||||||
<div>
|
<div>
|
||||||
<div className="bg-primary-100 dark:bg-primary-900 mb-4 flex h-10 w-10 items-center justify-center rounded-full lg:h-12 lg:w-12">
|
<div className="mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary-100 dark:bg-primary-900 lg:h-12 lg:w-12">
|
||||||
<svg
|
<svg
|
||||||
className="text-primary-600 dark:text-primary-300 h-5 w-5 lg:h-6 lg:w-6"
|
className="h-5 w-5 text-primary-600 dark:text-primary-300 lg:h-6 lg:w-6"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|
@ -74,9 +72,9 @@ export default function Web() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="bg-primary-100 dark:bg-primary-900 mb-4 flex h-10 w-10 items-center justify-center rounded-full lg:h-12 lg:w-12">
|
<div className="mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary-100 dark:bg-primary-900 lg:h-12 lg:w-12">
|
||||||
<svg
|
<svg
|
||||||
className="text-primary-600 dark:text-primary-300 h-5 w-5 lg:h-6 lg:w-6"
|
className="h-5 w-5 text-primary-600 dark:text-primary-300 lg:h-6 lg:w-6"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|
@ -91,9 +89,9 @@ export default function Web() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="bg-primary-100 dark:bg-primary-900 mb-4 flex h-10 w-10 items-center justify-center rounded-full lg:h-12 lg:w-12">
|
<div className="mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary-100 dark:bg-primary-900 lg:h-12 lg:w-12">
|
||||||
<svg
|
<svg
|
||||||
className="text-primary-600 dark:text-primary-300 h-5 w-5 lg:h-6 lg:w-6"
|
className="h-5 w-5 text-primary-600 dark:text-primary-300 lg:h-6 lg:w-6"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|
@ -113,9 +111,9 @@ export default function Web() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="bg-primary-100 dark:bg-primary-900 mb-4 flex h-10 w-10 items-center justify-center rounded-full lg:h-12 lg:w-12">
|
<div className="mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary-100 dark:bg-primary-900 lg:h-12 lg:w-12">
|
||||||
<svg
|
<svg
|
||||||
className="text-primary-600 dark:text-primary-300 h-5 w-5 lg:h-6 lg:w-6"
|
className="h-5 w-5 text-primary-600 dark:text-primary-300 lg:h-6 lg:w-6"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|
@ -135,9 +133,9 @@ export default function Web() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="bg-primary-100 dark:bg-primary-900 mb-4 flex h-10 w-10 items-center justify-center rounded-full lg:h-12 lg:w-12">
|
<div className="mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary-100 dark:bg-primary-900 lg:h-12 lg:w-12">
|
||||||
<svg
|
<svg
|
||||||
className="text-primary-600 dark:text-primary-300 h-5 w-5 lg:h-6 lg:w-6"
|
className="h-5 w-5 text-primary-600 dark:text-primary-300 lg:h-6 lg:w-6"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|
@ -152,9 +150,9 @@ export default function Web() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div className="bg-primary-100 dark:bg-primary-900 mb-4 flex h-10 w-10 items-center justify-center rounded-full lg:h-12 lg:w-12">
|
<div className="mb-4 flex h-10 w-10 items-center justify-center rounded-full bg-primary-100 dark:bg-primary-900 lg:h-12 lg:w-12">
|
||||||
<svg
|
<svg
|
||||||
className="text-primary-600 dark:text-primary-300 h-5 w-5 lg:h-6 lg:w-6"
|
className="h-5 w-5 text-primary-600 dark:text-primary-300 lg:h-6 lg:w-6"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
0
apps/docs/reset.d.ts → reset.d.ts
vendored
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
|
@ -1,8 +1,15 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://json.schemastore.org/tsconfig",
|
"$schema": "https://json.schemastore.org/tsconfig",
|
||||||
"display": "Next.js",
|
"display": "Next.js",
|
||||||
"extends": "./base.json",
|
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"composite": false,
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"inlineSources": false,
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"noUnusedLocals": false,
|
||||||
|
"noUnusedParameters": false,
|
||||||
|
"preserveWatchOutput": true,
|
||||||
"target": "es5",
|
"target": "es5",
|
||||||
"lib": ["dom", "dom.iterable", "esnext"],
|
"lib": ["dom", "dom.iterable", "esnext"],
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
|
|
@ -17,6 +24,6 @@
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"jsx": "preserve"
|
"jsx": "preserve"
|
||||||
},
|
},
|
||||||
"include": ["src", "next-env.d.ts"],
|
"include": [".", "next-env.d.ts"],
|
||||||
"exclude": ["node_modules"]
|
"exclude": ["node_modules"]
|
||||||
}
|
}
|
||||||
19
turbo.json
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://turbo.build/schema.json",
|
|
||||||
"globalDependencies": ["**/.env.*local"],
|
|
||||||
"pipeline": {
|
|
||||||
"build": {
|
|
||||||
"dependsOn": ["^build"],
|
|
||||||
"outputs": ["dist/**", ".next/**", "!.next/cache/**"]
|
|
||||||
},
|
|
||||||
"lint": {
|
|
||||||
"outputs": []
|
|
||||||
},
|
|
||||||
"dev": {
|
|
||||||
"cache": false
|
|
||||||
},
|
|
||||||
"test": {
|
|
||||||
"outputs": ["coverage/**"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||