Casa de los componentes react del Times.
Requerimos macOS con node.js (para una versión específica, verifique las restricciones de paquete.json), hilo (último)
Puede intentarlo sin estos requisitos, pero estaría solo.
Vaya a http://components.thetimes.co.uk
Ejecutar yarn install
Los componentes se pueden ver ejecutándose en un libro de cuentos
yarn storybookVea el paquete Utils sobre cómo actualizar el esquema.
Los componentes de este proyecto se pueden depurar a través de las herramientas de desarrollador de su navegador. Estos pasos asumen el uso de Chrome Devtools.
Para depurar nuestro libro de cuentos web:
yarn storybookCualquiera de estos archivos de origen se puede depurar directamente.
Sigue estos pasos aquí
También verá la opción de hacer una versión canaria en la tubería, que publicará una versión de prueba de sus cambios que puede importar en Render.
Además de vincular los componentes del Times y representar repos juntas, puede ver los cambios realizados a los componentes del Times en renderizar a través de los archivos rnw.js.
yarn bundle en el paquete en el que trabajaba. Si estaba trabajando en el paquete ts-components primero deberá ejecutar yarn build y luego yarn bundle .node_modules de Render. Por ejemplo, si incluye el archivo rnw.js en el paquete article-skeleton en componentes de Times, pegaría el contenido en node_modules/@times-components/article-skeleton/rnw.js .Las pruebas están utilizando actualmente la broma para ejecutarse, así que si desea depurar cualquier prueba, siga estos pasos:
(Encuentre su comando de prueba) jest --config="./packages/provider/__tests__/jest.config.js" . Dependiendo de qué directorio iniciamos las pruebas, el directorio --config puede diferir. Mi directorio de Currenct está en la raíz de repo: times-components .
Consulte su comando de prueba desde el package.json para el paquete SpecifiFic que desea ver.
Nota: Si no tiene un Jest instalado a nivel mundial, puede usarlo localmente desde el
node_modules/.bin/jest
node --inspect-brk ./node_modules/.bin/jest --config="./packages/provider/__tests__/jest.config.js" --runInBandNota:
--runInBandes una banderajestque ejecuta todas las pruebas en serie en el proceso actual. Si no agregamos este indicador, solo el proceso de nodo que comenzójestserá dependible.
(Agregue declaraciones de depuración) Normaly agregaríamos puntos de interrupción, pero cuando la depuración remota no siempre es posible, porque los archivos en los que necesitamos poner los puntos de interrupción aún no están cargados por jest . Entonces, para que el depurador se detenga donde queremos, necesitamos agregar debugger; Declaraciones en lugar de puntos de interrupción en el código y volver a transpilar si es necesario.
(Adjuntar al socket web) Una vez que hayamos iniciado las pruebas en modo de depuración, debemos adjuntarlo:
(Recomendado) Use la depuración remota de Chrome para el nodo:
chrome://inspect en la barra de direcciones de ChromeOpen dedicated DevTools for NodeConnection de la ventana emergente y agregue la conexión localhost:9229 o lo que sea su puerto--inspect-brk y una vez que presione el botón de reproducción (ejecución de reanudación) debe detenerse en su debugger; declaraciónNota: Una vez que se detiene, puede ver que todo su código está incluido en una línea. Hay una solución fácil para eso: en la parte inferior de la ventana de depuración cerca de la
Line: 1 Column: 1Etiquetas debe ver un botón{}que prettifique su código y aún podrá depurar correctamente.
(Use VScode) La configuración debe verse cerca de esto:
...
"configurations" : [
{
"localRoot" : " ${workspaceFolder}/packages/provider " , //change this depending on what test you're debugging
"remoteRoot" : " ${workspaceFolder}/packages/provider " , //change this depending on what test you're debugging
"type" : " node " ,
"request" : " attach " ,
"name" : " Attach to Server on 9229 " ,
"address" : " 127.0.0.1 " ,
"port" : 9229
}
]Vea el contribuyente.md para un desglose extenso del proyecto.
yarn commit se confirmará archivos (igual que git commit ), y ayudará al contribuyente a agregar un mensaje de confirmación adecuado en línea con ChangeLog convencional