Skip to content

Commit

Permalink
feat: quiet mode with logger config (#759)
Browse files Browse the repository at this point in the history
* feat: quiet mode with logger config

* fix: reduce implementation

* fix: use log levels

* Update src/module.ts

* Update module.ts

* fix: viewer.ts after merge

* fix tests

---------

Co-authored-by: Sébastien Chopin <[email protected]>
Co-authored-by: Sébastien Chopin <[email protected]>
Co-authored-by: Sébastien Chopin <[email protected]>
4 people authored Nov 21, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 0653b2d commit 5020c3f
Showing 6 changed files with 18 additions and 9 deletions.
3 changes: 3 additions & 0 deletions src/logger.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export { LogLevels } from "consola"
import { useLogger } from '@nuxt/kit'
export default useLogger('nuxt:tailwindcss')
6 changes: 3 additions & 3 deletions src/module.ts
Original file line number Diff line number Diff line change
@@ -5,7 +5,6 @@ import {
defineNuxtModule,
installModule,
isNuxt2,
useLogger,
getNuxtVersion,
resolvePath,
addVitePlugin,
@@ -28,6 +27,7 @@ import {
resolveExposeConfig,
resolveViewerConfig
} from './resolvers'
import logger, { LogLevels } from './logger'
import createTemplates from './templates'
import vitePlugin from './vite-hmr'
import { setupViewer, exportViewer } from './viewer'
@@ -37,8 +37,6 @@ import type { ModuleOptions, TWConfig } from './types'
import { withTrailingSlash } from 'ufo'
export type { ModuleOptions } from './types'

const logger = useLogger('nuxt:tailwindcss')

const defaults = (nuxt = useNuxt()): ModuleOptions => ({
configPath: 'tailwind.config',
cssPath: join(nuxt.options.dir.assets, 'css/tailwind.css'),
@@ -48,12 +46,14 @@ const defaults = (nuxt = useNuxt()): ModuleOptions => ({
exposeLevel: 2,
injectPosition: 'first',
disableHmrHotfix: false,
quiet: nuxt.options.logLevel === 'silent',
addTwUtil: false,
})

export default defineNuxtModule<ModuleOptions>({
meta: { name, version, configKey, compatibility }, defaults,
async setup (moduleOptions, nuxt) {
if (moduleOptions.quiet) logger.level = LogLevels.silent;
const { resolve } = createResolver(import.meta.url);
const [configPaths, contentPaths] = await resolveModulePaths(moduleOptions.configPath, nuxt)

5 changes: 5 additions & 0 deletions src/types.ts
Original file line number Diff line number Diff line change
@@ -91,6 +91,11 @@ export interface ModuleOptions {
*/
disableHmrHotfix: boolean;
/**
* Suppress logging to the console when everything is ok
*
* @default nuxt.options.logLevel === 'silent'
*/
quiet: boolean;
* Add util to write Tailwind CSS classes inside strings with `` tw`{classes}` ``
*
* @default false
7 changes: 3 additions & 4 deletions src/viewer.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import { underline, yellow } from 'colorette'
import { eventHandler, sendRedirect } from 'h3'
import { addDevServerHandler, isNuxt2, isNuxt3, useLogger, useNuxt } from '@nuxt/kit'
import { withTrailingSlash, withoutTrailingSlash, joinURL,cleanDoubleSlashes } from 'ufo'
import { addDevServerHandler, isNuxt2, isNuxt3, useNuxt } from '@nuxt/kit'
import { withTrailingSlash, withoutTrailingSlash, joinURL, cleanDoubleSlashes } from 'ufo'
import logger from './logger'
import { relative } from 'pathe'
import type { TWConfig, ViewerConfig } from './types'

const logger = useLogger('nuxt:tailwindcss')

export const setupViewer = async (twConfig: Partial<TWConfig>, config: ViewerConfig, nuxt = useNuxt()) => {
const route = joinURL(nuxt.options.app?.baseURL, config.endpoint)
// @ts-ignore
3 changes: 2 additions & 1 deletion test/basic.test.ts
Original file line number Diff line number Diff line change
@@ -19,7 +19,8 @@ describe('tailwindcss module', async () => {
await setupNuxtTailwind({
exposeConfig: { level: 2, alias: '#twcss' },
// viewer: { endpoint: '_tw' },
cssPath: r('tailwind.css')
cssPath: r('tailwind.css'),
quiet: false
})

test('include custom tailwind.css file in project css', () => {
3 changes: 2 additions & 1 deletion test/configs.test.ts
Original file line number Diff line number Diff line change
@@ -22,7 +22,8 @@ describe('tailwindcss module configs', async () => {
'override-tailwind.config.js',
'content-obj.config'
],
cssPath: 'tailwind.css'
cssPath: 'tailwind.css',
quiet: false
},
{
dir: { plugins: 'my-pluggable-modules', modules: 'my-modular-plugins' },

0 comments on commit 5020c3f

Please sign in to comment.