declapract-typescript-ehmpathy 0.49.9 → 0.49.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.test/assets/cache/declarations/declapract.declare.yml +4 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.declapract.integration.test.ts +108 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.test/assets/repo-with-old-cache-package/declapract.use.yml +6 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.test/assets/repo-with-old-cache-package/package.json +7 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.test/assets/repo-with-valid-cache-package/declapract.use.yml +6 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.test/assets/repo-with-valid-cache-package/package.json +7 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.test/assets/repo-without-cache-package/declapract.use.yml +6 -0
- package/dist/.test/assets/cache/declarations/practices/cache/.test/assets/repo-without-cache-package/package.json +7 -0
- package/dist/.test/assets/cache/declarations/practices/cache/best-practice/package.json +7 -0
- package/dist/.test/assets/cache/declarations/useCases.yml +5 -0
- package/dist/.test/assets/expo/declarations/declapract.declare.yml +4 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/.declapract.integration.test.ts +810 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/__snapshots__/.declapract.integration.test.ts.snap +289 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/.declapract.readme.md +27 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/.deploy-expo.yml +127 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/deploy.yml +76 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/test.yml +27 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/.gitignore.declapract.ts +28 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/package.json +36 -0
- package/dist/.test/assets/expo/declarations/practices/cicd-app-react-native-expo/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo/declarations/practices/node/.test/assets/repo-expo-npmrc/declapract.use.yml +23 -0
- package/dist/.test/assets/expo/declarations/practices/node/.test/assets/repo-expo-npmrc/package.json +4 -0
- package/dist/.test/assets/expo/declarations/practices/node/bad-practices/self-deps-not-link/.declapract.readme.md +10 -0
- package/dist/.test/assets/expo/declarations/practices/node/bad-practices/self-deps-not-link/package.json.declapract.ts +76 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/.npmrc.declapract.integration.test.ts +165 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/.npmrc.declapract.ts +60 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/.nvmrc +1 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/__snapshots__/.npmrc.declapract.integration.test.ts.snap +24 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/package.json +15 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/readme.md +1 -0
- package/dist/.test/assets/expo/declarations/practices/node/best-practice/readme.md.declapract.ts +3 -0
- package/dist/.test/assets/expo/declarations/useCases.yml +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/declapract.declare.yml +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.declapract.integration.test.ts +108 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.test/assets/repo-with-old-cache-package/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.test/assets/repo-with-old-cache-package/package.json +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.test/assets/repo-with-valid-cache-package/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.test/assets/repo-with-valid-cache-package/package.json +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.test/assets/repo-without-cache-package/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/.test/assets/repo-without-cache-package/package.json +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cache/best-practice/package.json +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/.declapract.integration.test.ts +810 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/__snapshots__/.declapract.integration.test.ts.snap +289 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/.declapract.readme.md +27 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/.deploy-expo.yml +127 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/deploy.yml +76 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/test.yml +27 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/.gitignore.declapract.ts +28 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/package.json +36 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-app-react-native-expo/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/.declapract.integration.test.ts +572 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/.github/workflows/.test.yml +19 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/.github/workflows/consumer-owned.yml +21 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/.github/workflows/review.yml +26 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/__snapshots__/.declapract.integration.test.ts.snap +550 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/has-changelog-file/changelog.md.declapract.ts +11 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-use-apikeys/.agent/repo=.this/role=any/skills/use.apikeys.json.declapract.ts +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-use-apikeys/.agent/repo=.this/role=any/skills/use.apikeys.sh.declapract.ts +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/actions/please-release/action.yml +469 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/actions/test-shards-setup/action.yml +68 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/.declastruct.yml +198 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/.install.yml +56 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/.test.yml +380 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/.test.yml.declapract.ts +15 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/release.yml +32 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/review.yml +26 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/test.yml +25 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/cicd-common/best-practice/.github/workflows/test.yml.declapract.ts +15 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/bad-practices/commitlint/package.json +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/bad-practices/commitlint/package.json.declapract.ts +19 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/best-practice/.declapract.readme.md +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/best-practice/.husky/check.commit.sh +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/best-practice/.husky/commit-msg +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/best-practice/commitlint.config.js +21 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/best-practice/package.json +17 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/conventional-commits/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/data-dir/.declapract.readme.md +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/data-dir/src/<star><star>/data/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/domain-dir/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/domain-dir/src/<star><star>/domain/<star><star>/<star>.declapract.ts +59 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/logic-dir/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/logic-dir/src/<star><star>/logic/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/model-dir/.declapract.readme.md +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/model-dir/src/<star><star>/<star>.ts.declapract.ts +46 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/model-dir/src/<star><star>/model/<star><star>/<star>.declapract.ts +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/nonpublished-modules-dir/src/__nonpublished_modules__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/old-import-paths/.declapract.readme.md +21 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/old-import-paths/src/<star><star>/<star>.ts.declapract.ts +67 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/services-dir/.declapract.readme.md +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/bad-practices/services-dir/src/<star><star>/services/<star><star>/<star>.declapract.ts +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/.declapract.readme.md +73 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/access/daos/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/access/sdks/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/access/svcs/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/contract/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/domain.objects/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/domain.operations/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/directory-structure-src/best-practice/src/infra/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/domain/bad-practices/schematic-joi-model/src/domain/<star><star>/<star>.ts.declapract.ts +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/domain/bad-practices/simple-type-guards/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/domain/bad-practices/simple-type-guards/package.json.declapract.ts +23 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/domain/best-practice/package.json +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/domain/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/domain/best-practice/src/domain/objects/index.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/bad-practices/error-fns/package.json +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/bad-practices/error-fns/package.json.declapract.ts +23 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/bad-practices/error-fns/src/<star><star>/<star>.ts.declapract.ts +17 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/bad-practices/local-error-imports/src/<star><star>/<star>.ts.declapract.ts +85 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/bad-practices/own-implementation/src/utils/errors/UnexpectedCodePathError.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/best-practice/package.json +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/errors/best-practice/package.json.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/format-script/package.json.declapract.ts +26 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/.declapract.readme.md +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/.prettierignore +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/.prettierignore.declapract.ts +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/package.json +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/package.json.declapract.ts +35 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/prettier.config.js +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/bad-practices/prettier/prettier.config.js.declapract.ts +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/format/best-practice/package.json.declapract.ts +32 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/.declapract.integration.test.ts +950 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/.test/assets/repo-with-rhachet-only/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/.test/assets/repo-with-rhachet-only/package.json +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/.test/assets/repo-without-cache-ignores/declapract.use.yml +9 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/.test/assets/repo-without-cache-ignores/package.json +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/__snapshots__/.declapract.integration.test.ts.snap +51 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/best-practice/.declapract.readme.md +23 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/best-practice/.gitattributes +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/best-practice/.gitattributes.declapract.ts +159 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/git/best-practice/.gitignore.declapract.ts +92 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/bad-practices/postinstall/package.json.declapract.ts +18 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/check.commit.sh +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/check.lockfile.sh +14 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/check.nvm.sh +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/check.timestamps.sh +48 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/check.yalc.sh +11 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/commit-msg +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/post-checkout +9 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/post-merge +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/post-rewrite +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/.husky/pre-commit +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/package.json +9 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/husky/check.timestamps.play.declapract.integration.test.ts +148 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/biome-json-extension/biome.json.declapract.ts +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/depcheck-denylisted-ignores/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/depcheck-denylisted-ignores/.depcheckrc.yml.declapract.ts +60 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/eslint/.eslintrc.js +67 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/eslint/.eslintrc.js.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/eslint/package.json.declapract.ts +51 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/tslint/package.json.declapract.ts +22 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/bad-practices/tslint/tslint.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/.declapract.readme.md +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/.depcheckrc.yml +25 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/.depcheckrc.yml.declapract.ts +41 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/.dpdmrc.yaml +9 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/biome.jsonc +103 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/package.json +17 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint/best-practice/package.json.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint-react/best-practice/package.json +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint-react/best-practice/package.json.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint-react-native/best-practice/.eslintrc.js +57 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint-react-native/best-practice/package.json +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/lint-react-native/best-practice/package.json.declapract.ts +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/.test/assets/repo-expo-npmrc/declapract.use.yml +23 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/.test/assets/repo-expo-npmrc/package.json +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/bad-practices/self-deps-not-link/.declapract.readme.md +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/bad-practices/self-deps-not-link/package.json.declapract.ts +76 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/.npmrc.declapract.integration.test.ts +165 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/.npmrc.declapract.ts +60 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/.nvmrc +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/__snapshots__/.npmrc.declapract.integration.test.ts.snap +24 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/package.json +15 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/readme.md +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/node/best-practice/readme.md.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/.declapract.readme.md +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/__nonpublished_modules__/ahbode-standard-lambda-handler/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.integration.test.ts +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.integration.test.ts.declapract.ts +15 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.ts +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.ts.declapract.ts +13 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/deep-omit/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/deep-omit/src/__nonpublished_modules__/deep-omit/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/deep-omit/src/data/dao/<star><star>/<star>.integration.test.ts +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/deep-omit/src/data/dao/<star><star>/<star>.integration.test.ts.declapract.ts +18 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/simple-dynamodb-client/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/nonpublished-modules/bad-practices/simple-dynamodb-client/src/__nonpublished_modules__/simple-dynamodb-client/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/package-json-order/best-practice/.declapract.readme.md +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/package-json-order/best-practice/package.json.declapract.ts +227 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/.declapract.integration.test.ts +175 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/.husky/check.lockfile.sh +10 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/declapract.use.yml +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/package.json +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/__snapshots__/.declapract.integration.test.ts.snap +68 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/husky-lockfile-check/.declapract.readme.md +17 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/husky-lockfile-check/.husky/check.lockfile.sh.declapract.ts +28 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/npm-overrides/.declapract.readme.md +20 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/npm-overrides/package.json.declapract.ts +75 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/package-lock-json/.declapract.readme.md +30 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.integration.test.ts +105 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.ts +41 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/best-practice/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/best-practice/package.json +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/pnpm/best-practice/package.json.declapract.ts +15 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/deprecated-reviewers-variable/declapract.use.yml.declapract.ts +41 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/old-declastruct-resources-path/provision/github/declastruct.resources.ts.declapract.ts +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/environment/import-existing-repo.sh +12 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/environment/import-existing-repo.sh.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/environment/main.tf +20 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/environment/main.tf.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/environment/versions.tf +9 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/environment/versions.tf.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/product/repository.tf +74 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/bad-practices/terraform-github/provision/github/product/repository.tf.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/best-practice/.declapract.readme.md +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/best-practice/package.json +7 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/provision-github/best-practice/provision/github.repo/resources.ts +229 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/deprecated-use-file/.declapract.readme.md +11 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/deprecated-use-file/rhachet.use.ts.declapract.ts +12 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/prod-deps/.declapract.readme.md +55 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/prod-deps/package.json +5 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/prod-deps/package.json.declapract.ts +47 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/review-peer-artifacts/.behavior/<star><star>/.reviews/<star><star>/<star>peer-review<star>.md.declapract.ts +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/review-peer-artifacts/.behavior/<star><star>/.reviews/peer/<star><star>/<star>.md.declapract.ts +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/bad-practices/review-peer-artifacts/.declapract.readme.md +12 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/best-practice/.agent/keyrack.yml.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/best-practice/.declapract.readme.md +32 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/best-practice/.gitignore.declapract.ts +64 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/best-practice/package.json +18 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/rhachet/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/bad-practices/javascript-config-files/jest.<star>.js.declapract.ts +17 -0
- package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.declapract.integration.test.ts +2 -2
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/package.json +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/getDataFromLastOpenBracketAtStartOfLine.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/invokeLambda.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/_utils/environment.ts.declapract.ts +3 -0
- package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/best-practice/package.json +1 -3
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-any/best-practice/package.json.shell-flags.declapract.integration.test.ts +129 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/.declapract.integration.test.ts +134 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/.test/assets/repo-expo-greenfield/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/.test/assets/repo-expo-greenfield/package.json +4 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/__snapshots__/.declapract.integration.test.ts.snap +112 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/bad-practices/inline-jest-config/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/bad-practices/inline-jest-config/package.json.declapract.ts +36 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/jest.acceptance.config.ts +43 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/jest.acceptance.env.ts +15 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/jest.integration.config.ts +42 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/jest.integration.env.ts +22 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/jest.unit.config.ts +53 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/jest.unit.env.ts +18 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/package.json +9 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/tests-expo/best-practice/package.json.declapract.ts +16 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-any/bad-practices/relative-imports/.declapract.readme.md +45 -0
- package/dist/{practices/typescript → .test/assets/expo-fullusecase/declarations/practices/typescript-any}/bad-practices/relative-imports/src/<star><star>/<star>.ts.declapract.ts +11 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-any/best-practice/.declapract.readme.md +17 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-any/best-practice/package.json +8 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-any/best-practice/package.json.declapract.ts +11 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-expo/best-practice/package.json +6 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-expo/best-practice/package.json.declapract.integration.test.ts +30 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-expo/best-practice/package.json.declapract.ts +12 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-expo/best-practice/tsconfig.json +14 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-expo/best-practice/tsconfig.json.declapract.integration.test.ts +32 -0
- package/dist/.test/assets/expo-fullusecase/declarations/practices/typescript-expo/best-practice/tsconfig.json.declapract.ts +12 -0
- package/dist/.test/assets/expo-fullusecase/declarations/useCases.yml +36 -0
- package/dist/.test/assets/expo-fullusecase/repo-greenfield/app.json +6 -0
- package/dist/.test/assets/expo-fullusecase/repo-greenfield/declapract.use.yml +24 -0
- package/dist/.test/assets/expo-fullusecase/repo-greenfield/package.json +7 -0
- package/dist/.test/assets/expo-migration/declarations/declapract.declare.yml +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/.declapract.integration.test.ts +810 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/__snapshots__/.declapract.integration.test.ts.snap +289 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/.declapract.readme.md +27 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/.deploy-expo.yml +127 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/deploy.yml +76 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/.github/workflows/test.yml +27 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/.gitignore.declapract.ts +28 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/package.json +36 -0
- package/dist/.test/assets/expo-migration/declarations/practices/cicd-app-react-native-expo/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/data-dir/.declapract.readme.md +10 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/data-dir/src/<star><star>/data/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/domain-dir/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/domain-dir/src/<star><star>/domain/<star><star>/<star>.declapract.ts +59 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/logic-dir/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/logic-dir/src/<star><star>/logic/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/model-dir/.declapract.readme.md +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/model-dir/src/<star><star>/<star>.ts.declapract.ts +46 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/model-dir/src/<star><star>/model/<star><star>/<star>.declapract.ts +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/nonpublished-modules-dir/src/__nonpublished_modules__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/old-import-paths/.declapract.readme.md +21 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/old-import-paths/src/<star><star>/<star>.ts.declapract.ts +67 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/services-dir/.declapract.readme.md +5 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/bad-practices/services-dir/src/<star><star>/services/<star><star>/<star>.declapract.ts +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/.declapract.readme.md +73 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/access/daos/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/access/sdks/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/access/svcs/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/contract/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/domain.objects/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/domain.operations/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/directory-structure-src/best-practice/src/infra/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/domain/bad-practices/schematic-joi-model/src/domain/<star><star>/<star>.ts.declapract.ts +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/domain/bad-practices/simple-type-guards/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/domain/bad-practices/simple-type-guards/package.json.declapract.ts +23 -0
- package/dist/.test/assets/expo-migration/declarations/practices/domain/best-practice/package.json +6 -0
- package/dist/.test/assets/expo-migration/declarations/practices/domain/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/domain/best-practice/src/domain/objects/index.ts.declapract.ts +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/.declapract.integration.test.ts +950 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/.test/assets/repo-with-rhachet-only/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/.test/assets/repo-with-rhachet-only/package.json +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/.test/assets/repo-without-cache-ignores/declapract.use.yml +9 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/.test/assets/repo-without-cache-ignores/package.json +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/__snapshots__/.declapract.integration.test.ts.snap +51 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/best-practice/.declapract.readme.md +23 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/best-practice/.gitattributes +7 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/best-practice/.gitattributes.declapract.ts +159 -0
- package/dist/.test/assets/expo-migration/declarations/practices/git/best-practice/.gitignore.declapract.ts +92 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/.test/assets/repo-expo-npmrc/declapract.use.yml +23 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/.test/assets/repo-expo-npmrc/package.json +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/bad-practices/self-deps-not-link/.declapract.readme.md +10 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/bad-practices/self-deps-not-link/package.json.declapract.ts +76 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/.npmrc.declapract.integration.test.ts +165 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/.npmrc.declapract.ts +60 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/.nvmrc +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/__snapshots__/.npmrc.declapract.integration.test.ts.snap +24 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/package.json +15 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/readme.md +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/node/best-practice/readme.md.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/.declapract.integration.test.ts +175 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/.husky/check.lockfile.sh +10 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/declapract.use.yml +7 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/package.json +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/__snapshots__/.declapract.integration.test.ts.snap +68 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/husky-lockfile-check/.declapract.readme.md +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/husky-lockfile-check/.husky/check.lockfile.sh.declapract.ts +28 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/npm-overrides/.declapract.readme.md +20 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/npm-overrides/package.json.declapract.ts +75 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/package-lock-json/.declapract.readme.md +30 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.integration.test.ts +105 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.ts +41 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/best-practice/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/best-practice/package.json +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/pnpm/best-practice/package.json.declapract.ts +15 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/deprecated-use-file/.declapract.readme.md +11 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/deprecated-use-file/rhachet.use.ts.declapract.ts +12 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/prod-deps/.declapract.readme.md +55 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/prod-deps/package.json +5 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/prod-deps/package.json.declapract.ts +47 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/review-peer-artifacts/.behavior/<star><star>/.reviews/<star><star>/<star>peer-review<star>.md.declapract.ts +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/review-peer-artifacts/.behavior/<star><star>/.reviews/peer/<star><star>/<star>.md.declapract.ts +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/bad-practices/review-peer-artifacts/.declapract.readme.md +12 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/best-practice/.agent/keyrack.yml.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/best-practice/.declapract.readme.md +32 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/best-practice/.gitignore.declapract.ts +64 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/best-practice/package.json +18 -0
- package/dist/.test/assets/expo-migration/declarations/practices/rhachet/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/javascript-config-files/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/javascript-config-files/jest.<star>.js.declapract.ts +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/mocks/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/mocks/<star><star>/__mock__/<star>.js +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/mocks/<star><star>/__mock__/<star>.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.declapract.integration.test.ts +63 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.agent/config.yml +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.rhachet/manifest.json +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/somefile.ts +1 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.declare.yml +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.use.yml +5 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/package.json +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/accept.blackbox/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/acceptance/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-import-paths/.declapract.readme.md +31 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-import-paths/<star><star>/<star>.ts.declapract.ts +25 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/getDataFromLastOpenBracketAtStartOfLine.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/invokeLambda.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/lambdas/<star>.ts.declapract.ts +44 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-2/blackbox/lambdas/<star>.ts.declapract.ts +22 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/_utils/environment.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/lambdas/<star>.ts.declapract.ts +18 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-extension-pattern/.declapract.readme.md +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-extension-pattern/<star><star>/<star>.test.acceptance.ts.declapract.ts +11 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-extension-pattern/<star><star>/<star>.test.integration.ts.declapract.ts +11 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/<star>.ts.declapract.ts +27 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_assets__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_utils__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/.declapract.readme.md +45 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/.declapract.todo.md +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/package.json +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/package.json.shell-flags.declapract.integration.test.ts +129 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/src/<star><star>/<star>.integration.test.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-any/best-practice/src/<star><star>/<star>.test.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/.declapract.integration.test.ts +134 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/.test/assets/repo-expo-greenfield/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/.test/assets/repo-expo-greenfield/package.json +4 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/__snapshots__/.declapract.integration.test.ts.snap +112 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/bad-practices/inline-jest-config/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/bad-practices/inline-jest-config/package.json.declapract.ts +36 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.acceptance.config.ts +43 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.acceptance.env.ts +15 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.config.ts +7 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.integration.config.ts +42 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.integration.env.ts +22 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.unit.config.ts +53 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/jest.unit.env.ts +18 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/package.json +9 -0
- package/dist/.test/assets/expo-migration/declarations/practices/tests-expo/best-practice/package.json.declapract.ts +16 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-any/bad-practices/relative-imports/.declapract.readme.md +45 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-any/bad-practices/relative-imports/src/<star><star>/<star>.ts.declapract.ts +97 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-any/best-practice/.declapract.readme.md +17 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-any/best-practice/package.json +8 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-any/best-practice/package.json.declapract.ts +11 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-expo/best-practice/package.json +6 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-expo/best-practice/package.json.declapract.integration.test.ts +30 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-expo/best-practice/package.json.declapract.ts +12 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-expo/best-practice/tsconfig.json +14 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-expo/best-practice/tsconfig.json.declapract.integration.test.ts +32 -0
- package/dist/.test/assets/expo-migration/declarations/practices/typescript-expo/best-practice/tsconfig.json.declapract.ts +12 -0
- package/dist/.test/assets/expo-migration/declarations/useCases.yml +21 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/.github/workflows/.deploy-expo.yml +30 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/.husky/check.lockfile.sh +5 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/declapract.use.yml +24 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/jest.config.js +8 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/package-lock.json +7 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/package.json +22 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/pnpm-lock.yaml +5 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/src/data/dao/daoCustomer.ts +9 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/src/logic/customer/getCustomer.ts +25 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/src/logic/shared/formatCustomer.ts +8 -0
- package/dist/.test/assets/expo-migration/repo-app-protools-shaped/tsconfig.json +12 -0
- package/dist/.test/assets/expo-toolchain/declarations/declapract.declare.yml +4 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/javascript-config-files/.declapract.readme.md +1 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/javascript-config-files/jest.<star>.js.declapract.ts +17 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/mocks/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/mocks/<star><star>/__mock__/<star>.js +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/mocks/<star><star>/__mock__/<star>.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.declapract.integration.test.ts +63 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.agent/config.yml +1 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.rhachet/manifest.json +1 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/somefile.ts +1 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.declare.yml +4 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.use.yml +5 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/package.json +4 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/accept.blackbox/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-dir-location/acceptance/<star><star>/<star>.declapract.ts +19 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-import-paths/.declapract.readme.md +31 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-import-paths/<star><star>/<star>.ts.declapract.ts +25 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/getDataFromLastOpenBracketAtStartOfLine.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/invokeLambda.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/lambdas/<star>.ts.declapract.ts +44 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-2/blackbox/lambdas/<star>.ts.declapract.ts +22 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/_utils/environment.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/lambdas/<star>.ts.declapract.ts +18 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-extension-pattern/.declapract.readme.md +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-extension-pattern/<star><star>/<star>.test.acceptance.ts.declapract.ts +11 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-extension-pattern/<star><star>/<star>.test.integration.ts.declapract.ts +11 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/.declapract.readme.md +8 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/<star>.ts.declapract.ts +27 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_assets__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_utils__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/.declapract.readme.md +45 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/.declapract.todo.md +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/package.json +17 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/package.json.declapract.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/package.json.shell-flags.declapract.integration.test.ts +129 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/src/<star><star>/<star>.integration.test.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-any/best-practice/src/<star><star>/<star>.test.ts.declapract.ts +3 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/.declapract.integration.test.ts +134 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/.test/assets/repo-expo-greenfield/declapract.use.yml +6 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/.test/assets/repo-expo-greenfield/package.json +4 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/__snapshots__/.declapract.integration.test.ts.snap +112 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/bad-practices/inline-jest-config/.declapract.readme.md +22 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/bad-practices/inline-jest-config/package.json.declapract.ts +36 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.acceptance.config.ts +43 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.acceptance.env.ts +15 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.config.ts +7 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.integration.config.ts +42 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.integration.env.ts +22 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.unit.config.ts +53 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/jest.unit.env.ts +18 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/package.json +9 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/tests-expo/best-practice/package.json.declapract.ts +16 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-any/bad-practices/relative-imports/.declapract.readme.md +45 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-any/bad-practices/relative-imports/src/<star><star>/<star>.ts.declapract.ts +97 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-any/best-practice/.declapract.readme.md +17 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-any/best-practice/package.json +8 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-any/best-practice/package.json.declapract.ts +11 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-expo/best-practice/package.json +6 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-expo/best-practice/package.json.declapract.integration.test.ts +30 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-expo/best-practice/package.json.declapract.ts +12 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-expo/best-practice/tsconfig.json +14 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-expo/best-practice/tsconfig.json.declapract.integration.test.ts +32 -0
- package/dist/.test/assets/expo-toolchain/declarations/practices/typescript-expo/best-practice/tsconfig.json.declapract.ts +12 -0
- package/dist/.test/assets/expo-toolchain/declarations/useCases.yml +12 -0
- package/dist/.test/assets/pnpm/declarations/declapract.declare.yml +4 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/.declapract.integration.test.ts +175 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/.husky/check.lockfile.sh +10 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/declapract.use.yml +7 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/.test/assets/repo-npm-to-pnpm/package.json +16 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/__snapshots__/.declapract.integration.test.ts.snap +68 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/husky-lockfile-check/.declapract.readme.md +17 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/husky-lockfile-check/.husky/check.lockfile.sh.declapract.ts +28 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/npm-overrides/.declapract.readme.md +20 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/npm-overrides/package.json.declapract.ts +75 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/package-lock-json/.declapract.readme.md +30 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.integration.test.ts +105 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.ts +41 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/best-practice/.declapract.readme.md +22 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/best-practice/package.json +3 -0
- package/dist/.test/assets/pnpm/declarations/practices/pnpm/best-practice/package.json.declapract.ts +15 -0
- package/dist/.test/assets/pnpm/declarations/useCases.yml +7 -0
- package/dist/__snapshots__/actionPins.declapract.integration.test.ts.snap +70 -0
- package/dist/actionPins.declapract.integration.test.ts +785 -0
- package/dist/practices/cache/.declapract.integration.test.ts +3 -3
- package/dist/practices/cicd-app-react-native-expo/.declapract.integration.test.ts +810 -0
- package/dist/practices/cicd-app-react-native-expo/__snapshots__/.declapract.integration.test.ts.snap +289 -0
- package/dist/practices/cicd-app-react-native-expo/best-practice/.github/workflows/.deploy-expo.yml +24 -25
- package/dist/practices/cicd-app-react-native-expo/best-practice/.github/workflows/deploy.yml +4 -0
- package/dist/practices/cicd-app-react-native-expo/best-practice/.github/workflows/test.yml +4 -0
- package/dist/practices/cicd-app-react-native-expo/best-practice/package.json +0 -7
- package/dist/practices/cicd-common/.declapract.integration.test.ts +572 -0
- package/dist/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/.github/workflows/.test.yml +19 -0
- package/dist/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/.github/workflows/consumer-owned.yml +21 -0
- package/dist/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/.github/workflows/review.yml +26 -0
- package/dist/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/declapract.use.yml +6 -0
- package/dist/practices/cicd-common/.test/assets/repo-with-unpinned-workflow/package.json +4 -0
- package/dist/practices/cicd-common/__snapshots__/.declapract.integration.test.ts.snap +550 -0
- package/dist/practices/cicd-common/best-practice/.declapract.readme.md +5 -0
- package/dist/practices/cicd-common/best-practice/.github/workflows/.declastruct.yml +12 -12
- package/dist/practices/cicd-common/best-practice/.github/workflows/.install.yml +5 -5
- package/dist/practices/cicd-common/best-practice/.github/workflows/.test.yml +25 -25
- package/dist/practices/cicd-common/best-practice/.github/workflows/release.yml +2 -2
- package/dist/practices/cicd-common/best-practice/.github/workflows/review.yml +1 -1
- package/dist/practices/cicd-package/best-practice/.github/workflows/.publish-npm.yml +3 -3
- package/dist/practices/cicd-package/best-practice/.github/workflows/provision.yml +4 -0
- package/dist/practices/cicd-service/best-practice/.github/workflows/.deploy-sls.yml +13 -13
- package/dist/practices/cicd-service/best-practice/.github/workflows/.sql-schema-control.yml +8 -8
- package/dist/practices/cicd-service/best-practice/.github/workflows/.terraform.yml +6 -6
- package/dist/practices/cicd-service/best-practice/.github/workflows/provision.yml +4 -0
- package/dist/practices/directory-structure-src/bad-practices/old-import-paths/.declapract.readme.md +10 -0
- package/dist/practices/directory-structure-src/bad-practices/old-import-paths/src/<star><star>/<star>.ts.declapract.ts +13 -1
- package/dist/practices/node/.test/assets/repo-expo-npmrc/declapract.use.yml +23 -0
- package/dist/practices/node/.test/assets/repo-expo-npmrc/package.json +4 -0
- package/dist/practices/node/best-practice/.npmrc.declapract.integration.test.ts +165 -0
- package/dist/practices/node/best-practice/.npmrc.declapract.ts +60 -0
- package/dist/practices/node/best-practice/__snapshots__/.npmrc.declapract.integration.test.ts.snap +24 -0
- package/dist/practices/pnpm/.declapract.integration.test.ts +175 -0
- package/dist/practices/pnpm/.test/assets/repo-npm-to-pnpm/.husky/check.lockfile.sh +10 -0
- package/dist/practices/pnpm/.test/assets/repo-npm-to-pnpm/declapract.use.yml +7 -0
- package/dist/practices/pnpm/.test/assets/repo-npm-to-pnpm/package.json +16 -0
- package/dist/practices/pnpm/__snapshots__/.declapract.integration.test.ts.snap +68 -0
- package/dist/practices/pnpm/bad-practices/husky-lockfile-check/.declapract.readme.md +17 -0
- package/dist/practices/pnpm/bad-practices/husky-lockfile-check/.husky/check.lockfile.sh.declapract.ts +28 -0
- package/dist/practices/pnpm/bad-practices/npm-overrides/.declapract.readme.md +20 -0
- package/dist/practices/pnpm/bad-practices/npm-overrides/package.json.declapract.ts +75 -0
- package/dist/practices/pnpm/bad-practices/package-lock-json/.declapract.readme.md +30 -0
- package/dist/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.integration.test.ts +105 -0
- package/dist/practices/pnpm/bad-practices/package-lock-json/package-lock.json.declapract.ts +40 -2
- package/dist/practices/pnpm/best-practice/.declapract.readme.md +22 -0
- package/dist/practices/pnpm/best-practice/package.json +1 -1
- package/dist/practices/pnpm/best-practice/package.json.declapract.ts +12 -0
- package/dist/practices/tests-any/bad-practices/javascript-config-files/.declapract.readme.md +1 -0
- package/dist/practices/tests-any/bad-practices/javascript-config-files/jest.<star>.js.declapract.ts +17 -0
- package/dist/practices/tests-any/bad-practices/mocks/.declapract.readme.md +8 -0
- package/dist/practices/tests-any/bad-practices/mocks/<star><star>/__mock__/<star>.js +3 -0
- package/dist/practices/tests-any/bad-practices/mocks/<star><star>/__mock__/<star>.ts +3 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.declapract.integration.test.ts +63 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.declapract.readme.md +22 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.agent/config.yml +1 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.rhachet/manifest.json +1 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/somefile.ts +1 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.declare.yml +4 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.use.yml +5 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/package.json +4 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/accept.blackbox/<star><star>/<star>.declapract.ts +19 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-dir-location/acceptance/<star><star>/<star>.declapract.ts +19 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-import-paths/.declapract.readme.md +31 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-import-paths/<star><star>/<star>.ts.declapract.ts +25 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/getDataFromLastOpenBracketAtStartOfLine.ts.declapract.ts +3 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/_utils/invokeLambda.ts.declapract.ts +3 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-test-utils/blackbox/lambdas/<star>.ts.declapract.ts +44 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-test-utils-2/blackbox/lambdas/<star>.ts.declapract.ts +22 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/_utils/environment.ts.declapract.ts +3 -0
- package/dist/practices/tests-any/bad-practices/old-acceptance-test-utils-3/blackbox/lambdas/<star>.ts.declapract.ts +18 -0
- package/dist/practices/tests-any/bad-practices/old-extension-pattern/.declapract.readme.md +3 -0
- package/dist/practices/tests-any/bad-practices/old-extension-pattern/<star><star>/<star>.test.acceptance.ts.declapract.ts +11 -0
- package/dist/practices/tests-any/bad-practices/old-extension-pattern/<star><star>/<star>.test.integration.ts.declapract.ts +11 -0
- package/dist/practices/tests-any/bad-practices/old-test-utils-and-assets-location/.declapract.readme.md +8 -0
- package/dist/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/<star>.ts.declapract.ts +27 -0
- package/dist/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_assets__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/practices/tests-any/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_utils__/<star><star>/<star>.declapract.ts +17 -0
- package/dist/practices/tests-any/best-practice/.declapract.readme.md +45 -0
- package/dist/practices/tests-any/best-practice/.declapract.todo.md +3 -0
- package/dist/practices/tests-any/best-practice/package.json +17 -0
- package/dist/practices/tests-any/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/tests-any/best-practice/package.json.shell-flags.declapract.integration.test.ts +129 -0
- package/dist/practices/tests-any/best-practice/src/<star><star>/<star>.integration.test.ts.declapract.ts +3 -0
- package/dist/practices/tests-any/best-practice/src/<star><star>/<star>.test.ts.declapract.ts +3 -0
- package/dist/practices/tests-expo/.declapract.integration.test.ts +134 -0
- package/dist/practices/tests-expo/.test/assets/repo-expo-greenfield/declapract.use.yml +6 -0
- package/dist/practices/tests-expo/.test/assets/repo-expo-greenfield/package.json +4 -0
- package/dist/practices/tests-expo/__snapshots__/.declapract.integration.test.ts.snap +112 -0
- package/dist/practices/tests-expo/bad-practices/inline-jest-config/.declapract.readme.md +22 -0
- package/dist/practices/tests-expo/bad-practices/inline-jest-config/package.json.declapract.ts +36 -0
- package/dist/practices/tests-expo/best-practice/jest.acceptance.config.ts +43 -0
- package/dist/practices/tests-expo/best-practice/jest.acceptance.env.ts +15 -0
- package/dist/practices/tests-expo/best-practice/jest.config.ts +7 -0
- package/dist/practices/tests-expo/best-practice/jest.integration.config.ts +42 -0
- package/dist/practices/tests-expo/best-practice/jest.integration.env.ts +22 -0
- package/dist/practices/tests-expo/best-practice/jest.unit.config.ts +53 -0
- package/dist/practices/tests-expo/best-practice/jest.unit.env.ts +18 -0
- package/dist/practices/tests-expo/best-practice/package.json +9 -0
- package/dist/practices/tests-expo/best-practice/package.json.declapract.ts +16 -0
- package/dist/practices/tests-node/bad-practices/babel/babel.config.js.declapract.ts +3 -0
- package/dist/practices/tests-node/bad-practices/deprecated-test-deps/package.json.declapract.ts +50 -0
- package/dist/practices/tests-node/best-practice/jest.config.ts +7 -0
- package/dist/practices/tests-node/best-practice/jest.unit.env.ts.declapract.ts +39 -0
- package/dist/practices/tests-node/best-practice/package.json +6 -0
- package/dist/practices/tests-node/best-practice/package.json.declapract.ts +10 -0
- package/dist/practices/typescript-any/bad-practices/relative-imports/.declapract.readme.md +45 -0
- package/dist/practices/typescript-any/bad-practices/relative-imports/src/<star><star>/<star>.ts.declapract.ts +97 -0
- package/dist/practices/typescript-any/best-practice/.declapract.readme.md +17 -0
- package/dist/practices/typescript-any/best-practice/package.json +8 -0
- package/dist/practices/typescript-any/best-practice/package.json.declapract.ts +11 -0
- package/dist/practices/typescript-expo/best-practice/package.json +6 -0
- package/dist/practices/typescript-expo/best-practice/package.json.declapract.integration.test.ts +30 -0
- package/dist/practices/typescript-expo/best-practice/package.json.declapract.ts +12 -0
- package/dist/practices/typescript-expo/best-practice/tsconfig.json +14 -0
- package/dist/practices/typescript-expo/best-practice/tsconfig.json.declapract.integration.test.ts +32 -0
- package/dist/practices/typescript-expo/best-practice/tsconfig.json.declapract.ts +12 -0
- package/dist/practices/{typescript → typescript-node}/best-practice/package.json +1 -3
- package/dist/practices/typescript-node/best-practice/package.json.declapract.ts +25 -0
- package/dist/practices/typescript-node/best-practice/tsconfig.json.declapract.ts +3 -0
- package/dist/useCases.yml +36 -16
- package/dist/utils/defineExpectedNpmrcContents.ts +103 -0
- package/dist/utils/getAllPracticesForUsecase.ts +53 -0
- package/dist/utils/isDeferredToDeprecatedDirMove.ts +37 -0
- package/package.json +4 -4
- package/dist/practices/tests/bad-practices/deprecated-test-deps/package.json.declapract.ts +0 -39
- package/dist/practices/tests/best-practice/jest.unit.env.ts.declapract.ts +0 -35
- package/dist/practices/typescript/bad-practices/relative-imports/.declapract.readme.md +0 -27
- package/dist/practices/typescript/best-practice/.declapract.readme.md +0 -15
- package/dist/practices/typescript/best-practice/package.json.declapract.ts +0 -18
- /package/dist/{practices/tests → .test/assets/cache/declarations/practices/cache}/best-practice/package.json.declapract.ts +0 -0
- /package/dist/{practices/typescript/best-practice/tsconfig.json.declapract.ts → .test/assets/expo-fullusecase/declarations/practices/cache/best-practice/package.json.declapract.ts} +0 -0
- /package/dist/{practices/tests/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir → .test/assets/expo-fullusecase/declarations/practices/cicd-common/.test/assets/repo-with-unpinned-workflow}/package.json +0 -0
- /package/dist/{practices/tests/bad-practices/babel/babel.config.js.declapract.ts → .test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-names/.github/workflows/ci-on-commit.yml.declapract.ts} +0 -0
- /package/dist/{practices/tests/bad-practices/javascript-config-files/jest.<star>.js.declapract.ts → .test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-names/.github/workflows/ci_on_commit.yml.declapract.ts} +0 -0
- /package/dist/{practices/tests/bad-practices/old-acceptance-test-utils-3/blackbox/_utils/environment.ts.declapract.ts → .test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-names/.github/workflows/pr-release-on-main.yml.declapract.ts} +0 -0
- /package/dist/{practices/tests/bad-practices/old-acceptance-test-utils/blackbox/_utils/getDataFromLastOpenBracketAtStartOfLine.ts.declapract.ts → .test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-names/.github/workflows/test-on-commit.yml.declapract.ts} +0 -0
- /package/dist/{practices/tests/bad-practices/old-acceptance-test-utils/blackbox/_utils/invokeLambda.ts.declapract.ts → .test/assets/expo-fullusecase/declarations/practices/cicd-common/bad-practices/old-names/.github/workflows/test_on_commit.yml.declapract.ts} +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/javascript-config-files/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/mocks/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/mocks/<star><star>/__mock__/<star>.js +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/mocks/<star><star>/__mock__/<star>.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.agent/config.yml +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/.test/assets/.rhachet/manifest.json +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/accept.blackbox/somefile.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.declare.yml +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/.test/assets/demo-repo-with-accept-blackbox-dir/declapract.use.yml +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/accept.blackbox/<star><star>/<star>.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-dir-location/acceptance/<star><star>/<star>.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-import-paths/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-import-paths/<star><star>/<star>.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-test-utils/blackbox/lambdas/<star>.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-test-utils-2/blackbox/lambdas/<star>.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-acceptance-test-utils-3/blackbox/lambdas/<star>.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-extension-pattern/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-extension-pattern/<star><star>/<star>.test.acceptance.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-extension-pattern/<star><star>/<star>.test.integration.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-test-utils-and-assets-location/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-test-utils-and-assets-location/<star><star>/<star>.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_assets__/<star><star>/<star>.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/bad-practices/old-test-utils-and-assets-location/<star><star>/__test_utils__/<star><star>/<star>.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/best-practice/.declapract.readme.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/best-practice/.declapract.todo.md +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/best-practice/src/<star><star>/<star>.integration.test.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-any}/best-practice/src/<star><star>/<star>.test.ts.declapract.ts +0 -0
- /package/dist/{practices/tests → .test/assets/expo-fullusecase/declarations/practices/tests-expo}/best-practice/jest.config.ts +0 -0
- /package/dist/practices/{tests → tests-node}/bad-practices/babel/babel.config.js +0 -0
- /package/dist/practices/{tests → tests-node}/bad-practices/deprecated-test-deps/.declapract.readme.md +0 -0
- /package/dist/practices/{tests → tests-node}/bad-practices/deprecated-test-deps/package.json +0 -0
- /package/dist/practices/{tests → tests-node}/best-practice/jest.acceptance.config.ts +0 -0
- /package/dist/practices/{tests → tests-node}/best-practice/jest.acceptance.env.ts +0 -0
- /package/dist/practices/{tests → tests-node}/best-practice/jest.integration.config.ts +0 -0
- /package/dist/practices/{tests → tests-node}/best-practice/jest.integration.env.ts +0 -0
- /package/dist/practices/{tests → tests-node}/best-practice/jest.unit.config.ts +0 -0
- /package/dist/practices/{tests → tests-node}/best-practice/jest.unit.env.ts +0 -0
- /package/dist/practices/{typescript → typescript-node}/best-practice/tsconfig.build.json +0 -0
- /package/dist/practices/{typescript → typescript-node}/best-practice/tsconfig.json +0 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
name: please-release
|
|
2
|
+
description: upsert release pr or cutta release tag
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
github-token:
|
|
6
|
+
description: token for gh cli calls
|
|
7
|
+
required: true
|
|
8
|
+
commit-message:
|
|
9
|
+
description: the head commit message
|
|
10
|
+
required: true
|
|
11
|
+
commit-sha:
|
|
12
|
+
description: the head commit sha
|
|
13
|
+
required: true
|
|
14
|
+
repository:
|
|
15
|
+
description: the repository (owner/repo)
|
|
16
|
+
required: true
|
|
17
|
+
|
|
18
|
+
outputs:
|
|
19
|
+
action:
|
|
20
|
+
description: what action was taken (noop, created, updated, released)
|
|
21
|
+
value: ${{ steps.result.outputs.action }}
|
|
22
|
+
version:
|
|
23
|
+
description: the computed or released version
|
|
24
|
+
value: ${{ steps.result.outputs.version }}
|
|
25
|
+
pr-number:
|
|
26
|
+
description: the release pr number
|
|
27
|
+
value: ${{ steps.result.outputs.pr-number }}
|
|
28
|
+
|
|
29
|
+
runs:
|
|
30
|
+
using: "composite"
|
|
31
|
+
steps:
|
|
32
|
+
# step 1: cutta tag, if release commit
|
|
33
|
+
- name: cutta tag, if release commit
|
|
34
|
+
id: cutta
|
|
35
|
+
shell: bash
|
|
36
|
+
env:
|
|
37
|
+
GITHUB_TOKEN: ${{ inputs.github-token }}
|
|
38
|
+
COMMIT_MSG: ${{ inputs.commit-message }}
|
|
39
|
+
REPO_URL: https://github.com/${{ inputs.repository }}
|
|
40
|
+
run: |
|
|
41
|
+
set -euo pipefail
|
|
42
|
+
|
|
43
|
+
# check if this is a release commit
|
|
44
|
+
if [[ "$COMMIT_MSG" != chore\(release\):* ]]; then
|
|
45
|
+
echo "🔭 cutta tag"
|
|
46
|
+
echo " └── skipped (not a release commit)"
|
|
47
|
+
echo "did-cutta=false" >> $GITHUB_OUTPUT
|
|
48
|
+
exit 0
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
echo "🔭 cutta tag"
|
|
52
|
+
|
|
53
|
+
# extract version from commit message
|
|
54
|
+
VERSION=$(echo "$COMMIT_MSG" | sed -n 's/^chore(release): \(v[0-9.]*\).*/\1/p')
|
|
55
|
+
|
|
56
|
+
# failfast if version not found
|
|
57
|
+
if [ -z "$VERSION" ]; then
|
|
58
|
+
echo " └── ⛈️ could not extract version from: $COMMIT_MSG"
|
|
59
|
+
echo "::error::could not extract version from commit message: $COMMIT_MSG"
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
# find the release pr that was merged (by head branch, not search - avoids indexing delay)
|
|
64
|
+
PR_NUMBER=$(gh pr list --state merged --head "release/${VERSION}" --json number --jq '.[0].number')
|
|
65
|
+
|
|
66
|
+
# failfast if release pr not found
|
|
67
|
+
if [ -z "$PR_NUMBER" ]; then
|
|
68
|
+
echo " └── ⛈️ could not find merged release pr for: $VERSION"
|
|
69
|
+
echo "::error::could not find merged release pr for version: $VERSION"
|
|
70
|
+
exit 1
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
echo " ├── version: $VERSION"
|
|
74
|
+
echo " ├── release-pr: #$PR_NUMBER"
|
|
75
|
+
|
|
76
|
+
# create and push tag
|
|
77
|
+
git tag "$VERSION"
|
|
78
|
+
git push origin "$VERSION"
|
|
79
|
+
echo " ├── ✨ tag pushed"
|
|
80
|
+
|
|
81
|
+
# create github release
|
|
82
|
+
RELEASE_URL=$(gh release create "$VERSION" \
|
|
83
|
+
--title "$VERSION" \
|
|
84
|
+
--generate-notes \
|
|
85
|
+
--latest)
|
|
86
|
+
echo " └── ✨ release created: $RELEASE_URL"
|
|
87
|
+
|
|
88
|
+
# comment on the release pr
|
|
89
|
+
gh pr comment "$PR_NUMBER" --body "🐢 released at ${RELEASE_URL}"
|
|
90
|
+
|
|
91
|
+
# extract pr links from the release pr body and comment on each
|
|
92
|
+
PR_BODY=$(gh pr view "$PR_NUMBER" --json body --jq '.body')
|
|
93
|
+
REFERENCED_PRS=$(echo "$PR_BODY" | grep -oE '/pull/[0-9]+' | grep -oE '[0-9]+' | sort -u || true)
|
|
94
|
+
|
|
95
|
+
for REF_PR in $REFERENCED_PRS; do
|
|
96
|
+
gh pr comment "$REF_PR" --body "🐢 released at ${RELEASE_URL}" 2>/dev/null || true
|
|
97
|
+
done
|
|
98
|
+
|
|
99
|
+
echo "🌊 cutta tag complete"
|
|
100
|
+
echo "did-cutta=true" >> $GITHUB_OUTPUT
|
|
101
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
102
|
+
echo "action=released" >> $GITHUB_OUTPUT
|
|
103
|
+
|
|
104
|
+
# step 2: crunch future semver, if other commit
|
|
105
|
+
#
|
|
106
|
+
# version resolution strategy:
|
|
107
|
+
# 1. if latest-pkg-version > latest-tag-version: user has manually bumped, use package.json version as-is
|
|
108
|
+
# 2. otherwise: auto-compute next version from max(latest-pkg-version, latest-tag-version) based on conventional commits
|
|
109
|
+
#
|
|
110
|
+
# this lets users manually control versions when needed (e.g., major releases, pre-releases)
|
|
111
|
+
# while still providing automatic semver bumping for typical workflows
|
|
112
|
+
#
|
|
113
|
+
- name: crunch future semver, if other commit
|
|
114
|
+
id: semver
|
|
115
|
+
if: ${{ steps.cutta.outputs.did-cutta == 'false' }}
|
|
116
|
+
shell: bash
|
|
117
|
+
run: |
|
|
118
|
+
set -euo pipefail
|
|
119
|
+
echo "🔭 crunch semver"
|
|
120
|
+
|
|
121
|
+
# helper: compare semver (returns 0 if $1 > $2, 1 otherwise)
|
|
122
|
+
version_gt() {
|
|
123
|
+
[ "$(printf '%s\n%s' "$1" "$2" | sort -V | tail -n1)" = "$1" ] && [ "$1" != "$2" ]
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
# get versions from all sources
|
|
127
|
+
LATEST_PACKAGE_VERSION=$(jq -r '.version' package.json)
|
|
128
|
+
LATEST_GITTAG_VERSION=$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//' || echo "0.0.0")
|
|
129
|
+
|
|
130
|
+
# find last release commit (shared with changelog step via output)
|
|
131
|
+
LAST_RELEASE_SHA=$(git log --pretty=format:"%H" --grep="^chore(release):" -n 1 || true)
|
|
132
|
+
LAST_RELEASE_MSG=$(git log --pretty=format:"%s" --grep="^chore(release):" -n 1 2>/dev/null || true)
|
|
133
|
+
LATEST_RELEASE_VERSION=$(echo "$LAST_RELEASE_MSG" | sed -n 's/^chore(release): v\([0-9.]*\).*/\1/p')
|
|
134
|
+
|
|
135
|
+
echo "last-release-sha=$LAST_RELEASE_SHA" >> $GITHUB_OUTPUT
|
|
136
|
+
echo " ├── package-version: $LATEST_PACKAGE_VERSION"
|
|
137
|
+
echo " ├── gittag-version: $LATEST_GITTAG_VERSION"
|
|
138
|
+
echo " ├── release-version: ${LATEST_RELEASE_VERSION:-"(none)"}"
|
|
139
|
+
echo " ├── release-sha: ${LAST_RELEASE_SHA:0:7}${LAST_RELEASE_SHA:+...}"
|
|
140
|
+
|
|
141
|
+
# case 1: package.json > release-version means user manually bumped AFTER last release
|
|
142
|
+
# (if package == release-version, that was set by automation, not user)
|
|
143
|
+
if [ -n "$LATEST_RELEASE_VERSION" ] && version_gt "$LATEST_PACKAGE_VERSION" "$LATEST_RELEASE_VERSION"; then
|
|
144
|
+
echo " ├── ✨ pkg > release: user manually bumped"
|
|
145
|
+
echo " └── 🌊 next-version: v${LATEST_PACKAGE_VERSION}"
|
|
146
|
+
echo "next-version=v${LATEST_PACKAGE_VERSION}" >> $GITHUB_OUTPUT
|
|
147
|
+
echo "current-tag=v${LATEST_GITTAG_VERSION}" >> $GITHUB_OUTPUT
|
|
148
|
+
exit 0
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
# case 2: auto-compute next version from the greater of tag vs package.json
|
|
152
|
+
# (handles edge cases like tag existing but package.json being behind)
|
|
153
|
+
if version_gt "$LATEST_GITTAG_VERSION" "$LATEST_PACKAGE_VERSION"; then
|
|
154
|
+
BASE_VERSION="$LATEST_GITTAG_VERSION"
|
|
155
|
+
echo " ├── base: gittag ($LATEST_GITTAG_VERSION)"
|
|
156
|
+
else
|
|
157
|
+
BASE_VERSION="$LATEST_PACKAGE_VERSION"
|
|
158
|
+
echo " ├── base: package ($LATEST_PACKAGE_VERSION)"
|
|
159
|
+
fi
|
|
160
|
+
|
|
161
|
+
# handle first release
|
|
162
|
+
if [ "$BASE_VERSION" = "0.0.0" ]; then
|
|
163
|
+
echo " ├── ✨ first release"
|
|
164
|
+
echo " └── 🌊 next-version: v0.1.0"
|
|
165
|
+
echo "next-version=v0.1.0" >> $GITHUB_OUTPUT
|
|
166
|
+
echo "current-tag=v0.0.0" >> $GITHUB_OUTPUT
|
|
167
|
+
exit 0
|
|
168
|
+
fi
|
|
169
|
+
|
|
170
|
+
# get commits since last release (reuse LAST_RELEASE_SHA computed above)
|
|
171
|
+
if [ -n "$LAST_RELEASE_SHA" ]; then
|
|
172
|
+
COMMITS=$(git log ${LAST_RELEASE_SHA}..HEAD --pretty=format:"%s")
|
|
173
|
+
else
|
|
174
|
+
COMMITS=$(git log --pretty=format:"%s")
|
|
175
|
+
fi
|
|
176
|
+
COMMIT_COUNT=$(echo "$COMMITS" | grep -c . || echo "0")
|
|
177
|
+
echo " ├── commits: $COMMIT_COUNT"
|
|
178
|
+
|
|
179
|
+
# determine bump type
|
|
180
|
+
BUMP="patch" # default
|
|
181
|
+
|
|
182
|
+
if echo "$COMMITS" | grep -qE "^break(\(.+\))?:"; then
|
|
183
|
+
BUMP="major"
|
|
184
|
+
elif echo "$COMMITS" | grep -qE "^feat(\(.+\))?:"; then
|
|
185
|
+
BUMP="minor"
|
|
186
|
+
fi
|
|
187
|
+
echo " ├── bump: $BUMP"
|
|
188
|
+
|
|
189
|
+
# compute next version
|
|
190
|
+
IFS='.' read -r MAJOR MINOR PATCH <<< "$BASE_VERSION"
|
|
191
|
+
|
|
192
|
+
case $BUMP in
|
|
193
|
+
major) NEXT_VERSION="v$((MAJOR + 1)).0.0" ;;
|
|
194
|
+
minor) NEXT_VERSION="v${MAJOR}.$((MINOR + 1)).0" ;;
|
|
195
|
+
patch) NEXT_VERSION="v${MAJOR}.${MINOR}.$((PATCH + 1))" ;;
|
|
196
|
+
esac
|
|
197
|
+
|
|
198
|
+
echo " └── 🌊 next-version: $NEXT_VERSION"
|
|
199
|
+
echo "next-version=$NEXT_VERSION" >> $GITHUB_OUTPUT
|
|
200
|
+
echo "current-tag=v${BASE_VERSION}" >> $GITHUB_OUTPUT
|
|
201
|
+
|
|
202
|
+
# step 3: crunch future changelog, if other commit
|
|
203
|
+
- name: crunch future changelog, if other commit
|
|
204
|
+
id: changelog
|
|
205
|
+
if: ${{ steps.cutta.outputs.did-cutta == 'false' }}
|
|
206
|
+
shell: bash
|
|
207
|
+
run: |
|
|
208
|
+
set -euo pipefail
|
|
209
|
+
echo "🔭 crunch changelog"
|
|
210
|
+
REPO_URL="https://github.com/${{ inputs.repository }}"
|
|
211
|
+
PREV_TAG="${{ steps.semver.outputs.current-tag }}"
|
|
212
|
+
NEXT_TAG="${{ steps.semver.outputs.next-version }}"
|
|
213
|
+
LAST_RELEASE_SHA="${{ steps.semver.outputs.last-release-sha }}"
|
|
214
|
+
TODAY=$(date +%Y-%m-%d)
|
|
215
|
+
|
|
216
|
+
# get commits since last release (reuse SHA from semver step)
|
|
217
|
+
if [ -n "$LAST_RELEASE_SHA" ]; then
|
|
218
|
+
COMMITS_SINCE_LAST_RELEASE=$(git log ${LAST_RELEASE_SHA}..HEAD --pretty=format:"%H %cs %s")
|
|
219
|
+
else
|
|
220
|
+
COMMITS_SINCE_LAST_RELEASE=$(git log --pretty=format:"%H %cs %s")
|
|
221
|
+
fi
|
|
222
|
+
|
|
223
|
+
# group commits by type (hash, date, subject)
|
|
224
|
+
FEATS=$(echo "$COMMITS_SINCE_LAST_RELEASE" | grep -E "^[a-f0-9]+ [0-9-]+ feat(\(.+\))?:" || true)
|
|
225
|
+
FIXES=$(echo "$COMMITS_SINCE_LAST_RELEASE" | grep -E "^[a-f0-9]+ [0-9-]+ fix(\(.+\))?:" || true)
|
|
226
|
+
BREAKS=$(echo "$COMMITS_SINCE_LAST_RELEASE" | grep -E "^[a-f0-9]+ [0-9-]+ break(\(.+\))?:" || true)
|
|
227
|
+
|
|
228
|
+
# format changelog - write to temp file to avoid yaml parsing issues with multiline strings
|
|
229
|
+
CHANGELOG_FILE="/tmp/changelog.md"
|
|
230
|
+
echo "## [${NEXT_TAG#v}](${REPO_URL}/compare/${PREV_TAG}...${NEXT_TAG}) (${TODAY})" > "$CHANGELOG_FILE"
|
|
231
|
+
|
|
232
|
+
format_commits() {
|
|
233
|
+
local commits="$1"
|
|
234
|
+
while IFS= read -r line; do
|
|
235
|
+
[ -z "$line" ] && continue
|
|
236
|
+
HASH="${line%% *}"
|
|
237
|
+
REST="${line#* }"
|
|
238
|
+
DATE="${REST%% *}"
|
|
239
|
+
COMMIT_MESSAGE="${REST#* }"
|
|
240
|
+
SHORT_HASH="${HASH:0:7}"
|
|
241
|
+
# extract pr number from message if present
|
|
242
|
+
PR_NUM=$(echo "$COMMIT_MESSAGE" | grep -oE '\(#[0-9]+\)' | head -1 | tr -d '(#)' || true)
|
|
243
|
+
echo " ○ ${COMMIT_MESSAGE}"
|
|
244
|
+
if [ -n "$PR_NUM" ]; then
|
|
245
|
+
echo " ├── ${DATE}"
|
|
246
|
+
echo " ├── [#${PR_NUM}](${REPO_URL}/pull/${PR_NUM})"
|
|
247
|
+
echo " └── [${SHORT_HASH}](${REPO_URL}/commit/${HASH})"
|
|
248
|
+
else
|
|
249
|
+
echo " ├── ${DATE}"
|
|
250
|
+
echo " └── [${SHORT_HASH}](${REPO_URL}/commit/${HASH})"
|
|
251
|
+
fi
|
|
252
|
+
echo ""
|
|
253
|
+
done <<< "$commits"
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
# count non-empty lines (handles empty vars gracefully)
|
|
257
|
+
BREAK_COUNT=0; [ -n "$BREAKS" ] && BREAK_COUNT=$(echo "$BREAKS" | wc -l | tr -d ' ')
|
|
258
|
+
FEAT_COUNT=0; [ -n "$FEATS" ] && FEAT_COUNT=$(echo "$FEATS" | wc -l | tr -d ' ')
|
|
259
|
+
FIX_COUNT=0; [ -n "$FIXES" ] && FIX_COUNT=$(echo "$FIXES" | wc -l | tr -d ' ')
|
|
260
|
+
|
|
261
|
+
if [ -n "$BREAKS" ]; then
|
|
262
|
+
{ echo ""; echo "### breaks"; echo ""; format_commits "$BREAKS"; } >> "$CHANGELOG_FILE"
|
|
263
|
+
fi
|
|
264
|
+
if [ -n "$FEATS" ]; then
|
|
265
|
+
{ echo ""; echo "### feats"; echo ""; format_commits "$FEATS"; } >> "$CHANGELOG_FILE"
|
|
266
|
+
fi
|
|
267
|
+
if [ -n "$FIXES" ]; then
|
|
268
|
+
{ echo ""; echo "### fixes"; echo ""; format_commits "$FIXES"; } >> "$CHANGELOG_FILE"
|
|
269
|
+
fi
|
|
270
|
+
|
|
271
|
+
echo " ├── breaks: $BREAK_COUNT"
|
|
272
|
+
echo " ├── feats: $FEAT_COUNT"
|
|
273
|
+
echo " └── fixes: $FIX_COUNT"
|
|
274
|
+
|
|
275
|
+
echo "changelog-file=$CHANGELOG_FILE" >> $GITHUB_OUTPUT
|
|
276
|
+
|
|
277
|
+
# step 4: upsert release pr, if other commit
|
|
278
|
+
- name: upsert release pr, if other commit
|
|
279
|
+
id: upsert
|
|
280
|
+
if: ${{ steps.cutta.outputs.did-cutta == 'false' }}
|
|
281
|
+
shell: bash
|
|
282
|
+
env:
|
|
283
|
+
GITHUB_TOKEN: ${{ inputs.github-token }}
|
|
284
|
+
run: |
|
|
285
|
+
set -euo pipefail
|
|
286
|
+
echo "🔭 upsert release pr"
|
|
287
|
+
NEXT_VERSION="${{ steps.semver.outputs.next-version }}"
|
|
288
|
+
CHANGELOG=$(cat "${{ steps.changelog.outputs.changelog-file }}")
|
|
289
|
+
|
|
290
|
+
# failfast if package.json doesnt exist
|
|
291
|
+
if [ ! -f package.json ]; then
|
|
292
|
+
echo " └── ⛈️ package.json not found"
|
|
293
|
+
echo "::error::package.json not found"
|
|
294
|
+
exit 1
|
|
295
|
+
fi
|
|
296
|
+
|
|
297
|
+
REPO="${{ inputs.repository }}"
|
|
298
|
+
|
|
299
|
+
# find release pr by head branch pattern (more reliable than search)
|
|
300
|
+
FOUND_PR=$(gh pr list --state open --json number,headRefName --jq '[.[] | select(.headRefName | startswith("release/"))] | .[0]')
|
|
301
|
+
echo " ├── version: $NEXT_VERSION"
|
|
302
|
+
|
|
303
|
+
# build pr body in temp file to avoid yaml parsing issues
|
|
304
|
+
PR_BODY_FILE="/tmp/pr-body.md"
|
|
305
|
+
echo "🐢 noice! ready to let these changes ride?" > "$PR_BODY_FILE"
|
|
306
|
+
echo "---" >> "$PR_BODY_FILE"
|
|
307
|
+
echo "" >> "$PR_BODY_FILE"
|
|
308
|
+
cat "${{ steps.changelog.outputs.changelog-file }}" >> "$PR_BODY_FILE"
|
|
309
|
+
PR_BODY=$(cat "$PR_BODY_FILE")
|
|
310
|
+
|
|
311
|
+
# operation: upsert rebased commit on a branch (atomic, no PR auto-close)
|
|
312
|
+
# - creates blob, tree, commit based on parent_sha
|
|
313
|
+
# - upserts branch ref (create if missing, update if exists)
|
|
314
|
+
upsert_rebased_commit() {
|
|
315
|
+
local branch="$1"
|
|
316
|
+
local parent_sha="$2"
|
|
317
|
+
local message="$3"
|
|
318
|
+
|
|
319
|
+
# update package.json version locally
|
|
320
|
+
CURRENT_VERSION=$(jq -r '.version' package.json)
|
|
321
|
+
if [ "$CURRENT_VERSION" != "${NEXT_VERSION#v}" ]; then
|
|
322
|
+
npm version "${NEXT_VERSION#v}" --no-git-tag-version --ignore-scripts
|
|
323
|
+
fi
|
|
324
|
+
|
|
325
|
+
# create blob with updated package.json
|
|
326
|
+
PKG_CONTENT=$(base64 -w0 package.json)
|
|
327
|
+
BLOB_SHA=$(gh api "repos/${REPO}/git/blobs" \
|
|
328
|
+
-f content="$PKG_CONTENT" \
|
|
329
|
+
-f encoding="base64" \
|
|
330
|
+
--jq '.sha')
|
|
331
|
+
|
|
332
|
+
# get parent's tree
|
|
333
|
+
PARENT_TREE=$(gh api "repos/${REPO}/git/commits/${parent_sha}" --jq '.tree.sha')
|
|
334
|
+
|
|
335
|
+
# create new tree with updated package.json
|
|
336
|
+
NEW_TREE=$(gh api "repos/${REPO}/git/trees" \
|
|
337
|
+
-f base_tree="$PARENT_TREE" \
|
|
338
|
+
-f 'tree[][path]=package.json' \
|
|
339
|
+
-f 'tree[][mode]=100644' \
|
|
340
|
+
-f 'tree[][type]=blob' \
|
|
341
|
+
-f "tree[][sha]=$BLOB_SHA" \
|
|
342
|
+
--jq '.sha')
|
|
343
|
+
|
|
344
|
+
# create commit (auto-verified by github!)
|
|
345
|
+
COMMIT_SHA=$(gh api "repos/${REPO}/git/commits" \
|
|
346
|
+
-f message="$message" \
|
|
347
|
+
-f tree="$NEW_TREE" \
|
|
348
|
+
-f "parents[]=$parent_sha" \
|
|
349
|
+
--jq '.sha')
|
|
350
|
+
|
|
351
|
+
# upsert branch ref (create or update, never equals main)
|
|
352
|
+
if gh api "repos/${REPO}/git/ref/heads/${branch}" --jq '.object.sha' 2>/dev/null; then
|
|
353
|
+
gh api "repos/${REPO}/git/refs/heads/${branch}" -X PATCH -f sha="$COMMIT_SHA" -F force=true > /dev/null
|
|
354
|
+
else
|
|
355
|
+
gh api "repos/${REPO}/git/refs" -X POST -f ref="refs/heads/${branch}" -f sha="$COMMIT_SHA" > /dev/null
|
|
356
|
+
fi
|
|
357
|
+
|
|
358
|
+
echo "$COMMIT_SHA"
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
# get main head (shared by both flows)
|
|
362
|
+
MAIN_SHA=$(gh api "repos/${REPO}/git/ref/heads/main" --jq '.object.sha')
|
|
363
|
+
|
|
364
|
+
if [ -n "$FOUND_PR" ] && [ "$FOUND_PR" != "null" ]; then
|
|
365
|
+
FOUND_PR_NUMBER=$(echo "$FOUND_PR" | jq -r '.number')
|
|
366
|
+
FOUND_PR_BRANCH=$(echo "$FOUND_PR" | jq -r '.headRefName')
|
|
367
|
+
IDEAL_PR_BRANCH="release/${NEXT_VERSION}"
|
|
368
|
+
echo " ├── found-pr: #$FOUND_PR_NUMBER ($FOUND_PR_BRANCH)"
|
|
369
|
+
|
|
370
|
+
# check if branch name matches expected version
|
|
371
|
+
if [ "$FOUND_PR_BRANCH" != "$IDEAL_PR_BRANCH" ]; then
|
|
372
|
+
echo " ├── branch mismatch: $FOUND_PR_BRANCH != $IDEAL_PR_BRANCH"
|
|
373
|
+
echo " ├── recreate pr with correct branch..."
|
|
374
|
+
|
|
375
|
+
# close found pr (with comment explaining why)
|
|
376
|
+
gh pr comment "$FOUND_PR_NUMBER" --body "🫧 closed: version bumped to ${NEXT_VERSION}, recreated pr with branch \`${IDEAL_PR_BRANCH}\`"
|
|
377
|
+
gh pr close "$FOUND_PR_NUMBER"
|
|
378
|
+
echo " ├── closed: #$FOUND_PR_NUMBER"
|
|
379
|
+
|
|
380
|
+
# delete found branch (fail fast unless already gone)
|
|
381
|
+
DELETE_OUTPUT=$(gh api "repos/${REPO}/git/refs/heads/${FOUND_PR_BRANCH}" -X DELETE 2>&1) || {
|
|
382
|
+
if echo "$DELETE_OUTPUT" | grep -q "Reference does not exist"; then
|
|
383
|
+
echo " ├── branch already deleted: $FOUND_PR_BRANCH"
|
|
384
|
+
else
|
|
385
|
+
echo " ├── ⛈️ failed to delete branch: $FOUND_PR_BRANCH"
|
|
386
|
+
echo "$DELETE_OUTPUT"
|
|
387
|
+
exit 1
|
|
388
|
+
fi
|
|
389
|
+
}
|
|
390
|
+
echo " ├── deleted branch: $FOUND_PR_BRANCH"
|
|
391
|
+
|
|
392
|
+
# create new branch with correct name
|
|
393
|
+
echo " ├── create branch: $IDEAL_PR_BRANCH"
|
|
394
|
+
COMMIT_SHA=$(upsert_rebased_commit "$IDEAL_PR_BRANCH" "$MAIN_SHA" "chore(release): ${NEXT_VERSION} 🎉")
|
|
395
|
+
echo " ├── commit: ${COMMIT_SHA:0:7}"
|
|
396
|
+
|
|
397
|
+
# create new pr
|
|
398
|
+
echo " ├── create pr..."
|
|
399
|
+
PR_URL=$(gh pr create \
|
|
400
|
+
--title "chore(release): ${NEXT_VERSION} 🎉" \
|
|
401
|
+
--body "$PR_BODY" \
|
|
402
|
+
--base main \
|
|
403
|
+
--head "$IDEAL_PR_BRANCH")
|
|
404
|
+
|
|
405
|
+
PR_NUMBER=$(echo "$PR_URL" | grep -oE '[0-9]+$')
|
|
406
|
+
echo " ├── ✨ pr recreated: #$PR_NUMBER (was #$FOUND_PR_NUMBER)"
|
|
407
|
+
echo " └── 🌊 action: recreated"
|
|
408
|
+
echo "action=recreated" >> $GITHUB_OUTPUT
|
|
409
|
+
echo "pr-number=$PR_NUMBER" >> $GITHUB_OUTPUT
|
|
410
|
+
else
|
|
411
|
+
# branch name matches, update in place
|
|
412
|
+
echo " ├── upsert rebased commit..."
|
|
413
|
+
COMMIT_SHA=$(upsert_rebased_commit "$FOUND_PR_BRANCH" "$MAIN_SHA" "chore(release): ${NEXT_VERSION} 🎉")
|
|
414
|
+
echo " ├── commit: ${COMMIT_SHA:0:7}"
|
|
415
|
+
|
|
416
|
+
# update pr metadata
|
|
417
|
+
echo " ├── update pr metadata..."
|
|
418
|
+
gh pr edit "$FOUND_PR_NUMBER" \
|
|
419
|
+
--title "chore(release): ${NEXT_VERSION} 🎉" \
|
|
420
|
+
--body "$PR_BODY"
|
|
421
|
+
|
|
422
|
+
echo " ├── ✨ pr updated: #$FOUND_PR_NUMBER"
|
|
423
|
+
echo " └── 🌊 action: updated"
|
|
424
|
+
echo "action=updated" >> $GITHUB_OUTPUT
|
|
425
|
+
echo "pr-number=$FOUND_PR_NUMBER" >> $GITHUB_OUTPUT
|
|
426
|
+
fi
|
|
427
|
+
else
|
|
428
|
+
BRANCH="release/${NEXT_VERSION}"
|
|
429
|
+
echo " ├── found-pr: (none)"
|
|
430
|
+
echo " ├── branch: $BRANCH"
|
|
431
|
+
|
|
432
|
+
# upsert rebased commit (creates branch if missing)
|
|
433
|
+
echo " ├── upsert rebased commit..."
|
|
434
|
+
COMMIT_SHA=$(upsert_rebased_commit "$BRANCH" "$MAIN_SHA" "chore(release): ${NEXT_VERSION} 🎉")
|
|
435
|
+
echo " ├── commit: ${COMMIT_SHA:0:7}"
|
|
436
|
+
|
|
437
|
+
# create pr
|
|
438
|
+
echo " ├── create pr..."
|
|
439
|
+
PR_URL=$(gh pr create \
|
|
440
|
+
--title "chore(release): ${NEXT_VERSION} 🎉" \
|
|
441
|
+
--body "$PR_BODY" \
|
|
442
|
+
--base main \
|
|
443
|
+
--head "$BRANCH")
|
|
444
|
+
|
|
445
|
+
PR_NUMBER=$(echo "$PR_URL" | grep -oE '[0-9]+$')
|
|
446
|
+
echo " ├── ✨ pr created: #$PR_NUMBER"
|
|
447
|
+
echo " └── 🌊 action: created"
|
|
448
|
+
|
|
449
|
+
echo "action=created" >> $GITHUB_OUTPUT
|
|
450
|
+
echo "pr-number=$PR_NUMBER" >> $GITHUB_OUTPUT
|
|
451
|
+
fi
|
|
452
|
+
|
|
453
|
+
echo "version=$NEXT_VERSION" >> $GITHUB_OUTPUT
|
|
454
|
+
|
|
455
|
+
# step 5: aggregate outputs
|
|
456
|
+
- name: aggregate outputs
|
|
457
|
+
id: result
|
|
458
|
+
if: always()
|
|
459
|
+
shell: bash
|
|
460
|
+
run: |
|
|
461
|
+
set -euo pipefail
|
|
462
|
+
if [ "${{ steps.cutta.outputs.did-cutta }}" = "true" ]; then
|
|
463
|
+
echo "action=${{ steps.cutta.outputs.action }}" >> $GITHUB_OUTPUT
|
|
464
|
+
echo "version=${{ steps.cutta.outputs.version }}" >> $GITHUB_OUTPUT
|
|
465
|
+
else
|
|
466
|
+
echo "action=${{ steps.upsert.outputs.action }}" >> $GITHUB_OUTPUT
|
|
467
|
+
echo "version=${{ steps.upsert.outputs.version }}" >> $GITHUB_OUTPUT
|
|
468
|
+
echo "pr-number=${{ steps.upsert.outputs.pr-number }}" >> $GITHUB_OUTPUT
|
|
469
|
+
fi
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
name: test-shards-setup
|
|
2
|
+
description: generate shard matrix from jest.*.shards.jsonc config
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
config-file:
|
|
6
|
+
description: path to the shards config file (e.g., jest.integration.shards.jsonc)
|
|
7
|
+
required: true
|
|
8
|
+
test-type:
|
|
9
|
+
description: label for notices (e.g., integration, acceptance)
|
|
10
|
+
required: true
|
|
11
|
+
|
|
12
|
+
outputs:
|
|
13
|
+
matrix:
|
|
14
|
+
description: "JSON array of shard configs for matrix strategy"
|
|
15
|
+
value: ${{ steps.generate.outputs.matrix }}
|
|
16
|
+
patterns:
|
|
17
|
+
description: "pipe-delimited patterns for --testPathIgnorePatterns"
|
|
18
|
+
value: ${{ steps.generate.outputs.patterns }}
|
|
19
|
+
|
|
20
|
+
runs:
|
|
21
|
+
using: composite
|
|
22
|
+
steps:
|
|
23
|
+
- name: generate matrix from ${{ inputs.config-file }}
|
|
24
|
+
id: generate
|
|
25
|
+
shell: bash
|
|
26
|
+
run: |
|
|
27
|
+
config_file="${{ inputs.config-file }}"
|
|
28
|
+
test_type="${{ inputs.test-type }}"
|
|
29
|
+
|
|
30
|
+
# no config = single dynamic shard (backwards compat)
|
|
31
|
+
if [[ ! -f "$config_file" ]]; then
|
|
32
|
+
echo "$test_type: no config, default to single shard"
|
|
33
|
+
echo 'matrix=[{"type":"dynamic","shard":1,"total":1}]' >> $GITHUB_OUTPUT
|
|
34
|
+
echo 'patterns=' >> $GITHUB_OUTPUT
|
|
35
|
+
exit 0
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# read config (strip comments for jq)
|
|
39
|
+
config=$(grep -v '^\s*//' "$config_file" | jq -c '.')
|
|
40
|
+
|
|
41
|
+
# extract explicit shards
|
|
42
|
+
explicit=$(echo "$config" | jq -c '.explicit // []')
|
|
43
|
+
explicit_count=$(echo "$explicit" | jq 'length')
|
|
44
|
+
|
|
45
|
+
# extract dynamic shard count
|
|
46
|
+
dynamic_count=$(echo "$config" | jq '.dynamic.shards // 0')
|
|
47
|
+
|
|
48
|
+
# build matrix
|
|
49
|
+
matrix="[]"
|
|
50
|
+
|
|
51
|
+
# add explicit shards
|
|
52
|
+
for i in $(seq 0 $((explicit_count - 1))); do
|
|
53
|
+
patterns=$(echo "$explicit" | jq -c ".[$i].patterns")
|
|
54
|
+
matrix=$(echo "$matrix" | jq -c ". + [{\"type\": \"explicit\", \"index\": $i, \"patterns\": $patterns}]")
|
|
55
|
+
done
|
|
56
|
+
|
|
57
|
+
# add dynamic shards
|
|
58
|
+
for i in $(seq 1 $dynamic_count); do
|
|
59
|
+
matrix=$(echo "$matrix" | jq -c ". + [{\"type\": \"dynamic\", \"shard\": $i, \"total\": $dynamic_count}]")
|
|
60
|
+
done
|
|
61
|
+
|
|
62
|
+
# collect all explicit patterns for exclusion
|
|
63
|
+
explicit_patterns=$(echo "$explicit" | jq -r '.[].patterns[]' 2>/dev/null | paste -sd '|' || echo '')
|
|
64
|
+
|
|
65
|
+
echo "matrix=$matrix" >> $GITHUB_OUTPUT
|
|
66
|
+
echo "patterns=$explicit_patterns" >> $GITHUB_OUTPUT
|
|
67
|
+
|
|
68
|
+
echo "$test_type: $(echo "$matrix" | jq 'length') shards"
|