Skip to content

Commit

Permalink
chore: release
Browse files Browse the repository at this point in the history
  • Loading branch information
hemengke1997 committed May 14, 2024
1 parent 53c5f92 commit 644baf7
Show file tree
Hide file tree
Showing 16 changed files with 241 additions and 337 deletions.
1 change: 0 additions & 1 deletion .prettierrc

This file was deleted.

3 changes: 0 additions & 3 deletions commitlint.config.cjs

This file was deleted.

8 changes: 7 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"@minko-fe/commitlint-config": "^2.0.7",
"@minko-fe/eslint-config": "^3.2.0",
"@minko-fe/prettier-config": "^2.2.2",
"@minko-fe/tsconfig": "^2.1.0",
"@minko-fe/tsconfig": "latest",
"eslint": "^8.57.0",
"nyc": "^15.1.0",
"prettier-plugin-astro": "^0.13.0",
Expand All @@ -56,5 +56,11 @@
"patchedDependencies": {
"vite-plugin-istanbul@6.0.0": "patches/vite-plugin-istanbul@6.0.0.patch"
}
},
"prettier": "@minko-fe/prettier-config",
"commitlint": {
"extends": [
"@minko-fe"
]
}
}
6 changes: 6 additions & 0 deletions packages/vite-plugin-istanbul-widget/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# vite-plugin-istanbul-widget

## 1.5.8

### Patch Changes

- fix: astro fullreport

## 1.5.7

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/vite-plugin-istanbul-widget/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vite-plugin-istanbul-widget",
"version": "1.5.7",
"version": "1.5.8",
"description": "集成了 istanbul-widget 和 vite-plugin-istanbul 的vite插件",
"type": "module",
"keywords": [
Expand Down
38 changes: 35 additions & 3 deletions packages/vite-plugin-istanbul-widget/src/astro/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { AstroIntegration } from 'astro'
import { istanbulWidget as viteIstanbulWidget } from '../index'
import { VENDOR, istanbulWidget as viteIstanbulWidget } from '../index'
import { type VitePluginIstanbulWidgetOptions } from '../types'
import { resolveInlineScript } from '../utils'

Expand All @@ -15,7 +15,11 @@ export function istanbulWidget(opts: VitePluginIstanbulWidgetOptions): any {
...opts,
istanbulPluginConfig: {
...opts.istanbulPluginConfig,
exclude: [...(opts.istanbulPluginConfig?.exclude ?? []), '**/astro:scripts/*.js'],
exclude: [
...(opts.istanbulPluginConfig?.exclude ?? []),
'**/astro:scripts/*.js',
'**/node_modules/**',
],
},
}),
{
Expand All @@ -37,6 +41,34 @@ export function istanbulWidget(opts: VitePluginIstanbulWidgetOptions): any {
}
},
},
{
name: 'vite:plugin-istanbul-widget:astro:post',
enforce: 'post',
generateBundle: {
order: 'post',
handler(opts, bundle) {
for (const file in bundle) {
const chunk = bundle[file]
if (chunk.type === 'chunk') {
if (chunk.code.includes('/* empty css')) {
if (chunk.name === VENDOR) {
const { format } = opts
const emptyCss = `\\/\\*\\s*empty\\s*css\\s*\\*\\/`
const emptyChunkRE = new RegExp(
format === 'es'
? `${emptyCss}\\bimport\\s*["'][^"']*(?:.*)["'];`
: `${emptyCss}(\\b|,\\s*)require\\(\\s*["'][^"']*(?:.*)["']\\)(;|,)`,
'g',
)

chunk.code = chunk.code.replace(emptyChunkRE, '')
}
}
}
}
},
},
},
],
},
})
Expand All @@ -52,4 +84,4 @@ export function istanbulWidget(opts: VitePluginIstanbulWidgetOptions): any {
} as AstroIntegration
}

export const exclude = [/istanbul-widget.esm/]
export const exclude = [/istanbul-widget\..*\.js/]
42 changes: 23 additions & 19 deletions packages/vite-plugin-istanbul-widget/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import istanbul from 'vite-plugin-istanbul'
import { type VitePluginIstanbulWidgetOptions } from './types'
import { getCommitId, resolveInlineScript } from './utils'

export const VENDOR = 'vendor'

