Skip to content

Commit 663f0d5

Browse files
authored
Merge pull request #226 from akd-io/release/0.2.6
Release 0.2.6
2 parents 63bc3fa + a70c311 commit 663f0d5

File tree

34 files changed

+534
-88
lines changed

34 files changed

+534
-88
lines changed

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/bin/sh
22
. "$(dirname "$0")/_/husky.sh"
33

4+
pnpm run update-readmes
45
npx lint-staged

CONTRIBUTING.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,25 +84,25 @@ Make sure you are set up locally by following the [Getting Started](#getting-sta
8484
- `test:raw` - Runs the binary directly. Rarely used, but can be useful for manual tests where you want to be able to specify the `app_name` argument yourself.
8585
- `clean` - Removes all generated files, including build files and the `create-next-stack-tests` directory created by the e2e tests.
8686

87-
3. Add a new .ts file for your plugin in the plugins directory at `packages\create-next-stack\src\main\plugins`
87+
3. Add a new .ts file for your plugin in the plugins directory at [`packages/create-next-stack/src/main/plugins`](packages/create-next-stack/src/main/plugins)
8888

8989
- See the [Writing a plugin section](#writing-a-plugin) below to learn how to write a Create Next Stack plugin.
9090

91-
4. Add new flags to the `create-next-stack` command in [`create-next-stack.ts`](packages\create-next-stack\src\main\commands\create-next-stack.ts).
91+
4. Add new flags to the `create-next-stack` command in [`create-next-stack.ts`](packages/create-next-stack/src/main/commands/create-next-stack.ts).
9292
5. Add the plugin to the `plugins` array in [`setup.ts`](packages/create-next-stack/src/main/setup/setup.ts).
93-
6. Add potential plugin steps to the `steps` array in [`setup.ts`](packages/create-next-stack/src/main/setup/setup.ts). Steps are run top-to-bottom.
94-
7. Update the [`README.md`](README.md):
95-
- Add the technology to the technology list
96-
- Update the `Usage` section by copy pasting the output of running `yarn print:help`
97-
8. Consider expanding some of the e2e tests to include the new technology. See [`test.ts`](packages\create-next-stack\src\tests\e2e\test.ts) for current tests.
93+
6. Add potential plugin steps to the `steps` array in [`steps.ts`](packages/create-next-stack/src/main/steps.ts). Steps are run top-to-bottom.
94+
7. Consider expanding some of the e2e tests to include the new technology. See [`test.ts`](packages/create-next-stack/src/tests/e2e/test.ts) for current tests.
95+
8. Go and add the technology to the technology selection form of the website.
96+
- See the [TechnologiesForm](website/templates/LandingPage/components/TechnologiesForm.tsx) component.
97+
- This component is currently pretty hideous, and updating it will be automated in the future. See [issue #188](https://github.com/akd-io/create-next-stack/issues/188).
9898
9. Run tests using `yarn test` to ensure they all pass.
9999
10. Submit a Pull Request on GitHub.
100100

101101
## Writing a Plugin
102102

103103
Plugins aren't too scary. A Create Next Stack plugin consists of a simple TypeScript file that calls a `createPlugin()` function with JSON object.
104104

105-
See the [Framer Motion plugin](packages/create-next-stack/src/main/plugins/emotion.ts) for example. This plugin adds the `framer-motion` npm dependency to the generated Next.js project, as well as adding some documentation about the technology.
105+
See the [Framer Motion plugin](packages/create-next-stack/src/main/plugins/framer-motion.ts) for example. This plugin adds the `framer-motion` npm dependency to the generated Next.js project, as well as adding some documentation about the technology.
106106

107107
```typescript
108108
export const framerMotionPlugin = createPlugin({

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"test": "pnpm prr test",
2020
"test:cli": "pnpm prr --filter create-next-stack test",
2121
"test:web": "pnpm prr --filter create-next-stack-website test",
22+
"update-readmes": "pnpm prr update-readme",
2223
"prr": "pnpm recursive run"
2324
},
2425
"devDependencies": {

packages/create-next-stack/README.md

Lines changed: 57 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,60 +31,85 @@ To get started, go to [create-next-stack.com](https://www.create-next-stack.com)
3131

3232
The table below provides an overview of the technologies currently supported by Create Next Stack.
3333

34-
| Name | Links |
35-
| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
36-
| [Next.js](https://nextjs.org/) (Mandatory) | [Docs](https://nextjs.org/docs) - [Learn Next.js](https://nextjs.org/learn) - [GitHub repo](https://github.com/vercel/next.js) |
37-
| [React](https://reactjs.org/) (Mandatory) | [Docs](https://reactjs.org/docs/getting-started.html) - [GitHub repo](https://github.com/facebook/react) |
38-
| [TypeScript](https://www.typescriptlang.org/) (Mandatory) | [Docs](https://www.typescriptlang.org/docs/) - [GitHub repo](https://github.com/microsoft/TypeScript) |
39-
| [ESLint](https://eslint.org/) (Mandatory) | [Configuration](https://eslint.org/docs/user-guide/configuring/) - [Rules](https://eslint.org/docs/rules/) - [GitHub Repo](https://github.com/eslint/eslint) |
40-
| [pnpm](https://pnpm.io/) | [Docs](https://pnpm.io/motivation) - [GitHub repo](https://github.com/pnpm/pnpm) |
41-
| [Yarn](https://yarnpkg.com/) | [CLI Docs](https://yarnpkg.com/cli) - [GitHub repo](https://github.com/yarnpkg/berry) |
42-
| [npm](https://www.npmjs.com/) | [CLI Docs](https://docs.npmjs.com/cli/) |
43-
| [Emotion](https://emotion.sh/docs/introduction) | [Docs](https://emotion.sh/docs/introduction) - [GitHub repo](https://github.com/emotion-js/emotion) |
44-
| [Styled Components](https://styled-components.com/) | [Docs](https://styled-components.com/docs) - [GitHub repo](https://github.com/styled-components/styled-components) |
45-
| [Tailwind CSS](https://tailwindcss.com/) | [Docs](https://tailwindcss.com/docs) - [GitHub repo](https://github.com/tailwindlabs/tailwindcss) |
46-
| [CSS Modules](https://github.com/css-modules/css-modules) | [Docs](https://github.com/css-modules/css-modules) - [Next.js-specific docs](https://nextjs.org/docs/basic-features/built-in-css-support#adding-component-level-css) |
47-
| [Sass](https://sass-lang.com/) | [Docs](https://sass-lang.com/documentation) - [Next.js-specific docs](https://nextjs.org/docs/basic-features/built-in-css-support#sass-support) |
48-
| [Chakra UI](https://chakra-ui.com/) | [Docs](https://chakra-ui.com/docs/getting-started) - [GitHub repo](https://github.com/chakra-ui/chakra-ui) |
49-
| [Material UI](https://material-ui.com/) | [Docs](https://material-ui.com/getting-started/installation/) - [GitHub repo](https://github.com/mui-org/material-ui) |
50-
| [React Hook Form](https://react-hook-form.com/) | [Docs](https://react-hook-form.com/get-started) - [GitHub repo](https://github.com/react-hook-form/react-hook-form) |
51-
| [Formik](https://formik.org/) | [Docs](https://formik.org/docs/overview) - [GitHub repo](https://github.com/formium/formik) |
52-
| [Framer Motion](https://www.framer.com/motion/) | [Docs](https://www.framer.com/docs/) - [GitHub repo](https://github.com/framer/motion) |
53-
| [Prettier](https://prettier.io/) | [Docs](https://prettier.io/docs/en/index.html) - [Options](https://prettier.io/docs/en/options.html) - [GitHub repo](https://github.com/prettier/prettier) |
54-
| [Husky](https://typicode.github.io/husky/) | [Docs](https://typicode.github.io/husky/) - [GitHub repo](https://github.com/typicode/husky) |
55-
| [lint-staged](https://github.com/okonet/lint-staged) | [GitHub repo](https://github.com/okonet/lint-staged) |
56-
| [GitHub Actions](https://github.com/features/actions) | [Docs](https://docs.github.com/en/actions) - [Workflow syntax](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions) |
57-
| [React Icons](https://react-icons.github.io/react-icons/) | [GitHub repo](https://github.com/react-icons/react-icons) |
34+
<!-- CNS-START-OF-TECHNOLOGIES-TABLE -->
35+
36+
| Name | Links |
37+
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
38+
| Next.js | [Website](https://nextjs.org/) - [Docs](https://nextjs.org/docs) - [Learn Next.js](https://nextjs.org/learn) - [GitHub](https://github.com/vercel/next.js) - [Wikipedia](https://en.wikipedia.org/wiki/Next.js) |
39+
| React | [Website](https://reactjs.org/) - [Docs](https://reactjs.org/docs/getting-started.html) - [GitHub](https://github.com/facebook/react) - [Wikipedia](<https://en.wikipedia.org/wiki/React_(JavaScript_library)>) |
40+
| TypeScript | [Website](https://www.typescriptlang.org/) - [Docs](https://www.typescriptlang.org/docs/) - [GitHub](https://github.com/microsoft/TypeScript) - [Wikipedia](https://en.wikipedia.org/wiki/TypeScript) |
41+
| Emotion | [Website](https://emotion.sh/) - [Docs](https://emotion.sh/docs/introduction) - [GitHub](https://github.com/emotion-js/emotion) |
42+
| Styled Components | [Website](https://styled-components.com/) - [Docs](https://styled-components.com/docs) - [GitHub](https://github.com/styled-components/styled-components) |
43+
| Tailwind CSS | [Website](https://tailwindcss.com/) - [Docs](https://tailwindcss.com/docs) - [GitHub](https://github.com/tailwindlabs/tailwindcss) |
44+
| Sass | [Website](https://sass-lang.com/) - [Docs](https://sass-lang.com/documentation) - [Next.js-specific docs](https://nextjs.org/docs/basic-features/built-in-css-support#sass-support) |
45+
| CSS Modules | [Website](https://github.com/css-modules/css-modules) - [Docs](https://github.com/css-modules/css-modules) - [Next.js-specific docs](https://nextjs.org/docs/basic-features/built-in-css-support#adding-component-level-css) |
46+
| CSS Modules | [Website](https://github.com/css-modules/css-modules) - [Docs](https://github.com/css-modules/css-modules) - [Next.js-specific docs](https://nextjs.org/docs/basic-features/built-in-css-support#adding-component-level-css) |
47+
| Mantine | [Website](https://mantine.dev/) - [Docs](https://mantine.dev/pages/getting-started/) - [GitHub](https://github.com/mantinedev/mantine) |
48+
| Chakra UI | [Website](https://chakra-ui.com/) - [Docs](https://chakra-ui.com/docs/getting-started) - [GitHub](https://github.com/chakra-ui/chakra-ui) |
49+
| Material UI | [Website](https://material-ui.com/) - [Docs](https://material-ui.com/getting-started/installation/) - [GitHub](https://github.com/mui-org/material-ui) |
50+
| Framer Motion | [Website](https://www.framer.com/motion/) - [Docs](https://www.framer.com/docs/) - [GitHub](https://github.com/framer/motion) |
51+
| React Hook Form | [Website](https://react-hook-form.com/) - [Docs](https://react-hook-form.com/get-started) - [GitHub](https://github.com/react-hook-form/react-hook-form) |
52+
| Formik | [Website](https://formik.org/) - [Docs](https://formik.org/docs/overview) - [GitHub](https://github.com/formium/formik) |
53+
| React Query | [Website](https://tanstack.com/query/latest) - [Docs](https://tanstack.com/query/latest/docs/react/overview) - [GitHub](https://github.com/tanstack/query) |
54+
| React Icons | [Website](https://react-icons.github.io/react-icons/) - [GitHub](https://github.com/react-icons/react-icons) |
55+
| ESLint | [Website](https://eslint.org/) - [Configuration](https://eslint.org/docs/user-guide/configuring/) - [Rules](https://eslint.org/docs/rules/) - [GitHub](https://github.com/eslint/eslint) |
56+
| Prettier | [Website](https://prettier.io/) - [Docs](https://prettier.io/docs/en/index.html) - [Options](https://prettier.io/docs/en/options.html) - [GitHub](https://github.com/prettier/prettier) |
57+
| Husky | [Website](https://typicode.github.io/husky/) - [Docs](https://typicode.github.io/husky/) - [GitHub](https://github.com/typicode/husky) |
58+
| lint-staged | [Website](https://github.com/okonet/lint-staged) - [GitHub](https://github.com/okonet/lint-staged) |
59+
| pnpm | [Website](https://pnpm.io/) - [Docs](https://pnpm.io/motivation) - [GitHub](https://github.com/pnpm/pnpm) |
60+
| Yarn | [Website](https://yarnpkg.com/) - [CLI Docs](https://yarnpkg.com/cli) - [GitHub](https://github.com/yarnpkg/berry) |
61+
| npm | [Website](https://www.npmjs.com/) - [CLI Docs](https://docs.npmjs.com/cli/) |
62+
| GitHub Actions | [Website](https://github.com/features/actions) - [Docs](https://docs.github.com/en/actions) - [Workflow syntax](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions) |
63+
64+
<!-- CNS-END-OF-TECHNOLOGIES-TABLE -->
5865

5966
## Usage
6067

6168
Below you see an overview of Create Next Stack's usage, including detailed information about arguments and options. The overview is the result of running `create-next-stack --help`
6269

70+
<!-- CNS-START-OF-HELP-OUTPUT -->
71+
6372
```
6473
USAGE
6574
$ create-next-stack [APP_NAME] [FLAGS]
6675
6776
ARGUMENTS
68-
APP_NAME The name of your app, optionally including a path prefix. Eg.: "my-app" or "path/to/my-app"
77+
APP_NAME The name of your app, optionally including a path prefix. Eg.:
78+
"my-app" or "path/to/my-app"
6979
7080
FLAGS
7181
-h, --help Shows the CLI help information.
7282
-v, --version Shows the CLI version information.
73-
--chakra Adds Chakra UI. (Component library) (Requires Emotion and Framer Motion)
74-
--debug Show verbose error messages for debugging purposes.
75-
--formatting-pre-commit-hook Adds a formatting pre-commit hook. (Requires Prettier)
83+
--chakra Adds Chakra UI. (Component library) (Requires
84+
Emotion and Framer Motion)
85+
--debug Show verbose error messages for debugging
86+
purposes.
87+
--formatting-pre-commit-hook Adds a formatting pre-commit hook. (Requires
88+
Prettier)
7689
--formik Adds Formik. (Form library)
7790
--framer-motion Adds Framer Motion. (Animation library)
78-
--github-actions Adds a GitHub Actions continuous integration workflow.
79-
--material-ui Adds Material UI. (Component library)
80-
--package-manager=<option> Sets the preferred package manager. (Required)
91+
--github-actions Adds a GitHub Actions continuous integration
92+
workflow.
93+
--mantine Adds Mantine. (Component library) (Requires
94+
Emotion)
95+
--material-ui Adds Material UI. (Component library) (Requires
96+
Emotion)
97+
--package-manager=<option> (required) Sets the preferred package manager.
98+
(Required)
8199
<options: pnpm|yarn|npm>
82100
--prettier Adds Prettier. (Code formatting)
83101
--react-hook-form Adds React Hook Form. (Form library)
84102
--react-icons Adds React Icons. (Icon library)
85-
--styling=<styling-method> Sets the preferred styling method. (Required) <styling-method> = emotion|styled-components|tailwind-css|css-modules|css-modules-with-sass
103+
--react-query Adds React Query. (Server state management
104+
library)
105+
--styling=<styling-method> (required) Sets the preferred styling method.
106+
(Required) <styling-method> =
107+
emotion|styled-components|tailwind-css|css-modul
108+
es|css-modules-with-sass
86109
```
87110

111+
<!-- CNS-END-OF-HELP-OUTPUT -->
112+
88113
## Contributing
89114

90115
Contributions are welcome! Please see the [contributing guidelines](CONTRIBUTING.md) for more information.

packages/create-next-stack/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "create-next-stack",
33
"description": "Create Next Stack is a website and CLI tool used to easily set up the boilerplate of new Next.js apps.",
4-
"version": "0.2.5",
4+
"version": "0.2.6",
55
"author": "Anders Kjær Damgaard @akd-io",
66
"bugs": "https://github.com/akd-io/create-next-stack/issues",
77
"homepage": "https://github.com/akd-io/create-next-stack",
@@ -62,8 +62,9 @@
6262
"test:cna": "pnpm build && ts-node src/tests/e2e/test-live-cna.ts",
6363
"test:cns": "pnpm build && ts-node src/tests/e2e/test-live-cns.ts",
6464
"test:raw": "pnpm build && ./bin/dev",
65-
"print:help": "pnpm build && ./bin/dev --help",
66-
"print:version": "pnpm build && ./bin/dev --version",
65+
"print:help": "./bin/dev --help",
66+
"print:version": "./bin/dev --version",
67+
"update-readme": "ts-node ./src/scripts/update-readme.ts",
6768
"lint": "eslint --ext=.ts --config=.eslintrc --ignore-path=../../.prettierignore ."
6869
},
6970
"dependencies": {

0 commit comments

Comments
 (0)