Los problemas y las solicitudes de extracción son bienvenidos. ¡Primero consulte CONTRIBUTING.md!
Este repositorio es un repositorio mono para
Los repositorios se derivan del creador de formularios digitales de DEFRA.
Este es un repositorio de espacios de trabajo de Yarn 2 (que se está acercando a) sin instalación. .yarnrc.yml nos permite alinear nuestros entornos de hilo. Confirme cualquier complemento en .yarn, pero no confirme su .yarn/cache. CI guardará y restaurará los cachés.
Los espacios de trabajo se encargarán de vincular simbólicamente los paquetes, por lo que no tenemos que ejecutar manualmente yarn link
. También se ocupará de aumentar los node_modules para cualquier paquete que se comparta entre los repositorios, disminuyendo así los tiempos de instalación. Ojalá todo funcione™️.
Consulte también los archivos README del repositorio individual para obtener información adicional:
Ejecute siempre scripts desde el directorio raíz.
node --version
.NODE_ENV=development
(consulte runner/config/development.json) para permitir la publicación y la vista previa de formularios durante el diseño.$ yarn
para instalar todas las dependencias en todos los espacios de trabajo.$ yarn build
para crear todos los espacios de trabajo (esto es necesario porque las dependencias pueden depender unas de otras).Como ya se mencionó, ejecute siempre los scripts desde el directorio raíz. Debido a que los espacios de trabajo no tienen scripts o paquetes, debe ejecutarlos desde dentro de sus carpetas y, al ejecutarlos en el directorio raíz, Yarn 2 puede resolver los scripts/paquetes correctamente.
Para obtener más información sobre los espacios de trabajo, consulte estos enlaces:
$ yarn [runner|designer|model] name-of-script
por ejemplo: yarn designer start
o yarn runner add babel-core --dev
$ yarn workspaces foreach run name-of-script
No lo recomendaría a menos que tengas un procesador robusto.
$ yarn watch
$ yarn add packagename
$ mkdir myNewLib
$ cd myNewlib
$ yarn init
package.json
raíz.jsonmyNewLib
al objeto de workspaces
. Si tiene algún problema, envíe un problema o envíe un mensaje a través de gitter.
/vendor
no está presente porque no se ha creado ni reconstruido. También puede tener este problema con core-js
, fsevents
, nodemailer
, etc. $ yarn rebuild
para reconstruir todos los paquetes $ yarn rebuild only node-sass
para reconstruir solo node-sass
Estamos utilizando acciones de GitHub para ejecutar nuestro proceso de CI. Vea una visualización del flujo de trabajo aquí.
Los números de versión se incrementarán automáticamente según los mensajes de confirmación y SemVer (Major.Minor.Patch). Al fusionar, anteponga su confirmación de fusión con lo siguiente:
major:
o breaking:
- por ejemplo, breaking: removing feature X
Esto incrementará la versión PRINCIPAL, por ejemplo: 1.1.0 a 2.0.0minor:
o feature:
- por ejemplo, feature: new component
. Esto incrementará la versión MENOR, por ejemplo: 1.1.0 a 1.2.0patch:
o fix:
- por ejemplo, fix: url bug
- esto incrementará la versión del PATCH - por ejemplo: 1.0.0 a 1.0.1 (esto también sucederá de forma predeterminada) El flujo de trabajo de desarrollo se activa cada vez que un PR se fusiona con el principal y puede monitorearlo en la pestaña de acciones del repositorio.
El flujo de trabajo contiene dos trabajos independientes que se ejecutan en paralelo, uno para la aplicación Runner y otro para la aplicación Designer.
Ambos trabajos funcionan de la siguiente manera:
Las últimas versiones se ejecutarán aquí: Runner / Designer.
Se realiza un conjunto de pruebas de humo contra todos los RP. Hay un trabajo cron que ejecuta pruebas de humo contra las implementaciones de Heroku y está programado para ejecutarse a medianoche todos los días.
En este repositorio se puede encontrar un conjunto heredado de pruebas de humo. Se eliminaron para que el proyecto pueda ejecutarse en el nodo 18.
Las pruebas de humo se migrarán para utilizar cypress.io en los próximos meses.