export function istanbulWidget(opts: VitePluginIstanbulWidgetOptions): any {
const { enabled = false, fullReport = true, istanbulPluginConfig, istanbulWidgetConfig } = opts || {}

Expand Down Expand Up @@ -59,7 +61,7 @@ export function istanbulWidget(opts: VitePluginIstanbulWidgetOptions): any {
istanbul({
extension: ['.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx', '.vue', '.astro', '.svelte'],
...istanbulPluginConfig,
exclude: [...(istanbulPluginConfig?.exclude ?? []), '**/index.html?html-proxy*.js'],
exclude: [...(istanbulPluginConfig?.exclude ?? []), '**/index.html?html-proxy*.js', '**/node_modules/**'],
forceBuildInstrument: enabled,
}),
{
Expand All @@ -69,29 +71,31 @@ export function istanbulWidget(opts: VitePluginIstanbulWidgetOptions): any {
c.build ??= {}
c.build.sourcemap = false

if (fullReport && !c.build.ssr) {
const manualChunks = (id: string) => {
const CSS_LANGS_RE = /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/
const isCSSRequest = (request: string): boolean => CSS_LANGS_RE.test(request)
if (isCSSRequest(id)) return
if (id.includes('node_modules')) {
return 'vendor'
} else if (id.startsWith(process.cwd())) {
return 'src'
if (fullReport) {
if (!c.build.ssr) {
const manualChunks = (id: string) => {
const CSS_LANGS_RE = /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/
const isCSSRequest = (request: string): boolean => CSS_LANGS_RE.test(request)
if (isCSSRequest(id)) return
if (id.includes('node_modules')) {
return VENDOR
} else if (id.startsWith(process.cwd())) {
return 'src'
}
}
}

const output = c.build?.rollupOptions?.output
if (output) {
if (isArray(output)) {
output.forEach((_, index) => {
set(c, `build.rollupOptions.output[${index}].manualChunks`, manualChunks)
})
const output = c.build?.rollupOptions?.output
if (output) {
if (isArray(output)) {
output.forEach((_, index) => {
set(c, `build.rollupOptions.output[${index}].manualChunks`, manualChunks)
})
} else {
set(c, 'build.rollupOptions.output.manualChunks', manualChunks)
}
} else {
set(c, 'build.rollupOptions.output.manualChunks', manualChunks)
}
} else {
set(c, 'build.rollupOptions.output.manualChunks', manualChunks)
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion packages/vite-plugin-istanbul-widget/tsup.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export const tsup = defineConfig((option) => {
splitting: false,
treeshake: true,
clean: !option.watch,
minify: !option.watch,
minify: false,
sourcemap: !!option.watch,
},
]
Expand Down
3 changes: 3 additions & 0 deletions playground/astro-app/astro.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,8 @@ export default defineConfig({
babel: true,
}),
],
build: {
minify: false,
},
},
})
5 changes: 5 additions & 0 deletions playground/astro3-app/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Dockerfile
node_modules
npm-debug.log
*.log
*.md
21 changes: 21 additions & 0 deletions playground/astro3-app/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM node:18.17-alpine3.17

RUN apk add git

WORKDIR /app

RUN corepack enable

COPY . .

RUN pnpm i --ignore-scripts

RUN npm run build

ENV HOST=0.0.0.0

ENV PORT=3000

EXPOSE 3000

CMD ["node", "dist/server/entry.mjs"]
8 changes: 8 additions & 0 deletions playground/astro3-app/astro.config.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
import node from '@astrojs/node'
import react from '@astrojs/react'
import { defineConfig } from 'astro/config'
import { exclude, istanbulWidget } from 'vite-plugin-istanbul-widget/astro'
import { publicTypescript } from 'vite-plugin-public-typescript'

export default defineConfig({
adapter: node({
mode: 'standalone',
}),
output: 'server',
integrations: [
istanbulWidget({
enabled: true,
Expand Down Expand Up @@ -47,5 +52,8 @@ export default defineConfig({
babel: true,
}),
],
build: {
minify: false,
},
},
})
5 changes: 3 additions & 2 deletions playground/astro3-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@
"astro": "astro"
},
"dependencies": {
"astro": "^3.1.2",
"astro": "3.1.2",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@astrojs/react": "^3.0.2",
"@astrojs/node": "6.0.0",
"@astrojs/react": "3.0.2",
"@minko-fe/tsconfig": "latest",
"@types/react": "^18.2.0",
"typescript": "^5.4.5",
Expand Down
9 changes: 9 additions & 0 deletions playground/astro3-app/src/pages/blog.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
import Layout from '../layouts/Layout.astro'
import BlogContent from '../views/blog'
---

<Layout title='Welcome to Astro.'>
<main>this is blog</main>
<BlogContent client:visible />
</Layout>
14 changes: 14 additions & 0 deletions playground/astro3-app/src/views/blog.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { createContext } from 'react'

const C = createContext({ a: 'test' })

export default function Blog() {
return (
<C.Provider value={{ a: '1' }}>
<div style={{ color: 'wheat' }}>
<h1>Blog</h1>
<p>Welcome to my blog!</p>
</div>
</C.Provider>
)
}
Loading

0 comments on commit 644baf7

Please sign in to comment.