[RFC] Option-driven tree-shaking toggles
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript, vite
- Área
- build-system
Línea de trabajo
Comienza revisando la integración existente del plugin Saus, el manejo de toggles y la ruta de build de Vite. Como el issue no menciona archivos ni tests, determina primero dónde se registran y procesan los toggles en tiempo de build. La implementación debería permitir que una opción del plugin controle la eliminación del código coincidente marcado con toggles, incluidos los IDs de toggle con namespace.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The Problem
There's no simple way to include code in client/server bundle only when a specific plugin/framework option has a specific value at build time.
Example
In any Vite-compiled module:
// @toggle foo
callSomeFunction(...args)
The foo toggle should be registered with Saus at build time:
export function MySausPlugin(options) {
return {
name: 'my-saus-plugin',
saus({ toggles }) {
// The `foo` option of my plugin decides if "foo" toggle is removed.
if (options.foo) {
toggles.use("foo")
}
}
}
}
In the above example, if the foo option of MySausPlugin is falsy, the callSomeFunction line is removed at build time.
Ideally, plugins would use namespaces in their toggle IDs:
// @toggle my-saus-plugin.foo
callSomeFunction(...args)
- Lenguaje dominante
- TypeScript
- Estrellas
- 38
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de alloc/saus
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
package idea
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Supertokens pluginAbiertohelp wanted package idea
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
enhancement plugin:aws saus deploy
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
bug saus deploy
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
Todos los issues de alloc/saus
Issues similares
-
priority: P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
prime-radiant-inc/evener#3291 ·
Los mantenedores suelen responder en 1 día
-
accessibility bug revealjs
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
quarto-dev/quarto-cli#14961 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
supabase/agent-skills#614 ·
-
Content
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
RunestoneInteractive/rs#1559 · 1 comentario ·
Los mantenedores suelen responder en 2 días