diff --git a/packages/create-next-app/templates/app-tw/ts/tailwind.config.js b/packages/create-next-app/templates/app-tw/ts/tailwind.config.ts similarity index 81% rename from packages/create-next-app/templates/app-tw/ts/tailwind.config.js rename to packages/create-next-app/templates/app-tw/ts/tailwind.config.ts index 8c4d1b21f1..c7ead80465 100644 --- a/packages/create-next-app/templates/app-tw/ts/tailwind.config.js +++ b/packages/create-next-app/templates/app-tw/ts/tailwind.config.ts @@ -1,5 +1,6 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { +import type { Config } from 'tailwindcss' + +const config: Config = { content: [ './pages/**/*.{js,ts,jsx,tsx,mdx}', './components/**/*.{js,ts,jsx,tsx,mdx}', @@ -16,3 +17,4 @@ module.exports = { }, plugins: [], } +export default config diff --git a/packages/create-next-app/templates/default-tw/ts/tailwind.config.js b/packages/create-next-app/templates/default-tw/ts/tailwind.config.ts similarity index 81% rename from packages/create-next-app/templates/default-tw/ts/tailwind.config.js rename to packages/create-next-app/templates/default-tw/ts/tailwind.config.ts index 8c4d1b21f1..c7ead80465 100644 --- a/packages/create-next-app/templates/default-tw/ts/tailwind.config.js +++ b/packages/create-next-app/templates/default-tw/ts/tailwind.config.ts @@ -1,5 +1,6 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { +import type { Config } from 'tailwindcss' + +const config: Config = { content: [ './pages/**/*.{js,ts,jsx,tsx,mdx}', './components/**/*.{js,ts,jsx,tsx,mdx}', @@ -16,3 +17,4 @@ module.exports = { }, plugins: [], } +export default config diff --git a/packages/create-next-app/templates/index.ts b/packages/create-next-app/templates/index.ts index 40cec3fc58..0bb5b0d9c5 100644 --- a/packages/create-next-app/templates/index.ts +++ b/packages/create-next-app/templates/index.ts @@ -48,7 +48,11 @@ export const installTemplate = async ({ const templatePath = path.join(__dirname, template, mode) const copySource = ['**'] if (!eslint) copySource.push('!eslintrc.json') - if (!tailwind) copySource.push('!tailwind.config.js', '!postcss.config.js') + if (!tailwind) + copySource.push( + mode == 'ts' ? 'tailwind.config.ts' : '!tailwind.config.js', + '!postcss.config.js' + ) await copy(copySource, root, { parents: true, @@ -146,7 +150,10 @@ export const installTemplate = async ({ ) if (tailwind) { - const tailwindConfigFile = path.join(root, 'tailwind.config.js') + const tailwindConfigFile = path.join( + root, + mode === 'ts' ? 'tailwind.config.ts' : 'tailwind.config.js' + ) await fs.promises.writeFile( tailwindConfigFile, ( diff --git a/test/integration/create-next-app/lib/specification.ts b/test/integration/create-next-app/lib/specification.ts index 1be3198386..5c5fb03968 100644 --- a/test/integration/create-next-app/lib/specification.ts +++ b/test/integration/create-next-app/lib/specification.ts @@ -76,7 +76,7 @@ export const projectSpecification: ProjectSpecification = { 'pages/api/hello.ts', 'pages/index.tsx', 'postcss.config.js', - 'tailwind.config.js', + 'tailwind.config.ts', 'tsconfig.json', ], deps: [ @@ -136,7 +136,7 @@ export const projectSpecification: ProjectSpecification = { 'app/page.tsx', 'next-env.d.ts', 'postcss.config.js', - 'tailwind.config.js', + 'tailwind.config.ts', 'tsconfig.json', ], },