Closed yunsii closed 4 months ago
just set grant to none
but you can not use gm_api
or you can use vite custom plugin
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
import monkey, { cdn } from 'vite-plugin-monkey';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
monkey({
entry: 'src/main.tsx',
userscript: {
icon: 'https://vitejs.dev/logo.svg',
namespace: 'npm/vite-plugin-monkey',
match: ['https://www.google.com/'],
},
build: {
externalGlobals: {
react: cdn.jsdelivr('React', 'umd/react.production.min.js'),
'react-dom': cdn.jsdelivr(
'ReactDOM',
'umd/react-dom.production.min.js'
),
},
},
}),
{
name: 'replace-unsafeWindow',
apply: 'build',
transform(code, id) {
if (id.includes('@monaco-editor/loader/lib/es/loader/index.js')) {
return import {unsafeWindow as window} from '$';\n
+ code;
}
},
},
],
});
Wow, it works like a charm with vite custom plugin, thx.
Repro: https://github.com/yunsii/vite-plugin-monkey-repro
It works in development env, but throw error after build: