From 71c3462d0d5aec93f7806dea656e97dadcba16a0 Mon Sep 17 00:00:00 2001
From: yuyinws
Date: Mon, 22 Jul 2024 17:55:49 +0800
Subject: [PATCH 1/4] refactor: utils
---
src/core/utils.ts | 242 ----------------------
src/core/utils/codegen.ts | 135 ++++++++++++
src/core/utils/common.ts | 106 ++++++++++
src/core/utils/index.ts | 2 +
src/core/utils/themes.ts | 80 +++++++
test/__snapshots__/comment.test.ts.snap | 8 +-
test/__snapshots__/options.test.ts.snap | 16 +-
test/__snapshots__/transform.test.ts.snap | 26 +--
test/themes.test.ts | 8 +
9 files changed, 356 insertions(+), 267 deletions(-)
delete mode 100644 src/core/utils.ts
create mode 100644 src/core/utils/codegen.ts
create mode 100644 src/core/utils/common.ts
create mode 100644 src/core/utils/index.ts
create mode 100644 src/core/utils/themes.ts
create mode 100644 test/themes.test.ts
diff --git a/src/core/utils.ts b/src/core/utils.ts
deleted file mode 100644
index efbf989..0000000
--- a/src/core/utils.ts
+++ /dev/null
@@ -1,242 +0,0 @@
-import { cwd } from 'node:process'
-import { extname, relative } from 'pathe'
-import { createFilter } from '@rollup/pluginutils'
-import type { Comment, Node } from '@babel/types'
-import type { Compiler, GenContext, Options } from '../types'
-import { PLUGIN_NAME } from './constants'
-
-export const filter = createFilter(
- [/\.vue$/, /\.vue\?vue/, /\.vue\?v=/, /\.ts$/, /\.tsx$/, /\.js$/, /\.jsx$/, /\.svelte$/, /\.astro$/],
- [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/],
-)
-
-const commonStyle = 'padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;'
-
-const consoleStyles: Record = {
- '.js': `${commonStyle}color: #111827; background: #F7DF1E`,
- '.jsx': `${commonStyle}color: #111827; background: #F7DF1E`,
- '.ts': `${commonStyle}color: #fff; background: #3178C6`,
- '.tsx': `${commonStyle}color: #fff; background: #3178C6`,
- '.vue': `${commonStyle}color: #fff; background: #4FC08D`,
- '.svelte': `${commonStyle}color: #fff; background: #FF3E00`,
- '.astro': `${commonStyle}color: #fff; background: #FF5D01`,
- 'default': `${commonStyle}color: #111827; background: #F7DF1E`,
-}
-
-export function getConsoleStyle(fileType: string): string {
- return consoleStyles[fileType] ?? consoleStyles.default
-}
-
-export const launchEditorStyle = 'background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px'
-
-export function printInfo(options: Options, spacing: string = ' ') {
- if (options.disableLaunchEditor || options.silent)
- return false
- // eslint-disable-next-line no-console
- console.log(` \x1B[32m鉃淺x1B[39m${spacing}\x1B[1mTurboConsole\x1B[22m: \x1B[36mhttp://localhost:\x1B[1m${options.port}\x1B[22m/inspect\x1B[39m`)
-}
-
-export function getFileNameWithoutExtension(fileName: string) {
- if (!fileName)
- return ''
- return fileName.replace(/\.[^/.]+$/, '')
-}
-
-export function getExtendedPath(filePath: string, extendedPathFileNames?: string[]) {
- const sep = filePath.includes('\\') ? '\\' : '/'
- const arr = filePath.split(sep)
- let basename = arr.pop() || ''
- const basenameWithoutExt = getFileNameWithoutExtension(basename).toLowerCase()
- if (extendedPathFileNames && extendedPathFileNames?.length > 0) {
- let isEnd = false
- if (extendedPathFileNames.some(name => basenameWithoutExt === name.toLowerCase())) {
- while (!isEnd) {
- const fileName = arr.pop()
- basename = `${fileName}/${basename}`
- if (extendedPathFileNames.every(name => name.toLowerCase() !== fileName?.toLowerCase()))
- isEnd = true
- }
- }
- }
- return basename
-}
-
-export async function getCompiler(id: string): Promise {
- const urlObject = new URL(id, 'file://')
- const fileType = extname(urlObject.pathname)
-
- switch (fileType) {
- case '.vue': {
- const Vue = await import('vue')
- if (!Vue || typeof Vue.version !== 'string') {
- console.warn(`[${PLUGIN_NAME}]: Vue is not installed`)
- return undefined
- }
- else if (Vue.version.startsWith('2.')) {
- return 'vue2'
- }
- else if (Vue.version.startsWith('3.')) {
- return 'vue3'
- }
- else {
- console.warn(`[${PLUGIN_NAME}]: Unsupported Vue version: ${Vue.version}`)
- return undefined
- }
- }
- case '.svelte':
- return 'svelte'
- case '.js':
- return 'vanilla'
- case '.jsx':
- return 'vanilla'
- case '.ts':
- return 'vanilla'
- case '.tsx':
- return 'vanilla'
- case '.astro':
- return 'vanilla'
- default:
- return undefined
- }
-}
-
-export function isPluginDisable(meta: {
- comments: Comment[]
- originalLine: number
- id: string
- type: 'top-file' | 'inline-file'
- compiler: Compiler
-}) {
- const { comments, originalLine, type, compiler } = meta
-
- if (comments?.length === 0)
- return false
-
- if (type === 'top-file') {
- const startLine = compiler === 'vanilla' ? 1 : 2
-
- const disablePluginComment = comments?.find(comment => comment.value.includes('turbo-console-disable'))
-
- if (disablePluginComment && disablePluginComment.loc!.start.line <= startLine)
- return true
- }
- else if (type === 'inline-file') {
- const currentLineComment = comments?.find(comment => comment.value.includes('turbo-console-disable-line') && comment.loc!.start.line === originalLine)
- const nextLineComment = comments?.find(comment => comment.value.includes('turbo-console-disable-next-line') && comment.loc!.start.line === originalLine - 1)
-
- if (currentLineComment || nextLineComment)
- return true
- }
-
- return false
-}
-
-export function setFilePathMap(filePath: string): string {
- let filePathMap = globalThis.TurboConsoleFilePathMap
-
- if (typeof filePathMap === 'undefined')
- filePathMap = new Map()
-
- if (filePathMap.has(filePath))
- return filePathMap.get(filePath)!
-
- function getRandomString() {
- const randomString = Math.random().toString(20).substring(2, 6)
-
- for (const [_, value] of filePathMap) {
- if (value === randomString)
- return getRandomString()
- }
-
- return randomString
- }
-
- const randomString = getRandomString()
- filePathMap.set(filePath, randomString)
- globalThis.TurboConsoleFilePathMap = filePathMap
-
- return randomString
-}
-
-export function genConsoleString(genContext: GenContext) {
- const { options, originalColumn, originalLine, argType, id } = genContext
- let { argsName } = genContext
- const { prefix, suffix, disableLaunchEditor, port, disableHighlight, extendedPathFileNames } = options
- const _prefix = prefix ? `${prefix}\\n` : ''
- const _suffix = suffix ? `\\n${suffix}` : ''
-
- const urlObject = new URL(id, 'file://')
- const filePath = urlObject.pathname
- const fileName = getExtendedPath(filePath, extendedPathFileNames)
- const fileType = extname(filePath)
-
- const relativePath = relative(cwd(), filePath)
- const filePathMapString = disableLaunchEditor ? '' : setFilePathMap(relativePath)
-
- // Parsing escaped unicode symbols
- try {
- argsName = JSON.parse(`"${argsName}"`)
- }
- catch (error) {
- console.error(`${PLUGIN_NAME}:${error}`)
- }
-
- if (argsName?.length > 30)
- argsName = `${argsName.slice(0, 30)}...`
-
- // not output when argtype is string or number
- const lineInfo = `%c馃殌 ${fileName}\u00B7${originalLine}${['StringLiteral', 'NumericLiteral'].includes(argType) ? '' : ` ~ ${argsName}`}`
- const codePosition = `${filePathMapString},${originalLine},${(originalColumn || 0) + 1}`
-
- const launchEditorString = `%c馃敠 http://localhost:${port}#${codePosition}`
-
- let consoleString = ''
-
- if (!disableHighlight && !disableHighlight) {
- consoleString = _prefix
- ? `"${_prefix}${lineInfo}${launchEditorString}","${getConsoleStyle(fileType)}","${launchEditorStyle}","\\n",`
- : `"${lineInfo}${launchEditorString}","${getConsoleStyle(fileType)}","${launchEditorStyle}","\\n",`
- }
-
- if (disableHighlight && !disableLaunchEditor) {
- consoleString = _prefix
- ? `"${_prefix}${launchEditorString}","${launchEditorStyle}","\\n",`
- : `"${launchEditorString}","${launchEditorStyle}","\\n",`
- }
-
- if (!disableHighlight && disableLaunchEditor) {
- consoleString = _prefix
- ? `"${_prefix}${lineInfo}","${getConsoleStyle(fileType)}","\\n",`
- : `"${lineInfo}","${getConsoleStyle(fileType)}","\\n",`
- }
-
- if (disableHighlight && disableLaunchEditor) {
- consoleString = _prefix
- ? `"${_prefix}",`
- : ''
- }
-
- return {
- consoleString,
- _suffix,
- }
-}
-
-export function isConsoleExpression(node: Node) {
- return node.type === 'CallExpression'
- && node.callee.type === 'MemberExpression'
- && node.callee.object.type === 'Identifier'
- && node.callee.object.name === 'console'
- && node.callee.property.type === 'Identifier'
- && node.arguments?.length > 0
-}
-
-export async function loadPkg(pkg: string) {
- try {
- await import(pkg)
- return true
- }
- catch (error) {
- return false
- }
-}
diff --git a/src/core/utils/codegen.ts b/src/core/utils/codegen.ts
new file mode 100644
index 0000000..dbd6348
--- /dev/null
+++ b/src/core/utils/codegen.ts
@@ -0,0 +1,135 @@
+import { cwd } from 'node:process'
+import { extname, relative } from 'pathe'
+import type { GenContext } from '../../types'
+import { PLUGIN_NAME } from '../constants'
+import type { FileExt } from './themes'
+import { builtInThemes, getStyleCode } from './themes'
+
+// const commonStyle = 'padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;'
+
+// const consoleStyles: Record = {
+// '.js': `${commonStyle}color: #111827; background: #F7DF1E`,
+// '.jsx': `${commonStyle}color: #111827; background: #F7DF1E`,
+// '.ts': `${commonStyle}color: #fff; background: #3178C6`,
+// '.tsx': `${commonStyle}color: #fff; background: #3178C6`,
+// '.vue': `${commonStyle}color: #fff; background: #4FC08D`,
+// '.svelte': `${commonStyle}color: #fff; background: #FF3E00`,
+// '.astro': `${commonStyle}color: #fff; background: #FF5D01`,
+// 'default': `${commonStyle}color: #111827; background: #F7DF1E`,
+// }
+
+// function getStyleCode(fileType: string): string {
+// return consoleStyles[fileType] ?? consoleStyles.default
+// }
+
+const launchEditorStyle = 'background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px'
+
+function getExtendedPath(filePath: string, extendedPathFileNames?: string[]) {
+ const sep = filePath.includes('\\') ? '\\' : '/'
+ const arr = filePath.split(sep)
+ let basename = arr.pop() || ''
+ const basenameWithoutExt = basename.replace(/\.[^/.]+$/, '').toLowerCase()
+ if (extendedPathFileNames && extendedPathFileNames?.length > 0) {
+ let isEnd = false
+ if (extendedPathFileNames.some(name => basenameWithoutExt === name.toLowerCase())) {
+ while (!isEnd) {
+ const fileName = arr.pop()
+ basename = `${fileName}/${basename}`
+ if (extendedPathFileNames.every(name => name.toLowerCase() !== fileName?.toLowerCase()))
+ isEnd = true
+ }
+ }
+ }
+ return basename
+}
+
+export function setFilePathMap(filePath: string): string {
+ let filePathMap = globalThis.TurboConsoleFilePathMap
+
+ if (typeof filePathMap === 'undefined')
+ filePathMap = new Map()
+
+ if (filePathMap.has(filePath))
+ return filePathMap.get(filePath)!
+
+ function getRandomString() {
+ const randomString = Math.random().toString(20).substring(2, 6)
+
+ for (const [_, value] of filePathMap) {
+ if (value === randomString)
+ return getRandomString()
+ }
+
+ return randomString
+ }
+
+ const randomString = getRandomString()
+ filePathMap.set(filePath, randomString)
+ globalThis.TurboConsoleFilePathMap = filePathMap
+
+ return randomString
+}
+
+export function genConsoleString(genContext: GenContext) {
+ const { options, originalColumn, originalLine, argType, id } = genContext
+ let { argsName } = genContext
+ const { prefix, suffix, disableLaunchEditor, port, disableHighlight, extendedPathFileNames } = options
+ const _prefix = prefix ? `${prefix}\\n` : ''
+ const _suffix = suffix ? `\\n${suffix}` : ''
+
+ const urlObject = new URL(id, 'file://')
+ const filePath = urlObject.pathname
+ const fileName = getExtendedPath(filePath, extendedPathFileNames)
+ const fileType = extname(filePath).slice(1) as FileExt
+
+ const relativePath = relative(cwd(), filePath)
+ const filePathMapString = disableLaunchEditor ? '' : setFilePathMap(relativePath)
+
+ // Parsing escaped unicode symbols
+ try {
+ argsName = JSON.parse(`"${argsName}"`)
+ }
+ catch (error) {
+ console.error(`${PLUGIN_NAME}:${error}`)
+ }
+
+ if (argsName?.length > 30)
+ argsName = `${argsName.slice(0, 30)}...`
+
+ // not output when argtype is string or number
+ const lineInfo = `%c${builtInThemes.highlight.icon} ${fileName}\u00B7${originalLine}${['StringLiteral', 'NumericLiteral'].includes(argType) ? '' : ` ~ ${argsName}`}`
+ const codePosition = `${filePathMapString},${originalLine},${(originalColumn || 0) + 1}`
+
+ const launchEditorString = `%c${builtInThemes.launchEditor.icon} http://localhost:${port}#${codePosition}`
+
+ let consoleString = ''
+
+ if (!disableHighlight && !disableHighlight) {
+ consoleString = _prefix
+ ? `"${_prefix}${lineInfo}${launchEditorString}","${getStyleCode(fileType)}","${launchEditorStyle}","\\n",`
+ : `"${lineInfo}${launchEditorString}","${getStyleCode(fileType)}","${launchEditorStyle}","\\n",`
+ }
+
+ if (disableHighlight && !disableLaunchEditor) {
+ consoleString = _prefix
+ ? `"${_prefix}${launchEditorString}","${launchEditorStyle}","\\n",`
+ : `"${launchEditorString}","${launchEditorStyle}","\\n",`
+ }
+
+ if (!disableHighlight && disableLaunchEditor) {
+ consoleString = _prefix
+ ? `"${_prefix}${lineInfo}","${getStyleCode(fileType)}","\\n",`
+ : `"${lineInfo}","${getStyleCode(fileType)}","\\n",`
+ }
+
+ if (disableHighlight && disableLaunchEditor) {
+ consoleString = _prefix
+ ? `"${_prefix}",`
+ : ''
+ }
+
+ return {
+ consoleString,
+ _suffix,
+ }
+}
diff --git a/src/core/utils/common.ts b/src/core/utils/common.ts
new file mode 100644
index 0000000..fe0a1a0
--- /dev/null
+++ b/src/core/utils/common.ts
@@ -0,0 +1,106 @@
+import { createFilter } from '@rollup/pluginutils'
+import { extname } from 'pathe'
+import type { Comment, Node } from '@babel/types'
+import type { Compiler, Options } from '../../types'
+import { PLUGIN_NAME } from '../constants'
+
+export const filter = createFilter(
+ [/\.vue$/, /\.vue\?vue/, /\.vue\?v=/, /\.ts$/, /\.tsx$/, /\.js$/, /\.jsx$/, /\.svelte$/, /\.astro$/],
+ [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/],
+)
+
+export function printInfo(options: Options, spacing: string = ' ') {
+ if (options.disableLaunchEditor || options.silent)
+ return false
+ // eslint-disable-next-line no-console
+ console.log(` \x1B[32m鉃淺x1B[39m${spacing}\x1B[1mTurboConsole\x1B[22m: \x1B[36mhttp://localhost:\x1B[1m${options.port}\x1B[22m/inspect\x1B[39m`)
+}
+
+export async function getCompiler(id: string): Promise {
+ const urlObject = new URL(id, 'file://')
+ const fileType = extname(urlObject.pathname)
+
+ switch (fileType) {
+ case '.vue': {
+ const Vue = await import('vue')
+ if (!Vue || typeof Vue.version !== 'string') {
+ console.warn(`[${PLUGIN_NAME}]: Vue is not installed`)
+ return undefined
+ }
+ else if (Vue.version.startsWith('2.')) {
+ return 'vue2'
+ }
+ else if (Vue.version.startsWith('3.')) {
+ return 'vue3'
+ }
+ else {
+ console.warn(`[${PLUGIN_NAME}]: Unsupported Vue version: ${Vue.version}`)
+ return undefined
+ }
+ }
+ case '.svelte':
+ return 'svelte'
+ case '.js':
+ return 'vanilla'
+ case '.jsx':
+ return 'vanilla'
+ case '.ts':
+ return 'vanilla'
+ case '.tsx':
+ return 'vanilla'
+ case '.astro':
+ return 'vanilla'
+ default:
+ return undefined
+ }
+}
+
+export function isPluginDisable(meta: {
+ comments: Comment[]
+ originalLine: number
+ id: string
+ type: 'top-file' | 'inline-file'
+ compiler: Compiler
+}) {
+ const { comments, originalLine, type, compiler } = meta
+
+ if (comments?.length === 0)
+ return false
+
+ if (type === 'top-file') {
+ const startLine = compiler === 'vanilla' ? 1 : 2
+
+ const disablePluginComment = comments?.find(comment => comment.value.includes('turbo-console-disable'))
+
+ if (disablePluginComment && disablePluginComment.loc!.start.line <= startLine)
+ return true
+ }
+ else if (type === 'inline-file') {
+ const currentLineComment = comments?.find(comment => comment.value.includes('turbo-console-disable-line') && comment.loc!.start.line === originalLine)
+ const nextLineComment = comments?.find(comment => comment.value.includes('turbo-console-disable-next-line') && comment.loc!.start.line === originalLine - 1)
+
+ if (currentLineComment || nextLineComment)
+ return true
+ }
+
+ return false
+}
+
+export function isConsoleExpression(node: Node) {
+ return node.type === 'CallExpression'
+ && node.callee.type === 'MemberExpression'
+ && node.callee.object.type === 'Identifier'
+ && node.callee.object.name === 'console'
+ && node.callee.property.type === 'Identifier'
+ && node.arguments?.length > 0
+}
+
+export async function loadPkg(pkg: string) {
+ try {
+ await import(pkg)
+ return true
+ }
+ catch (error) {
+ return false
+ }
+}
diff --git a/src/core/utils/index.ts b/src/core/utils/index.ts
new file mode 100644
index 0000000..e0d20af
--- /dev/null
+++ b/src/core/utils/index.ts
@@ -0,0 +1,2 @@
+export * from './codegen'
+export * from './common'
diff --git a/src/core/utils/themes.ts b/src/core/utils/themes.ts
new file mode 100644
index 0000000..48a3672
--- /dev/null
+++ b/src/core/utils/themes.ts
@@ -0,0 +1,80 @@
+export type FileExt = 'js' | 'jsx' | 'ts' | 'tsx' | 'vue' | 'svelte' | 'astro'
+
+interface HighlightTheme {
+ 'padding'?: string
+ 'color'?: string
+ 'background'?: string
+ 'border-radius'?: string
+ 'margin'?: string
+}
+
+interface Themes {
+ highlight: {
+ [key in FileExt]?: HighlightTheme
+ } & {
+ icon?: string
+ }
+ launchEditor: {
+ icon?: string
+ }
+}
+
+const commonStyle = {
+ 'padding': '2px 5px',
+ 'border-radius': '3px 0 0 3px',
+ 'margin': '0 0 5px 0',
+}
+
+export const builtInThemes: Themes = {
+ highlight: {
+ icon: '馃殌',
+ js: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#4FC08D',
+ },
+ jsx: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#4FC08D',
+ },
+ ts: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#3178C6',
+ },
+ tsx: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#3178C6',
+ },
+ svelte: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#FF3E00',
+ },
+ astro: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#FF5D01',
+ },
+ vue: {
+ ...commonStyle,
+ color: '#fff',
+ background: '#4FC08D',
+ },
+ },
+ launchEditor: {
+ icon: '馃敠',
+ },
+}
+
+export function getStyleCode(fileType: FileExt) {
+ const theme = builtInThemes.highlight[fileType]!
+
+ const highlight = Object.entries(theme).map(([key, value]) => {
+ return `${key}:${value};`
+ }).join('')
+
+ return highlight
+}
diff --git a/test/__snapshots__/comment.test.ts.snap b/test/__snapshots__/comment.test.ts.snap
index 04fc2d6..17e68aa 100644
--- a/test/__snapshots__/comment.test.ts.snap
+++ b/test/__snapshots__/comment.test.ts.snap
@@ -2,12 +2,12 @@
exports[`disable by comments > on current line 1`] = `
{
- "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #111827; background: #F7DF1E","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')
+ "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')
console.log('hello javascript2') // turbo-console-disable-line
",
"map": SourceMap {
"file": "comments.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC",
"names": [],
"sources": [
"comments.js",
@@ -24,13 +24,13 @@ exports[`disable by comments > on current line 1`] = `
exports[`disable by comments > on next line 1`] = `
{
- "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #111827; background: #F7DF1E","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')
+ "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')
// turbo-console-disable-next-line
console.log('hello javascript2')
",
"map": SourceMap {
"file": "comments.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC",
"names": [],
"sources": [
"comments.js",
diff --git a/test/__snapshots__/options.test.ts.snap b/test/__snapshots__/options.test.ts.snap
index 2173dcd..724da9e 100644
--- a/test/__snapshots__/options.test.ts.snap
+++ b/test/__snapshots__/options.test.ts.snap
@@ -38,10 +38,10 @@ exports[`transform options > disable highlight 1`] = `
exports[`transform options > disable launch editor 1`] = `
{
- "code": "console.log("%c馃殌 main.js路1","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #111827; background: #F7DF1E","\\n",'hello javascript')",
+ "code": "console.log("%c馃殌 main.js路1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","\\n",'hello javascript')",
"map": SourceMap {
"file": "main.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0HAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mHAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"main.js",
@@ -56,10 +56,10 @@ exports[`transform options > disable launch editor 1`] = `
exports[`transform options > empty option 1`] = `
{
- "code": "console.log("%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #111827; background: #F7DF1E","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
+ "code": "console.log("%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
"map": SourceMap {
"file": "main.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"main.js",
@@ -74,10 +74,10 @@ exports[`transform options > empty option 1`] = `
exports[`transform options > extended path option 1`] = `
{
- "code": "console.log("%c馃殌 runner/index.js路1%c馃敠 http://localhost:3070#sfgha,1,1","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #111827; background: #F7DF1E","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
+ "code": "console.log("%c馃殌 runner/index.js路1%c馃敠 http://localhost:3070#sfgha,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
"map": SourceMap {
"file": "index.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0PAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"index.js",
@@ -92,10 +92,10 @@ exports[`transform options > extended path option 1`] = `
exports[`transform options > with prefix suffix 1`] = `
{
- "code": "console.log("-------\\n%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #111827; background: #F7DF1E","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript',"\\n-------")",
+ "code": "console.log("-------\\n%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript',"\\n-------")",
"map": SourceMap {
"file": "main.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2PAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAC",
"names": [],
"sources": [
"main.js",
diff --git a/test/__snapshots__/transform.test.ts.snap b/test/__snapshots__/transform.test.ts.snap
index 77ad4ef..2bc044a 100644
--- a/test/__snapshots__/transform.test.ts.snap
+++ b/test/__snapshots__/transform.test.ts.snap
@@ -26,12 +26,12 @@ exports[`edge case > win path 1`] = `
",
"map": SourceMap {
"file": "App.vue",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
"names": [],
"sources": [
"App.vue",
@@ -57,7 +57,7 @@ exports[`svelte transform > svelte 1`] = `
"code": "
Welcome to SvelteKit
@@ -66,7 +66,7 @@ exports[`svelte transform > svelte 1`] = `
",
"map": SourceMap {
"file": "+page.svelte",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yPAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qPAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"+page.svelte",
@@ -93,9 +93,9 @@ exports[`vanilla transform > tsx 1`] = `
"code": ""use client";
export default function Home() {
- console.log("%c馃殌 page.tsx路4%c馃敠 http://localhost:3070#svelte,4,5","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #fff; background: #3178C6","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n","hello nextjs");
+ console.log("%c馃殌 page.tsx路4%c馃敠 http://localhost:3070#svelte,4,5","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n","hello nextjs");
function hello() {
- console.log("%c馃殌 page.tsx路6%c馃敠 http://localhost:3070#svelte,6,7","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #fff; background: #3178C6","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n","hello nextjs");
+ console.log("%c馃殌 page.tsx路6%c馃敠 http://localhost:3070#svelte,6,7","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n","hello nextjs");
}
return page.tsx;
@@ -103,7 +103,7 @@ exports[`vanilla transform > tsx 1`] = `
",
"map": SourceMap {
"file": "page.tsx",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AACH,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AACH,CAAC",
"names": [],
"sources": [
"page.tsx",
@@ -129,11 +129,11 @@ exports[`vanilla transform > tsx 1`] = `
exports[`vanilla transform > typescript 1`] = `
{
"code": "const msg: string = "hello TypeScript"
- console.log("%c馃殌 main.ts路2 ~ msg%c馃敠 http://localhost:3070#maints,2,3","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #fff; background: #3178C6","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",msg)
+ console.log("%c馃殌 main.ts路2 ~ msg%c馃敠 http://localhost:3070#maints,2,3","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",msg)
",
"map": SourceMap {
"file": "main.ts",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC",
"names": [],
"sources": [
"main.ts",
@@ -159,7 +159,7 @@ exports[`vue transform > options 1`] = `
},
mounted() {
const msg = "hello vue"
- console.log("%c馃殌 App.vue路10 ~ msg%c馃敠 http://localhost:3070#appvue,10,7","padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;color: #fff; background: #4FC08D","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",msg)
+ console.log("%c馃殌 App.vue路10 ~ msg%c馃敠 http://localhost:3070#appvue,10,7","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",msg)
}
}
@@ -170,7 +170,7 @@ exports[`vue transform > options 1`] = `
",
"map": SourceMap {
"file": "App.vue",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wPAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oPAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
"names": [],
"sources": [
"App.vue",
@@ -208,12 +208,12 @@ exports[`vue transform > script setup 1`] = `
",
"map": SourceMap {
"file": "App.vue",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
"names": [],
"sources": [
"App.vue",
diff --git a/test/themes.test.ts b/test/themes.test.ts
new file mode 100644
index 0000000..c7a39b3
--- /dev/null
+++ b/test/themes.test.ts
@@ -0,0 +1,8 @@
+import { describe, expect, it, vi } from 'vitest'
+import { getStyleCode } from '../src/core/utils/themes'
+
+describe('themes', () => {
+ it('get style code', () => {
+ expect(getStyleCode('vue')).toMatchInlineSnapshot(`"padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;"`)
+ })
+})
From 033cb56f2c7a6504f67df40c2458477682009b6e Mon Sep 17 00:00:00 2001
From: yuyinws
Date: Thu, 25 Jul 2024 15:32:39 +0800
Subject: [PATCH 2/4] refactor: utils
---
src/core/utils/codegen.ts | 31 +++++------------------
src/core/utils/themes.ts | 23 ++++++++++++++---
test/__snapshots__/comment.test.ts.snap | 8 +++---
test/__snapshots__/options.test.ts.snap | 16 ++++++------
test/__snapshots__/transform.test.ts.snap | 26 +++++++++----------
test/themes.test.ts | 7 ++++-
6 files changed, 57 insertions(+), 54 deletions(-)
diff --git a/src/core/utils/codegen.ts b/src/core/utils/codegen.ts
index dbd6348..798f78d 100644
--- a/src/core/utils/codegen.ts
+++ b/src/core/utils/codegen.ts
@@ -5,25 +5,6 @@ import { PLUGIN_NAME } from '../constants'
import type { FileExt } from './themes'
import { builtInThemes, getStyleCode } from './themes'
-// const commonStyle = 'padding:2px 5px; border-radius:3px 0 0 3px;margin-bottom:5px;'
-
-// const consoleStyles: Record = {
-// '.js': `${commonStyle}color: #111827; background: #F7DF1E`,
-// '.jsx': `${commonStyle}color: #111827; background: #F7DF1E`,
-// '.ts': `${commonStyle}color: #fff; background: #3178C6`,
-// '.tsx': `${commonStyle}color: #fff; background: #3178C6`,
-// '.vue': `${commonStyle}color: #fff; background: #4FC08D`,
-// '.svelte': `${commonStyle}color: #fff; background: #FF3E00`,
-// '.astro': `${commonStyle}color: #fff; background: #FF5D01`,
-// 'default': `${commonStyle}color: #111827; background: #F7DF1E`,
-// }
-
-// function getStyleCode(fileType: string): string {
-// return consoleStyles[fileType] ?? consoleStyles.default
-// }
-
-const launchEditorStyle = 'background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px'
-
function getExtendedPath(filePath: string, extendedPathFileNames?: string[]) {
const sep = filePath.includes('\\') ? '\\' : '/'
const arr = filePath.split(sep)
@@ -106,20 +87,20 @@ export function genConsoleString(genContext: GenContext) {
if (!disableHighlight && !disableHighlight) {
consoleString = _prefix
- ? `"${_prefix}${lineInfo}${launchEditorString}","${getStyleCode(fileType)}","${launchEditorStyle}","\\n",`
- : `"${lineInfo}${launchEditorString}","${getStyleCode(fileType)}","${launchEditorStyle}","\\n",`
+ ? `"${_prefix}${lineInfo}${launchEditorString}","${getStyleCode(fileType).highlight}","${getStyleCode(fileType).launchEditor}","\\n",`
+ : `"${lineInfo}${launchEditorString}","${getStyleCode(fileType).highlight}","${getStyleCode(fileType).launchEditor}","\\n",`
}
if (disableHighlight && !disableLaunchEditor) {
consoleString = _prefix
- ? `"${_prefix}${launchEditorString}","${launchEditorStyle}","\\n",`
- : `"${launchEditorString}","${launchEditorStyle}","\\n",`
+ ? `"${_prefix}${launchEditorString}","${getStyleCode(fileType).launchEditor}","\\n",`
+ : `"${launchEditorString}","${getStyleCode(fileType).launchEditor}","\\n",`
}
if (!disableHighlight && disableLaunchEditor) {
consoleString = _prefix
- ? `"${_prefix}${lineInfo}","${getStyleCode(fileType)}","\\n",`
- : `"${lineInfo}","${getStyleCode(fileType)}","\\n",`
+ ? `"${_prefix}${lineInfo}","${getStyleCode(fileType).highlight}","\\n",`
+ : `"${lineInfo}","${getStyleCode(fileType).highlight}","\\n",`
}
if (disableHighlight && disableLaunchEditor) {
diff --git a/src/core/utils/themes.ts b/src/core/utils/themes.ts
index 48a3672..2b87d8a 100644
--- a/src/core/utils/themes.ts
+++ b/src/core/utils/themes.ts
@@ -15,7 +15,11 @@ interface Themes {
icon?: string
}
launchEditor: {
- icon?: string
+ 'icon'?: string
+ 'padding'?: string
+ 'border-radius'?: string
+ 'margin'?: string
+ 'background'?: string
}
}
@@ -65,7 +69,11 @@ export const builtInThemes: Themes = {
},
},
launchEditor: {
- icon: '馃敠',
+ 'icon': '馃敠',
+ 'background': '#00DC8250',
+ 'padding': '2px 5px',
+ 'border-radius': '0 3px 3px 0',
+ 'margin': '0 0 5px 0',
},
}
@@ -76,5 +84,14 @@ export function getStyleCode(fileType: FileExt) {
return `${key}:${value};`
}).join('')
- return highlight
+ const launchEditor = Object.entries(builtInThemes.launchEditor).map(([key, value]) => {
+ if (key !== 'icon')
+ return `${key}:${value};`
+ return ''
+ }).join('')
+
+ return {
+ launchEditor,
+ highlight,
+ }
}
diff --git a/test/__snapshots__/comment.test.ts.snap b/test/__snapshots__/comment.test.ts.snap
index 17e68aa..77c84cd 100644
--- a/test/__snapshots__/comment.test.ts.snap
+++ b/test/__snapshots__/comment.test.ts.snap
@@ -2,12 +2,12 @@
exports[`disable by comments > on current line 1`] = `
{
- "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')
+ "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",'hello javascript')
console.log('hello javascript2') // turbo-console-disable-line
",
"map": SourceMap {
"file": "comments.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC",
"names": [],
"sources": [
"comments.js",
@@ -24,13 +24,13 @@ exports[`disable by comments > on current line 1`] = `
exports[`disable by comments > on next line 1`] = `
{
- "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')
+ "code": "console.log("%c馃殌 comments.js路1%c馃敠 http://localhost:3070#commsx,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",'hello javascript')
// turbo-console-disable-next-line
console.log('hello javascript2')
",
"map": SourceMap {
"file": "comments.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC",
"names": [],
"sources": [
"comments.js",
diff --git a/test/__snapshots__/options.test.ts.snap b/test/__snapshots__/options.test.ts.snap
index 724da9e..0ff21b1 100644
--- a/test/__snapshots__/options.test.ts.snap
+++ b/test/__snapshots__/options.test.ts.snap
@@ -20,10 +20,10 @@ exports[`transform options > disable all 1`] = `
exports[`transform options > disable highlight 1`] = `
{
- "code": "console.log("%c馃敠 http://localhost:3070#fgsss,1,1","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
+ "code": "console.log("%c馃敠 http://localhost:3070#fgsss,1,1","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",'hello javascript')",
"map": SourceMap {
"file": "main.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iIAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gIAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"main.js",
@@ -56,10 +56,10 @@ exports[`transform options > disable launch editor 1`] = `
exports[`transform options > empty option 1`] = `
{
- "code": "console.log("%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
+ "code": "console.log("%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",'hello javascript')",
"map": SourceMap {
"file": "main.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"main.js",
@@ -74,10 +74,10 @@ exports[`transform options > empty option 1`] = `
exports[`transform options > extended path option 1`] = `
{
- "code": "console.log("%c馃殌 runner/index.js路1%c馃敠 http://localhost:3070#sfgha,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript')",
+ "code": "console.log("%c馃殌 runner/index.js路1%c馃敠 http://localhost:3070#sfgha,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",'hello javascript')",
"map": SourceMap {
"file": "index.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"index.js",
@@ -92,10 +92,10 @@ exports[`transform options > extended path option 1`] = `
exports[`transform options > with prefix suffix 1`] = `
{
- "code": "console.log("-------\\n%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",'hello javascript',"\\n-------")",
+ "code": "console.log("-------\\n%c馃殌 main.js路1%c馃敠 http://localhost:3070#fgsss,1,1","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",'hello javascript',"\\n-------")",
"map": SourceMap {
"file": "main.js",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mPAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAC",
"names": [],
"sources": [
"main.js",
diff --git a/test/__snapshots__/transform.test.ts.snap b/test/__snapshots__/transform.test.ts.snap
index 2bc044a..382b735 100644
--- a/test/__snapshots__/transform.test.ts.snap
+++ b/test/__snapshots__/transform.test.ts.snap
@@ -26,12 +26,12 @@ exports[`edge case > win path 1`] = `
",
"map": SourceMap {
"file": "App.vue",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
"names": [],
"sources": [
"App.vue",
@@ -57,7 +57,7 @@ exports[`svelte transform > svelte 1`] = `
"code": "
Welcome to SvelteKit
@@ -66,7 +66,7 @@ exports[`svelte transform > svelte 1`] = `
",
"map": SourceMap {
"file": "+page.svelte",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qPAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oPAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC",
"names": [],
"sources": [
"+page.svelte",
@@ -93,9 +93,9 @@ exports[`vanilla transform > tsx 1`] = `
"code": ""use client";
export default function Home() {
- console.log("%c馃殌 page.tsx路4%c馃敠 http://localhost:3070#svelte,4,5","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n","hello nextjs");
+ console.log("%c馃殌 page.tsx路4%c馃敠 http://localhost:3070#svelte,4,5","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n","hello nextjs");
function hello() {
- console.log("%c馃殌 page.tsx路6%c馃敠 http://localhost:3070#svelte,6,7","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n","hello nextjs");
+ console.log("%c馃殌 page.tsx路6%c馃敠 http://localhost:3070#svelte,6,7","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n","hello nextjs");
}
return page.tsx;
@@ -103,7 +103,7 @@ exports[`vanilla transform > tsx 1`] = `
",
"map": SourceMap {
"file": "page.tsx",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AACH,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4OAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AACH,CAAC",
"names": [],
"sources": [
"page.tsx",
@@ -129,11 +129,11 @@ exports[`vanilla transform > tsx 1`] = `
exports[`vanilla transform > typescript 1`] = `
{
"code": "const msg: string = "hello TypeScript"
- console.log("%c馃殌 main.ts路2 ~ msg%c馃敠 http://localhost:3070#maints,2,3","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",msg)
+ console.log("%c馃殌 main.ts路2 ~ msg%c馃敠 http://localhost:3070#maints,2,3","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#3178C6;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",msg)
",
"map": SourceMap {
"file": "main.ts",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC",
"names": [],
"sources": [
"main.ts",
@@ -159,7 +159,7 @@ exports[`vue transform > options 1`] = `
},
mounted() {
const msg = "hello vue"
- console.log("%c馃殌 App.vue路10 ~ msg%c馃敠 http://localhost:3070#appvue,10,7","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background: #00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin-bottom:5px","\\n",msg)
+ console.log("%c馃殌 App.vue路10 ~ msg%c馃敠 http://localhost:3070#appvue,10,7","padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;","background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;","\\n",msg)
}
}
@@ -170,7 +170,7 @@ exports[`vue transform > options 1`] = `
",
"map": SourceMap {
"file": "App.vue",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oPAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mPAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
"names": [],
"sources": [
"App.vue",
@@ -208,12 +208,12 @@ exports[`vue transform > script setup 1`] = `
",
"map": SourceMap {
"file": "App.vue",
- "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
+ "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iPAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;",
"names": [],
"sources": [
"App.vue",
diff --git a/test/themes.test.ts b/test/themes.test.ts
index c7a39b3..7618d6b 100644
--- a/test/themes.test.ts
+++ b/test/themes.test.ts
@@ -3,6 +3,11 @@ import { getStyleCode } from '../src/core/utils/themes'
describe('themes', () => {
it('get style code', () => {
- expect(getStyleCode('vue')).toMatchInlineSnapshot(`"padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;"`)
+ expect(getStyleCode('vue')).toMatchInlineSnapshot(`
+ {
+ "highlight": "padding:2px 5px;border-radius:3px 0 0 3px;margin:0 0 5px 0;color:#fff;background:#4FC08D;",
+ "launchEditor": "background:#00DC8250;padding:2px 5px;border-radius:0 3px 3px 0;margin:0 0 5px 0;",
+ }
+ `)
})
})
From 87b1d22da89e4143b99bc10b0288af1e6107bdf5 Mon Sep 17 00:00:00 2001
From: yuyinws
Date: Thu, 25 Jul 2024 15:37:43 +0800
Subject: [PATCH 3/4] chore: expose theme utils
---
src/core/utils/index.ts | 1 +
test/themes.test.ts | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/core/utils/index.ts b/src/core/utils/index.ts
index e0d20af..b2ceb8d 100644
--- a/src/core/utils/index.ts
+++ b/src/core/utils/index.ts
@@ -1,2 +1,3 @@
export * from './codegen'
export * from './common'
+export * from './themes'
diff --git a/test/themes.test.ts b/test/themes.test.ts
index 7618d6b..2ad276a 100644
--- a/test/themes.test.ts
+++ b/test/themes.test.ts
@@ -1,5 +1,5 @@
import { describe, expect, it, vi } from 'vitest'
-import { getStyleCode } from '../src/core/utils/themes'
+import { getStyleCode } from '../src/core/utils'
describe('themes', () => {
it('get style code', () => {
From b958eb91625aa4224471955dae82a75ef3edf177 Mon Sep 17 00:00:00 2001
From: yuyinws
Date: Thu, 25 Jul 2024 15:41:13 +0800
Subject: [PATCH 4/4] chore: fix lint error
---
test/themes.test.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/themes.test.ts b/test/themes.test.ts
index 2ad276a..f8612db 100644
--- a/test/themes.test.ts
+++ b/test/themes.test.ts
@@ -1,4 +1,4 @@
-import { describe, expect, it, vi } from 'vitest'
+import { describe, expect, it } from 'vitest'
import { getStyleCode } from '../src/core/utils'
describe('themes', () => {