declapract-typescript-ehmpathy 0.17.0
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/declapract.declare.yml +4 -0
- package/dist/examples/todo.md +1 -0
- package/dist/getVariables.ts +27 -0
- package/dist/practices/cicd-deploy-package/bad-practices/old-names/.github/workflows/publish_on_tag.yml.declapract.ts +3 -0
- package/dist/practices/cicd-deploy-package/best-practice/.declapract.readme.md +2 -0
- package/dist/practices/cicd-deploy-package/best-practice/.github/workflows/publish-on-tag.yml +36 -0
- package/dist/practices/cicd-deploy-service/bad-practices/old-names/.github/workflows/deploy_dev_on_main.yml.declapract.ts +3 -0
- package/dist/practices/cicd-deploy-service/bad-practices/old-names/.github/workflows/deploy_dev_on_master.yml.declapract.ts +3 -0
- package/dist/practices/cicd-deploy-service/bad-practices/old-names/.github/workflows/deploy_on_tag.yml.declapract.ts +3 -0
- package/dist/practices/cicd-deploy-service/bad-practices/old-names/.github/workflows/deploy_prod_on_tag.yml.declapract.ts +3 -0
- package/dist/practices/cicd-deploy-service/best-practice/.declapract.readme.md +4 -0
- package/dist/practices/cicd-deploy-service/best-practice/.github/workflows/deploy-dev-on-main.yml +59 -0
- package/dist/practices/cicd-deploy-service/best-practice/.github/workflows/deploy-prod-on-tag.yml +74 -0
- package/dist/practices/cicd-integrate/bad-practices/old-names/.github/workflows/ci-on-commit.yml.declapract.ts +3 -0
- package/dist/practices/cicd-integrate/bad-practices/old-names/.github/workflows/ci_on_commit.yml.declapract.ts +3 -0
- package/dist/practices/cicd-integrate/bad-practices/old-names/.github/workflows/test_on_commit.yml.declapract.ts +3 -0
- package/dist/practices/cicd-integrate/best-practice/.declapract.readme.md +3 -0
- package/dist/practices/cicd-integrate/best-practice/.github/workflows/pr-release-on-main.yml +17 -0
- package/dist/practices/cicd-integrate/best-practice/.github/workflows/test-on-commit.yml +285 -0
- package/dist/practices/config/bad-practices/configs-contain-wrong-account-id/config/dev.json.declapract.ts +9 -0
- package/dist/practices/config/bad-practices/configs-contain-wrong-account-id/config/prod.json.declapract.ts +9 -0
- package/dist/practices/config/bad-practices/configs-contain-wrong-account-id/config/test.json.declapract.ts +9 -0
- package/dist/practices/config/bad-practices/divergent-config-shapes/.declapract.readme.md +8 -0
- package/dist/practices/config/bad-practices/divergent-config-shapes/config/dev.json.declapract.ts +37 -0
- package/dist/practices/config/bad-practices/divergent-config-shapes/config/prod.json.declapract.ts +37 -0
- package/dist/practices/config/bad-practices/in-util-dir-directly/.declapract.readme.md +1 -0
- package/dist/practices/config/bad-practices/in-util-dir-directly/src/<star><star>/<star>.ts.declapract.ts +16 -0
- package/dist/practices/config/bad-practices/in-util-dir-directly/src/utils/config.integration.test.ts.declapract.ts +3 -0
- package/dist/practices/config/bad-practices/in-util-dir-directly/src/utils/config.ts.declapract.ts +3 -0
- package/dist/practices/config/bad-practices/promise-config/src/<star><star>/<star>.ts.declapract.ts +19 -0
- package/dist/practices/config/best-practice/config/dev.json +3 -0
- package/dist/practices/config/best-practice/config/dev.json.declapract.ts +3 -0
- package/dist/practices/config/best-practice/config/prod.json +3 -0
- package/dist/practices/config/best-practice/config/prod.json.declapract.ts +3 -0
- package/dist/practices/config/best-practice/config/test.json +3 -0
- package/dist/practices/config/best-practice/config/test.json.declapract.ts +3 -0
- package/dist/practices/config/best-practice/nontyped_modules/config-with-paramstore.d.ts +1 -0
- package/dist/practices/config/best-practice/package.json +5 -0
- package/dist/practices/config/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/config/best-practice/provision/aws/product/parameter-store.tf +3 -0
- package/dist/practices/config/best-practice/provision/aws/product/parameter-store.tf.declapract.ts +16 -0
- package/dist/practices/config/best-practice/provision/aws/product/variables.tf +3 -0
- package/dist/practices/config/best-practice/provision/aws/product/variables.tf.declapract.ts +3 -0
- package/dist/practices/config/best-practice/src/utils/config/Config.ts +1 -0
- package/dist/practices/config/best-practice/src/utils/config/Config.ts.declapract.ts +7 -0
- package/dist/practices/config/best-practice/src/utils/config/getConfig.integration.test.ts +8 -0
- package/dist/practices/config/best-practice/src/utils/config/getConfig.ts +8 -0
- package/dist/practices/config/best-practice/src/utils/environment.ts +3 -0
- package/dist/practices/config/best-practice/src/utils/environment.ts.declapract.ts +3 -0
- package/dist/practices/conventional-commits/best-practice/.declapract.readme.md +5 -0
- package/dist/practices/conventional-commits/best-practice/.husky/commit-msg +4 -0
- package/dist/practices/conventional-commits/best-practice/commitlint.config.js +4 -0
- package/dist/practices/conventional-commits/best-practice/package.json +17 -0
- package/dist/practices/conventional-commits/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/dates-and-times/bad-practices/moment/.declapract.readme.md +9 -0
- package/dist/practices/dates-and-times/bad-practices/moment/package.json.declapract.ts +12 -0
- package/dist/practices/dates-and-times/best-practice/.declapract.readme.md +1 -0
- package/dist/practices/dates-and-times/best-practice/package.json +5 -0
- package/dist/practices/dates-and-times/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/directory-structure-src/bad-practices/model-dir/.declapract.readme.md +2 -0
- package/dist/practices/directory-structure-src/bad-practices/model-dir/src/<star><star>/<star>.ts.declapract.ts +44 -0
- package/dist/practices/directory-structure-src/bad-practices/model-dir/src/model/<star><star>/<star>.ts.declapract.ts +16 -0
- package/dist/practices/directory-structure-src/bad-practices/services-dir/.declapract.readme.md +5 -0
- package/dist/practices/directory-structure-src/bad-practices/services-dir/src/services/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/practices/directory-structure-src/best-practice/.declapract.readme.md +32 -0
- package/dist/practices/directory-structure-src/best-practice/src/contract/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/practices/directory-structure-src/best-practice/src/data/clients/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/practices/directory-structure-src/best-practice/src/data/dao/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/practices/directory-structure-src/best-practice/src/domain/constants.ts.declapract.ts +15 -0
- package/dist/practices/directory-structure-src/best-practice/src/domain/index.ts.declapract.ts +3 -0
- package/dist/practices/directory-structure-src/best-practice/src/domain/objects/index.ts.declapract.ts +4 -0
- package/dist/practices/directory-structure-src/best-practice/src/logic/<star><star>/<star>.ts.declapract.ts +4 -0
- package/dist/practices/domain/bad-practices/schematic-joi-model/src/domain/<star><star>/<star>.ts.declapract.ts +16 -0
- package/dist/practices/domain/best-practice/package.json +7 -0
- package/dist/practices/domain/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/domain/best-practice/src/domain/objects/index.ts.declapract.ts +4 -0
- package/dist/practices/environments/best-practice/.declapract.readme.md +30 -0
- package/dist/practices/environments/best-practice/provision/aws/environments/dev/main.tf.declapract.ts +3 -0
- package/dist/practices/environments/best-practice/provision/aws/environments/prod/main.tf.declapract.ts +3 -0
- package/dist/practices/environments/best-practice/provision/aws/environments/test/main.tf.declapract.ts +3 -0
- package/dist/practices/environments/best-practice/src/utils/environment.ts +35 -0
- package/dist/practices/errors/best-practice/src/utils/errors/UnexpectedCodePathError.ts +14 -0
- package/dist/practices/format/best-practice/package.json +6 -0
- package/dist/practices/format/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/git/best-practice/.gitignore.declapract.ts +29 -0
- package/dist/practices/lambda-clients/bad-practices/lambda-service-client-package/.declapract.readme.md +1 -0
- package/dist/practices/lambda-clients/bad-practices/lambda-service-client-package/package.json +5 -0
- package/dist/practices/lambda-clients/bad-practices/lambda-service-client-package/package.json.declapract.ts +16 -0
- package/dist/practices/lambda-clients/best-practice/package.json +5 -0
- package/dist/practices/lambda-clients/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/lambda-clients/best-practice/src/data/clients/<star>.ts +1 -0
- package/dist/practices/lambda-clients/best-practice/src/data/clients/<star>.ts.declapract.ts +3 -0
- package/dist/practices/lambda-handlers/best-practice/package.json +9 -0
- package/dist/practices/lambda-handlers/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/lambda-handlers/best-practice/src/contract/handlers/<star><star>/<star>.declapract.ts +3 -0
- package/dist/practices/linting/best-practice/.eslintrc.js +44 -0
- package/dist/practices/linting/best-practice/package.json +16 -0
- package/dist/practices/linting/best-practice/package.json.declapract.ts +4 -0
- package/dist/practices/logging/best-practice/package.json +5 -0
- package/dist/practices/logging/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/logging/best-practice/src/utils/logger.ts +3 -0
- package/dist/practices/node/bad-practices/license/package.json.declapract.ts +22 -0
- package/dist/practices/node/best-practice/.nvmrc +1 -0
- package/dist/practices/node/best-practice/package.json +11 -0
- package/dist/practices/node/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/node/best-practice/readme.md +1 -0
- package/dist/practices/node/best-practice/readme.md.declapract.ts +3 -0
- package/dist/practices/nonpublished-modules/.declapract.readme.md +5 -0
- package/dist/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/.declapract.readme.md +1 -0
- package/dist/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/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.integration.test.ts +1 -0
- package/dist/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.integration.test.ts.declapract.ts +15 -0
- package/dist/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.ts +1 -0
- package/dist/practices/nonpublished-modules/bad-practices/ahbode-standard-lambda-handler/src/contract/handlers/<star>.ts.declapract.ts +13 -0
- package/dist/practices/nonpublished-modules/bad-practices/deep-omit/.declapract.readme.md +1 -0
- package/dist/practices/nonpublished-modules/bad-practices/deep-omit/src/__nonpublished_modules__/deep-omit/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/practices/nonpublished-modules/bad-practices/deep-omit/src/data/dao/<star><star>/<star>.integration.test.ts +1 -0
- package/dist/practices/nonpublished-modules/bad-practices/deep-omit/src/data/dao/<star><star>/<star>.integration.test.ts.declapract.ts +18 -0
- package/dist/practices/nonpublished-modules/bad-practices/simple-dynamodb-client/.declapract.readme.md +1 -0
- package/dist/practices/nonpublished-modules/bad-practices/simple-dynamodb-client/src/__nonpublished_modules__/simple-dynamodb-client/<star><star>/<star>.ts.declapract.ts +3 -0
- package/dist/practices/package-json-order/best-practice/.declapract.readme.md +3 -0
- package/dist/practices/package-json-order/best-practice/package.json.declapract.ts +171 -0
- package/dist/practices/persist-with-dynamodb/best-practice/package.json +5 -0
- package/dist/practices/persist-with-dynamodb/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/bad-practices/non-prefixed-manual-init-sqls/provision/schema/sql/init/database.sql.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/bad-practices/non-prefixed-manual-init-sqls/provision/schema/sql/init/extensions.sql.declapract.ts +13 -0
- package/dist/practices/persist-with-rds/bad-practices/non-prefixed-manual-init-sqls/provision/schema/sql/init/schema.sql.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/bad-practices/non-prefixed-manual-init-sqls/provision/schema/sql/init/user.cicd.sql.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/bad-practices/non-prefixed-manual-init-sqls/provision/schema/sql/init/user.datalakedb.sql.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/bad-practices/non-prefixed-manual-init-sqls/readme.md +5 -0
- package/dist/practices/persist-with-rds/bad-practices/old-config-file-names/codegen.sql.yml.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/bad-practices/schema-entities-dir/.declapract.readme.md +1 -0
- package/dist/practices/persist-with-rds/bad-practices/schema-entities-dir/provision/schema/entities/<star>.ts.declapract.ts +12 -0
- package/dist/practices/persist-with-rds/bad-practices/schema-entities-dir/provision/schema/sql/entities.yml.declapract.ts +13 -0
- package/dist/practices/persist-with-rds/best-practice/.declapract.readme.md +6 -0
- package/dist/practices/persist-with-rds/best-practice/codegen.sql.dao.yml +18 -0
- package/dist/practices/persist-with-rds/best-practice/codegen.sql.dao.yml.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/best-practice/codegen.sql.schema.yml +6 -0
- package/dist/practices/persist-with-rds/best-practice/codegen.sql.types.yml +15 -0
- package/dist/practices/persist-with-rds/best-practice/config/dev.json +20 -0
- package/dist/practices/persist-with-rds/best-practice/config/dev.json.declapract.ts +15 -0
- package/dist/practices/persist-with-rds/best-practice/config/prod.json +20 -0
- package/dist/practices/persist-with-rds/best-practice/config/prod.json.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/best-practice/config/test.json +20 -0
- package/dist/practices/persist-with-rds/best-practice/config/test.json.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/best-practice/package.json +27 -0
- package/dist/practices/persist-with-rds/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/best-practice/provision/aws/product/parameter-store.tf +24 -0
- package/dist/practices/persist-with-rds/best-practice/provision/aws/product/parameter-store.tf.declapract.ts +18 -0
- package/dist/practices/persist-with-rds/best-practice/provision/docker/integration_test_db/build-image.dockerfile +7 -0
- package/dist/practices/persist-with-rds/best-practice/provision/docker/integration_test_db/docker-compose.yml +13 -0
- package/dist/practices/persist-with-rds/best-practice/provision/docker/integration_test_db/init/.gitignore +3 -0
- package/dist/practices/persist-with-rds/best-practice/provision/docker/integration_test_db/init/readme.md +3 -0
- package/dist/practices/persist-with-rds/best-practice/provision/docker/integration_test_db/wait-for-postgres.sh +15 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/connection.config.js +23 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/control.yml +7 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/deploy.database.sh +71 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/.database.sql +10 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/.extensions.sql +16 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/.extensions.sql.declapract.ts +37 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/.schema.sql +11 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/.user.cicd.sql +14 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/.user.datalakedb.sql +12 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/default_transaction_isolation.sql +6 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init/user.service.sql +16 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init.yml +9 -0
- package/dist/practices/persist-with-rds/best-practice/provision/schema/sql/init.yml.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/best-practice/src/utils/config/getConfig.ts +2 -0
- package/dist/practices/persist-with-rds/best-practice/src/utils/config/getConfig.ts.declapract.ts +3 -0
- package/dist/practices/persist-with-rds/best-practice/src/utils/database/getDatabaseConnection.integration.test.ts +10 -0
- package/dist/practices/persist-with-rds/best-practice/src/utils/database/getDatabaseConnection.ts +65 -0
- package/dist/practices/persist-with-rds/best-practice/src/utils/database/withDatabaseConnection.ts +38 -0
- package/dist/practices/persist-with-rds/best-practice/src/utils/database/withDatabaseTransaction.ts +20 -0
- package/dist/practices/prettier/bad-practices/format-script/package.json.declapract.ts +26 -0
- package/dist/practices/prettier/best-practice/.prettierignore +1 -0
- package/dist/practices/prettier/best-practice/package.json +10 -0
- package/dist/practices/prettier/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/prettier/best-practice/prettier.config.js +9 -0
- package/dist/practices/runtime-type-checking/bad-practices/joi-types/package.json +5 -0
- package/dist/practices/runtime-type-checking/bad-practices/joi-types/package.json.declapract.ts +18 -0
- package/dist/practices/runtime-type-checking/bad-practices/old-joi-syntax-valid-input-cant-be-array/.declapract.readme.md +1 -0
- package/dist/practices/runtime-type-checking/bad-practices/old-joi-syntax-valid-input-cant-be-array/src/<star><star>/<star>.ts.declapract.ts +15 -0
- package/dist/practices/runtime-type-checking/best-practice/package.json +5 -0
- package/dist/practices/runtime-type-checking/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/serverless/bad-practices/generic-deploy-script/package.json +8 -0
- package/dist/practices/serverless/bad-practices/generic-deploy-script/package.json.declapract.ts +23 -0
- package/dist/practices/serverless/bad-practices/old-sls-plugins/package.json +6 -0
- package/dist/practices/serverless/bad-practices/old-sls-plugins/package.json.declapract.ts +19 -0
- package/dist/practices/serverless/best-practice/package.json +11 -0
- package/dist/practices/serverless/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/serverless/best-practice/serverless.yml +70 -0
- package/dist/practices/serverless/best-practice/serverless.yml.declapract.ts +26 -0
- package/dist/practices/terraform/bad-practices/terraform-dir/.declapract.readme.md +8 -0
- package/dist/practices/terraform/bad-practices/terraform-dir/provision/terraform/<star><star>/.gitignore.declapract.ts +12 -0
- package/dist/practices/terraform/bad-practices/terraform-dir/provision/terraform/<star><star>/<star>.hcl.declapract.ts +12 -0
- package/dist/practices/terraform/bad-practices/terraform-dir/provision/terraform/<star><star>/<star>.tf.declapract.ts +12 -0
- package/dist/practices/terraform/best-practice/.terraform-version +1 -0
- package/dist/practices/terraform/best-practice/package.json +6 -0
- package/dist/practices/terraform/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/terraform/best-practice/provision/aws/environments/dev/main.tf +18 -0
- package/dist/practices/terraform/best-practice/provision/aws/environments/dev/versions.tf +9 -0
- package/dist/practices/terraform/best-practice/provision/aws/environments/prod/main.tf +18 -0
- package/dist/practices/terraform/best-practice/provision/aws/environments/prod/versions.tf +9 -0
- package/dist/practices/terraform/best-practice/provision/aws/environments/test/main.tf +18 -0
- package/dist/practices/terraform/best-practice/provision/aws/environments/test/versions.tf +9 -0
- package/dist/practices/terraform/best-practice/provision/aws/product/variables.tf +14 -0
- package/dist/practices/terraform/best-practice/provision/github/environment/import-existing-repo.sh +12 -0
- package/dist/practices/terraform/best-practice/provision/github/environment/main.tf +20 -0
- package/dist/practices/terraform/best-practice/provision/github/environment/versions.tf +9 -0
- package/dist/practices/terraform/best-practice/provision/github/product/repository.tf +70 -0
- package/dist/practices/testing/bad-practices/mocks/.declapract.readme.md +8 -0
- package/dist/practices/testing/bad-practices/mocks/<star><star>/__mock__/<star>.js +3 -0
- package/dist/practices/testing/bad-practices/mocks/<star><star>/__mock__/<star>.ts +3 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils/acceptance/_utils/getDataFromLastOpenBracketAtStartOfLine.ts.declapract.ts +3 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils/acceptance/_utils/invokeLambda.ts.declapract.ts +3 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils/acceptance/lambdas/<star>.ts.declapract.ts +44 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils-2/acceptance/__test_utils__/environment.ts.declapract.ts +3 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils-2/acceptance/lambdas/<star>.ts.declapract.ts +22 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils-3/acceptance/_utils/environment.ts.declapract.ts +3 -0
- package/dist/practices/testing/bad-practices/old-acceptance-test-utils-3/acceptance/lambdas/<star>.ts.declapract.ts +18 -0
- package/dist/practices/testing/bad-practices/old-extension-pattern/.declapract.readme.md +3 -0
- package/dist/practices/testing/bad-practices/old-extension-pattern/<star><star>/<star>.test.acceptance.ts.declapract.ts +11 -0
- package/dist/practices/testing/bad-practices/old-extension-pattern/<star><star>/<star>.test.integration.ts.declapract.ts +11 -0
- package/dist/practices/testing/best-practice/.declapract.readme.md +45 -0
- package/dist/practices/testing/best-practice/acceptance/<star><star>/<star>.acceptance.test.ts.declapract.ts +3 -0
- package/dist/practices/testing/best-practice/acceptance/environment.ts +5 -0
- package/dist/practices/testing/best-practice/acceptance/lambdas/<star>.acceptance.test.ts.declapract.ts +32 -0
- package/dist/practices/testing/best-practice/jest.acceptance.config.js +15 -0
- package/dist/practices/testing/best-practice/jest.acceptance.env.js +2 -0
- package/dist/practices/testing/best-practice/jest.config.js +1 -0
- package/dist/practices/testing/best-practice/jest.integration.config.js +10 -0
- package/dist/practices/testing/best-practice/jest.integration.env.js +13 -0
- package/dist/practices/testing/best-practice/jest.unit.config.js +15 -0
- package/dist/practices/testing/best-practice/jest.unit.env.js +16 -0
- package/dist/practices/testing/best-practice/package.json +16 -0
- package/dist/practices/testing/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/testing/best-practice/src/<star><star>/<star>.integration.test.ts.declapract.ts +3 -0
- package/dist/practices/testing/best-practice/src/<star><star>/<star>.test.ts.declapract.ts +3 -0
- package/dist/practices/testing/best-practice/src/utils/environment.ts +3 -0
- package/dist/practices/testing/best-practice/src/utils/environment.ts.declapract.ts +3 -0
- package/dist/practices/testing/defineFunctionNameFromTestFileName.ts +11 -0
- package/dist/practices/typescript/best-practice/.declapract.readme.md +10 -0
- package/dist/practices/typescript/best-practice/package.json +12 -0
- package/dist/practices/typescript/best-practice/package.json.declapract.ts +3 -0
- package/dist/practices/typescript/best-practice/tsconfig.build.json +17 -0
- package/dist/practices/typescript/best-practice/tsconfig.json +18 -0
- package/dist/practices/uuid/bad-practices/npm-uuidv4/.declapract.readme.md +1 -0
- package/dist/practices/uuid/bad-practices/npm-uuidv4/package.json.declapract.ts +17 -0
- package/dist/practices/uuid/best-practice/.declapract.readme.md +1 -0
- package/dist/practices/uuid/best-practice/package.json +8 -0
- package/dist/practices/uuid/best-practice/package.json.declapract.ts +3 -0
- package/dist/useCases.yml +48 -0
- package/package.json +96 -0
- package/readme.md +39 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.CONTAINS;
|
|
4
|
+
|
|
5
|
+
export const fix: FileFixFunction = (contents) => {
|
|
6
|
+
if (!contents) return {}; // should not reach here, file should exist; if doesnt though, do nothing
|
|
7
|
+
const parsedContents = JSON.parse(contents);
|
|
8
|
+
const fixedParsedContents = {
|
|
9
|
+
...parsedContents,
|
|
10
|
+
dependencies: {
|
|
11
|
+
...parsedContents.dependencies,
|
|
12
|
+
'lambda-service-client': undefined, // remove this module
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
return { contents: JSON.stringify(fixedParsedContents, null, 2) };
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { invokeLambdaFunction } from 'simple-lambda-client';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
parser: '@typescript-eslint/parser', // Specifies the ESLint parser
|
|
3
|
+
extends: [
|
|
4
|
+
'plugin:@typescript-eslint/recommended', // Uses the recommended rules from the @typescript-eslint/eslint-plugin
|
|
5
|
+
'airbnb-typescript/base', // uses the airbnb recommended rules
|
|
6
|
+
'prettier/@typescript-eslint', // disables ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier
|
|
7
|
+
'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
|
|
8
|
+
],
|
|
9
|
+
parserOptions: {
|
|
10
|
+
project: './tsconfig.json',
|
|
11
|
+
ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features
|
|
12
|
+
sourceType: 'module', // Allows for the use of imports
|
|
13
|
+
},
|
|
14
|
+
rules: {
|
|
15
|
+
'@typescript-eslint/explicit-function-return-type': 'off', // this can be figured out implicitly, and that is better
|
|
16
|
+
'sort-imports': 'off',
|
|
17
|
+
'import/prefer-default-export': 'off', // default export = bad
|
|
18
|
+
'import/no-default-export': 'error', // require named exports - they make it easier to refactor, enforce consistency, and increase constraints
|
|
19
|
+
'@typescript-eslint/no-non-null-assertion': 'off', // we use these to help typescript out when we know something it doesnt, and cant easily express that
|
|
20
|
+
'import/no-extraneous-dependencies': [
|
|
21
|
+
'error',
|
|
22
|
+
{
|
|
23
|
+
devDependencies: [
|
|
24
|
+
'**/*.test.ts',
|
|
25
|
+
'**/*.test.integration.ts',
|
|
26
|
+
'**/*.test.acceptance.ts',
|
|
27
|
+
'acceptance/**/*.ts',
|
|
28
|
+
'**/__test_utils__/**/*.ts',
|
|
29
|
+
'provision/**/*.ts',
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
'@typescript-eslint/no-explicit-any': 'off', // sometimes this is a valid definition
|
|
34
|
+
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
|
|
35
|
+
'import/no-cycle': 'off',
|
|
36
|
+
'max-classes-per-file': 'off',
|
|
37
|
+
'@typescript-eslint/no-use-before-define': 'off',
|
|
38
|
+
'@typescript-eslint/no-floating-promises': 'error',
|
|
39
|
+
'prefer-destructuring': 'off',
|
|
40
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
41
|
+
'lines-between-class-members': 'off',
|
|
42
|
+
'no-return-await': 'off', // this does not help anything and actually leads to bugs if we subsequently wrap the return in a try catch without remembering to _then_ add await
|
|
43
|
+
},
|
|
44
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"devDependencies": {
|
|
3
|
+
"@typescript-eslint/eslint-plugin": "5.46.1",
|
|
4
|
+
"@typescript-eslint/parser": "5.46.1",
|
|
5
|
+
"eslint": "8.30.0",
|
|
6
|
+
"eslint-config-airbnb-base": "15.0.0",
|
|
7
|
+
"eslint-config-airbnb-typescript": "17.0.0",
|
|
8
|
+
"eslint-config-prettier": "8.5.0",
|
|
9
|
+
"eslint-plugin-import": "2.26.0",
|
|
10
|
+
"eslint-plugin-prettier": "4.2.1"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"fix:lint": "eslint -c ./.eslintrc.js src/**/*.ts --fix",
|
|
14
|
+
"test:lint": "eslint -c ./.eslintrc.js src/**/*.ts"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FileCheckFunction, FileFixFunction } from 'declapract';
|
|
2
|
+
import expect from 'expect';
|
|
3
|
+
|
|
4
|
+
export const check: FileCheckFunction = async (contents) => {
|
|
5
|
+
expect(JSON.parse(contents ?? 'null')).toEqual(
|
|
6
|
+
expect.objectContaining({
|
|
7
|
+
license: expect.any(String), // we shouldn't have a license declared for service code
|
|
8
|
+
}),
|
|
9
|
+
);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const fix: FileFixFunction = (contents) => {
|
|
13
|
+
if (!contents) return { contents }; // do nothing if no contents
|
|
14
|
+
const packageJSON = JSON.parse(contents);
|
|
15
|
+
const updatedPackageJSON = {
|
|
16
|
+
...packageJSON,
|
|
17
|
+
license: undefined,
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
contents: JSON.stringify(updatedPackageJSON, null, 2),
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
lts/*
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@declapract{variable.projectName}",
|
|
3
|
+
"author": "@declapract{variable.organizationName}",
|
|
4
|
+
"version": "@declapract{check.minVersion('0.0.0')}",
|
|
5
|
+
"private": true,
|
|
6
|
+
"scripts": {
|
|
7
|
+
"prepush": "npm run test && npm run build",
|
|
8
|
+
"preversion": "npm run prepush",
|
|
9
|
+
"postversion": "git push origin HEAD --tags --no-verify"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @declapract{variable.projectName}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
nonpublished modules are used when we are testing out some new functionality and have not yet generalized it sufficiently to warrant creating a npm module of its own yet (e.g., follow W.E.T and have not written it twice already)
|
|
2
|
+
|
|
3
|
+
however, when modules do graduate and get published, we want to make sure we start using them and stop using the "nonpublished" one
|
|
4
|
+
|
|
5
|
+
this practice consists of bad-practice checks that make sure whenever we publish one (or deprecate one) we dont keep using the old one
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
was published under `standard-lambda-handlers` package
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { promiseLambdaInvocation } from '../../__nonpublished_modules__/ahbode-standard-lambda-handler';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.CONTAINS;
|
|
4
|
+
|
|
5
|
+
export const fix: FileFixFunction = (contents) => {
|
|
6
|
+
if (!contents) return {};
|
|
7
|
+
return {
|
|
8
|
+
contents: contents
|
|
9
|
+
.replace(
|
|
10
|
+
`import { promiseLambdaInvocation } from '../../__nonpublished_modules__/ahbode-standard-lambda-handler';`,
|
|
11
|
+
`import { invokeHandlerForTesting } from 'simple-lambda-testing-methods';`,
|
|
12
|
+
)
|
|
13
|
+
.replace(/promiseLambdaInvocation/g, 'invokeHandlerForTesting'),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { createStandardHandler } from '../../__nonpublished_modules__/ahbode-standard-lambda-handler';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.CONTAINS;
|
|
4
|
+
|
|
5
|
+
export const fix: FileFixFunction = (contents) => {
|
|
6
|
+
if (!contents) return {};
|
|
7
|
+
return {
|
|
8
|
+
contents: contents.replace(
|
|
9
|
+
`import { createStandardHandler } from '../../__nonpublished_modules__/ahbode-standard-lambda-handler';`,
|
|
10
|
+
`import { createStandardHandler } from 'simple-lambda-handlers';`,
|
|
11
|
+
),
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
was replaced with `domain-objects#omitAutogeneratedValues`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { deepOmit } from '../../../__nonpublished_modules__/deep-omit';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.CONTAINS;
|
|
4
|
+
|
|
5
|
+
export const fix: FileFixFunction = (contents) => {
|
|
6
|
+
if (!contents) return {};
|
|
7
|
+
return {
|
|
8
|
+
contents: contents
|
|
9
|
+
.replace(
|
|
10
|
+
`import { deepOmit } from '../../../__nonpublished_modules__/deep-omit';`,
|
|
11
|
+
`import { omitAutogeneratedValues } from 'domain-objects';`,
|
|
12
|
+
)
|
|
13
|
+
.replace(
|
|
14
|
+
/deepOmit\(([\w|!|?|\.]+), \[[\w'", ]+\]\)/g,
|
|
15
|
+
'omitAutogeneratedValues($1)',
|
|
16
|
+
),
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
was published under `simple-dynamodb-client` package
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { FileCheckFunction, FileFixFunction } from 'declapract';
|
|
2
|
+
import expect from 'expect';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* define the relative key order of keys we care about
|
|
6
|
+
*
|
|
7
|
+
* relative meaning: things can be between them or more keys can be defined that we wont reorder - but these ones must have the correct relative order
|
|
8
|
+
*/
|
|
9
|
+
export const desiredRelativeKeyOrder = {
|
|
10
|
+
root: [
|
|
11
|
+
'name',
|
|
12
|
+
'author',
|
|
13
|
+
'description',
|
|
14
|
+
'private',
|
|
15
|
+
'version',
|
|
16
|
+
'main',
|
|
17
|
+
'module',
|
|
18
|
+
'scripts',
|
|
19
|
+
'dependencies',
|
|
20
|
+
'devDependencies',
|
|
21
|
+
'config',
|
|
22
|
+
],
|
|
23
|
+
scripts: [
|
|
24
|
+
'commit:with-cli',
|
|
25
|
+
'fix:format:prettier',
|
|
26
|
+
'fix:format:terraform',
|
|
27
|
+
'fix:format',
|
|
28
|
+
'fix:lint',
|
|
29
|
+
'fix',
|
|
30
|
+
'generate:schema',
|
|
31
|
+
'generate:types-from-sql',
|
|
32
|
+
'generate:dao',
|
|
33
|
+
'build:clean',
|
|
34
|
+
'build:compile',
|
|
35
|
+
'build',
|
|
36
|
+
'provision:docker:prepare',
|
|
37
|
+
'provision:docker:up',
|
|
38
|
+
'provision:docker:await',
|
|
39
|
+
'provision:docker:down',
|
|
40
|
+
'provision:schema:plan',
|
|
41
|
+
'provision:schema:apply',
|
|
42
|
+
'provision:schema:sync',
|
|
43
|
+
'provision:integration-test-db',
|
|
44
|
+
'test:commits',
|
|
45
|
+
'test:types',
|
|
46
|
+
'test:format:prettier',
|
|
47
|
+
'test:format:terraform',
|
|
48
|
+
'test:format',
|
|
49
|
+
'test:lint',
|
|
50
|
+
'test:unit',
|
|
51
|
+
'test:integration',
|
|
52
|
+
'test:acceptance:locally',
|
|
53
|
+
'test',
|
|
54
|
+
'test:acceptance',
|
|
55
|
+
'prepush',
|
|
56
|
+
'preversion',
|
|
57
|
+
'postversion',
|
|
58
|
+
'deploy:release',
|
|
59
|
+
'deploy:send-notification',
|
|
60
|
+
'deploy:dev',
|
|
61
|
+
'deploy:prod',
|
|
62
|
+
'deploy',
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* function which sorts keys in an object based on relative sort order given
|
|
68
|
+
*
|
|
69
|
+
* when a key is not in the array, its relative position in the array is not changed
|
|
70
|
+
*
|
|
71
|
+
* note: we're forced to write our own sorting function because `.sort()` assumes that `if a > b` and `b > c` then `a > c`, which does not hold in our case (because some relative ranks are not defined)
|
|
72
|
+
*/
|
|
73
|
+
const sortObjectByRelativeKeyOrder = ({
|
|
74
|
+
object,
|
|
75
|
+
order,
|
|
76
|
+
}: {
|
|
77
|
+
object: Record<string, any>;
|
|
78
|
+
order: string[];
|
|
79
|
+
}) => {
|
|
80
|
+
const objectKeys = Object.keys(object);
|
|
81
|
+
const objectKeysWithRelativePositionDefined = objectKeys.filter((key) =>
|
|
82
|
+
order.includes(key),
|
|
83
|
+
);
|
|
84
|
+
const objectKeysWithoutRelativePositionDefined = objectKeys.filter(
|
|
85
|
+
(key) => !order.includes(key),
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
// sort the keys that have relative order to eachother
|
|
89
|
+
const sortedRelativeOrderOnesOnly =
|
|
90
|
+
objectKeysWithRelativePositionDefined.sort((a, b) =>
|
|
91
|
+
order.indexOf(a) < order.indexOf(b) ? -1 : 1,
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
// then stick the ones that did not have relative order defined into the order (after the ones we relatively defined, when more than one option of position)
|
|
95
|
+
const sortedKeys = [
|
|
96
|
+
...sortedRelativeOrderOnesOnly,
|
|
97
|
+
...objectKeysWithoutRelativePositionDefined,
|
|
98
|
+
].sort((a, b) => {
|
|
99
|
+
// lookup the relative orders
|
|
100
|
+
const relativeOrderIndexOfKeyA = order.indexOf(a);
|
|
101
|
+
const relativeOrderIndexOfKeyB = order.indexOf(b);
|
|
102
|
+
|
|
103
|
+
// if the relative order of both are defined, then we can use that to sort
|
|
104
|
+
if (relativeOrderIndexOfKeyA > -1 && relativeOrderIndexOfKeyB > -1)
|
|
105
|
+
return relativeOrderIndexOfKeyA < relativeOrderIndexOfKeyB ? -1 : 1;
|
|
106
|
+
|
|
107
|
+
// lookup the index of each in original array
|
|
108
|
+
const originalOrderIndexOfKeyA = objectKeys.indexOf(a);
|
|
109
|
+
const originalOrderIndexOfKeyB = objectKeys.indexOf(b);
|
|
110
|
+
|
|
111
|
+
// otherwise keep the original order
|
|
112
|
+
return originalOrderIndexOfKeyA < originalOrderIndexOfKeyB ? -1 : 1;
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// create a new object with the sorted keys
|
|
116
|
+
const newObject: Record<string, any> = {};
|
|
117
|
+
for (const key of sortedKeys) {
|
|
118
|
+
newObject[key] = object[key];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// return it
|
|
122
|
+
return newObject;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const sortPackageJSONObjectKeys = (packageJSONObject: Record<string, any>) => {
|
|
126
|
+
// sort the scripts
|
|
127
|
+
const sortedScripts = sortObjectByRelativeKeyOrder({
|
|
128
|
+
object: packageJSONObject.scripts ?? {},
|
|
129
|
+
order: desiredRelativeKeyOrder.scripts,
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// sort the dependencies (alphabetical)
|
|
133
|
+
const sortedDeps = sortObjectByRelativeKeyOrder({
|
|
134
|
+
object: packageJSONObject.dependencies ?? {},
|
|
135
|
+
order: Object.keys(packageJSONObject.dependencies ?? {}).sort(), // alphabetical order
|
|
136
|
+
});
|
|
137
|
+
const sortedDevDeps = sortObjectByRelativeKeyOrder({
|
|
138
|
+
object: packageJSONObject.devDependencies ?? {},
|
|
139
|
+
order: Object.keys(packageJSONObject.devDependencies ?? {}).sort(), // alphabetical order
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
// sort the root
|
|
143
|
+
const sortedPackageJSONObject = sortObjectByRelativeKeyOrder({
|
|
144
|
+
object: {
|
|
145
|
+
...packageJSONObject,
|
|
146
|
+
scripts: sortedScripts,
|
|
147
|
+
dependencies: sortedDeps,
|
|
148
|
+
devDependencies: sortedDevDeps,
|
|
149
|
+
},
|
|
150
|
+
order: desiredRelativeKeyOrder.root,
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
// return it
|
|
154
|
+
return sortedPackageJSONObject;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
// define fix and check
|
|
158
|
+
export const check: FileCheckFunction = (contents) => {
|
|
159
|
+
if (!contents) throw new Error('file not defined');
|
|
160
|
+
const packageJSONObject = JSON.parse(contents);
|
|
161
|
+
const sortedPackageJSONObject = sortPackageJSONObjectKeys(packageJSONObject);
|
|
162
|
+
expect(JSON.stringify(packageJSONObject, null, 2)).toEqual(
|
|
163
|
+
JSON.stringify(sortedPackageJSONObject, null, 2),
|
|
164
|
+
);
|
|
165
|
+
};
|
|
166
|
+
export const fix: FileFixFunction = (contents) => {
|
|
167
|
+
if (!contents) return {}; // cant do anything if not defined
|
|
168
|
+
const packageJSONObject = JSON.parse(contents);
|
|
169
|
+
const sortedPackageJSONObject = sortPackageJSONObjectKeys(packageJSONObject);
|
|
170
|
+
return { contents: JSON.stringify(sortedPackageJSONObject, null, 2) };
|
|
171
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.EXISTS;
|
|
4
|
+
|
|
5
|
+
// for this one, we want to move the file, not just delete it, since it may have had customizations
|
|
6
|
+
export const fix: FileFixFunction = (_, context) => {
|
|
7
|
+
return {
|
|
8
|
+
relativeFilePath: context.relativeFilePath.replace(
|
|
9
|
+
'/extensions.sql',
|
|
10
|
+
'/.extensions.sql',
|
|
11
|
+
),
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
we have several files that are not automatically managed by `sql-schema-control` and must be applied manually with superuser privileges
|
|
2
|
+
|
|
3
|
+
to make the distinction between these and the files that _are_ managed by `sql-schema-control`, we've adopted the convention that the ones that need to be applied manually with `superuser` privs are prefixed with a `.`
|
|
4
|
+
|
|
5
|
+
this practice checks for the case where we didn't have the prefix - and fixes it by prefixing the files for us
|
package/dist/practices/persist-with-rds/bad-practices/schema-entities-dir/.declapract.readme.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
provision/schema/entities -> provision/schema/domain
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.EXISTS;
|
|
4
|
+
|
|
5
|
+
export const fix: FileFixFunction = (_, context) => {
|
|
6
|
+
return {
|
|
7
|
+
relativeFilePath: context.relativeFilePath.replace(
|
|
8
|
+
/provision\/schema\/entities\//g,
|
|
9
|
+
'provision/schema/domain/',
|
|
10
|
+
),
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FileCheckType, FileFixFunction } from 'declapract';
|
|
2
|
+
|
|
3
|
+
export const check = FileCheckType.EXISTS;
|
|
4
|
+
|
|
5
|
+
export const fix: FileFixFunction = (_, context) => {
|
|
6
|
+
return {
|
|
7
|
+
// rename file to "domain.yml"
|
|
8
|
+
relativeFilePath: context.relativeFilePath.replace(
|
|
9
|
+
/entities\.yml$/,
|
|
10
|
+
'domain.yml',
|
|
11
|
+
),
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
language: postgres
|
|
2
|
+
dialect: 10.7
|
|
3
|
+
generates:
|
|
4
|
+
daos:
|
|
5
|
+
to: src/data/dao
|
|
6
|
+
using:
|
|
7
|
+
log: src/utils/logger#log
|
|
8
|
+
DatabaseConnection: src/utils/database/getDatabaseConnection#DatabaseConnection
|
|
9
|
+
schema:
|
|
10
|
+
config: codegen.sql.schema.yml
|
|
11
|
+
control:
|
|
12
|
+
config: provision/schema/control.yml
|
|
13
|
+
code:
|
|
14
|
+
config: codegen.sql.types.yml
|
|
15
|
+
for:
|
|
16
|
+
objects:
|
|
17
|
+
search:
|
|
18
|
+
- 'src/domain/objects/*.ts'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
language: postgres
|
|
2
|
+
dialect: 10.7
|
|
3
|
+
resources: # where to find your tables, functions, views, procedures
|
|
4
|
+
- 'provision/schema/sql/tables/**/*.sql'
|
|
5
|
+
- 'provision/schema/sql/views/**/*.sql'
|
|
6
|
+
- 'provision/schema/sql/functions/**/*.sql'
|
|
7
|
+
queries: # where to find your queries (each file must `export const query = `...`);
|
|
8
|
+
- 'src/data/dao/**/*.ts'
|
|
9
|
+
- '!src/data/dao/**/index.ts'
|
|
10
|
+
- '!src/data/dao/**/castFromDatabaseObject.ts'
|
|
11
|
+
- '!src/**/*.test.ts'
|
|
12
|
+
- '!src/**/*.test.integration.ts'
|
|
13
|
+
generates: # where to output the generated code
|
|
14
|
+
types: src/data/dao/.generated/types.ts
|
|
15
|
+
queryFunctions: src/data/dao/.generated/queryFunctions.ts
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"database": {
|
|
3
|
+
"admin": {
|
|
4
|
+
"host": "@declapract{variable.databaseClusterHost.dev}",
|
|
5
|
+
"port": 5432,
|
|
6
|
+
"database": "@declapract{variable.databaseName}",
|
|
7
|
+
"schema": "@declapract{variable.databaseName}",
|
|
8
|
+
"username": "@declapract{variable.databaseUserName.cicdUser}",
|
|
9
|
+
"password": "__CHANG3_ME__"
|
|
10
|
+
},
|
|
11
|
+
"service": {
|
|
12
|
+
"host": "@declapract{variable.databaseClusterHost.dev}",
|
|
13
|
+
"port": 5432,
|
|
14
|
+
"database": "@declapract{variable.databaseName}",
|
|
15
|
+
"schema": "@declapract{variable.databaseName}",
|
|
16
|
+
"username": "@declapract{variable.databaseUserName.serviceUser}",
|
|
17
|
+
"password": "__CHANG3_ME__"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|