diff --git a/packages/create-novu-app/.eslintrc.js b/packages/create-novu-app/.eslintrc.js new file mode 100644 index 00000000000..3c3f8ca2cf4 --- /dev/null +++ b/packages/create-novu-app/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + extends: ['../../.eslintrc.js'], + rules: { + '@typescript-eslint/naming-convention': 'off', + }, +}; diff --git a/packages/create-novu-app/README.md b/packages/create-novu-app/README.md index 30563414930..a4501cfcc7a 100644 --- a/packages/create-novu-app/README.md +++ b/packages/create-novu-app/README.md @@ -1,7 +1,27 @@ +
+ + + + Novu Logo + + +
+ # Create Novu App +[![Version](https://img.shields.io/npm/v/create-novu-app.svg)](https://www.npmjs.org/package/create-novu-app) +[![Downloads](https://img.shields.io/npm/dm/create-novu-app.svg)](https://www.npmjs.com/package/create-novu-app) + The easiest way to get started with Novu workflows is to call `create-novu-app`. The command will ask you for a project name as well as if you want to use react email. -### Why use Create Novu App? +## Quickstart + +You can get started by retrieving your Novu API key from the [settings page](https://web.novu.co/settings), then run: + +```bash +npx create-novu-app@latest --api-key= +``` + +## Why use Create Novu App? `create-novu-app` allows you to create a new Novu app within seconds. diff --git a/packages/create-novu-app/package.json b/packages/create-novu-app/package.json index 96dbb9fe2fc..99906ac1102 100644 --- a/packages/create-novu-app/package.json +++ b/packages/create-novu-app/package.json @@ -1,13 +1,16 @@ { "name": "create-novu-app", - "version": "0.24.2", + "version": "0.24.3-alpha.4", "keywords": [ - "novu" + "novu", + "create", + "notifications", + "next.js" ], "description": "Create Novu-powered apps with one command", "repository": { "type": "git", - "url": "https://github.com/novuhq/novu" + "url": "git+https://github.com/novuhq/novu.git" }, "author": "Novu Team ", "license": "MIT", diff --git a/packages/create-novu-app/templates/app-react-email/ts/app/echo/emails/vercel.tsx b/packages/create-novu-app/templates/app-react-email/ts/app/echo/emails/vercel.tsx index 486f011e2c3..c3d134fb0d6 100644 --- a/packages/create-novu-app/templates/app-react-email/ts/app/echo/emails/vercel.tsx +++ b/packages/create-novu-app/templates/app-react-email/ts/app/echo/emails/vercel.tsx @@ -22,7 +22,6 @@ const baseUrl = process.env.VERCEL_URL ? `https://react-email-demo-bdj5iju9r-resend.vercel.app` : "https://react-email-demo-bdj5iju9r-resend.vercel.app"; -// eslint-disable-next-line @typescript-eslint/naming-convention export const VercelInviteUserEmail = ({ username, showButton, diff --git a/packages/create-novu-app/templates/app-react-email/ts/app/layout.tsx b/packages/create-novu-app/templates/app-react-email/ts/app/layout.tsx index b03e2f83d8e..3314e4780a0 100644 --- a/packages/create-novu-app/templates/app-react-email/ts/app/layout.tsx +++ b/packages/create-novu-app/templates/app-react-email/ts/app/layout.tsx @@ -1,4 +1,3 @@ -/* eslint-disable */ import type { Metadata } from "next"; import { Inter } from "next/font/google"; import "./globals.css"; diff --git a/packages/create-novu-app/templates/app-react-email/ts/app/page.tsx b/packages/create-novu-app/templates/app-react-email/ts/app/page.tsx index 8c766cfbc1a..5705d4ea045 100644 --- a/packages/create-novu-app/templates/app-react-email/ts/app/page.tsx +++ b/packages/create-novu-app/templates/app-react-email/ts/app/page.tsx @@ -1,6 +1,5 @@ import Image from "next/image"; -// eslint-disable-next-line @typescript-eslint/naming-convention export default function Home() { return (
diff --git a/packages/create-novu-app/templates/app/ts/app/layout.tsx b/packages/create-novu-app/templates/app/ts/app/layout.tsx index 37c0b3f083d..3314e4780a0 100644 --- a/packages/create-novu-app/templates/app/ts/app/layout.tsx +++ b/packages/create-novu-app/templates/app/ts/app/layout.tsx @@ -9,7 +9,6 @@ export const metadata: Metadata = { description: "Generated by create next app", }; -// eslint-disable-next-line @typescript-eslint/naming-convention export default function RootLayout({ children, }: Readonly<{ diff --git a/packages/create-novu-app/templates/app/ts/app/page.tsx b/packages/create-novu-app/templates/app/ts/app/page.tsx index 03182f325c4..810709063d5 100644 --- a/packages/create-novu-app/templates/app/ts/app/page.tsx +++ b/packages/create-novu-app/templates/app/ts/app/page.tsx @@ -1,7 +1,6 @@ import Image from "next/image"; import styles from "./page.module.css"; -// eslint-disable-next-line @typescript-eslint/naming-convention export default function Home() { return (
diff --git a/packages/create-novu-app/templates/index.ts b/packages/create-novu-app/templates/index.ts index c5803bbdef2..1eb947e0911 100644 --- a/packages/create-novu-app/templates/index.ts +++ b/packages/create-novu-app/templates/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable */ import { install } from "../helpers/install"; import { copy } from "../helpers/copy"; @@ -66,8 +65,10 @@ export const installTemplate = async ({ case "eslintrc.json": { return `.${name}`; } - // README.md is ignored by webpack-asset-relocator-loader used by ncc: - // https://github.com/vercel/webpack-asset-relocator-loader/blob/e9308683d47ff507253e37c9bcbb99474603192b/src/asset-relocator.js#L227 + /* + * README.md is ignored by webpack-asset-relocator-loader used by ncc: + * https://github.com/vercel/webpack-asset-relocator-loader/blob/e9308683d47ff507253e37c9bcbb99474603192b/src/asset-relocator.js#L227 + */ case "README-template.md": { return "README.md"; } @@ -100,8 +101,10 @@ export const installTemplate = async ({ cwd: root, dot: true, stats: false, - // We don't want to modify compiler options in [ts/js]config.json - // and none of the files in the .git folder + /* + * We don't want to modify compiler options in [ts/js]config.json + * and none of the files in the .git folder + */ ignore: ["tsconfig.json", "jsconfig.json", ".git/**/*"], }); const writeSema = new Sema(8, { capacity: files.length }); diff --git a/packages/create-novu-app/templates/types.ts b/packages/create-novu-app/templates/types.ts index 0ab61394274..1d48676ec8a 100644 --- a/packages/create-novu-app/templates/types.ts +++ b/packages/create-novu-app/templates/types.ts @@ -1,4 +1,3 @@ -/* eslint-disable */ import { PackageManager } from "../helpers/get-pkg-manager"; export type TemplateType =