From a7264f6a33d605f8836a772bd1bdf6ce247677c1 Mon Sep 17 00:00:00 2001 From: jlenon7 Date: Sun, 10 Dec 2023 22:06:30 +0000 Subject: [PATCH 1/2] test(configurer): adjust expectations --- package-lock.json | 77 ++++--------------- .../unit/configurer/DatabaseConfigurerTest.ts | 6 +- 2 files changed, 18 insertions(+), 65 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2f29d0..c366af9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "husky": "^3.1.0", "lint-staged": "^12.5.0", "mongodb-memory-server": "^9.0.1", - "mongoose": "^7.6.3", + "mongoose": "^7.6.7", "mysql2": "^3.6.2", "pg": "^8.11.3", "prettier": "^2.8.7" @@ -7608,9 +7608,9 @@ } }, "node_modules/knex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/knex/-/knex-3.0.1.tgz", - "integrity": "sha512-ruASxC6xPyDklRdrcDy6a9iqK+R9cGK214aiQa+D9gX2ZnHZKv6o6JC9ZfgxILxVAul4bZ13c3tgOAHSuQ7/9g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-3.1.0.tgz", + "integrity": "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==", "dev": true, "dependencies": { "colorette": "2.0.19", @@ -7622,7 +7622,7 @@ "getopts": "2.3.0", "interpret": "^2.2.0", "lodash": "^4.17.21", - "pg-connection-string": "2.6.1", + "pg-connection-string": "2.6.2", "rechoir": "^0.8.0", "resolve-from": "^5.0.0", "tarn": "^3.0.2", @@ -8642,14 +8642,14 @@ } }, "node_modules/mongoose": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.6.3.tgz", - "integrity": "sha512-moYP2qWCOdWRDeBxqB/zYwQmQnTBsF5DoolX5uPyI218BkiA1ujGY27P0NTd4oWIX+LLkZPw0LDzlc/7oh1plg==", + "version": "7.6.7", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.6.7.tgz", + "integrity": "sha512-6Ihl7Y7OlSEMiwyjar3N8sMKRZa3LNGcayES8I+Hluo0sV6j1SVOo8MXXnwi+z3+Hcyk4zO47+xL87fBTNlWVw==", "dev": true, "dependencies": { "bson": "^5.5.0", "kareem": "2.5.1", - "mongodb": "5.9.0", + "mongodb": "5.9.1", "mpath": "0.9.0", "mquery": "5.0.0", "ms": "2.1.3", @@ -8663,47 +8663,6 @@ "url": "https://opencollective.com/mongoose" } }, - "node_modules/mongoose/node_modules/mongodb": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.0.tgz", - "integrity": "sha512-g+GCMHN1CoRUA+wb1Agv0TI4YTSiWr42B5ulkiAfLLHitGK1R+PkSAf3Lr5rPZwi/3F04LiaZEW0Kxro9Fi2TA==", - "dev": true, - "dependencies": { - "bson": "^5.5.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "@mongodb-js/saslprep": "^1.1.0" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.0.0", - "kerberos": "^1.0.0 || ^2.0.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - } - } - }, "node_modules/mpath": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", @@ -8759,9 +8718,9 @@ } }, "node_modules/mysql2": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.2.tgz", - "integrity": "sha512-m5erE6bMoWfPXW1D5UrVwlT8PowAoSX69KcZzPuARQ3wY1RJ52NW9PdvdPo076XiSIkQ5IBTis7hxdlrQTlyug==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.6.5.tgz", + "integrity": "sha512-pS/KqIb0xlXmtmqEuTvBXTmLoQ5LmAz5NW/r8UyQ1ldvnprNEj3P9GbmuQQ2J0A4LO+ynotGi6TbscPa8OUb+w==", "dev": true, "dependencies": { "denque": "^2.1.0", @@ -9571,9 +9530,9 @@ "optional": true }, "node_modules/pg-connection-string": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.1.tgz", - "integrity": "sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", "dev": true }, "node_modules/pg-int8": { @@ -9616,12 +9575,6 @@ "node": ">=4" } }, - "node_modules/pg/node_modules/pg-connection-string": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", - "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", - "dev": true - }, "node_modules/pgpass": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", diff --git a/tests/unit/configurer/DatabaseConfigurerTest.ts b/tests/unit/configurer/DatabaseConfigurerTest.ts index 9886215..228551a 100644 --- a/tests/unit/configurer/DatabaseConfigurerTest.ts +++ b/tests/unit/configurer/DatabaseConfigurerTest.ts @@ -52,7 +52,7 @@ export default class DatabaseConfigurerTest { assert.isTrue(await File.exists(Path.pwd('config/database.ts'))) assert.deepEqual( dockerComposeFile, - 'version: "3"\n\nservices:\n mysql:\n container_name: athenna_mysql\n image: mysql\n ports:\n - "3306:3306"\n environment:\n MYSQL_DATABASE: athenna\n MYSQL_ROOT_PASSWORD: root\n MYSQL_ALLOW_EMPTY_PASSWORD: \'yes\'\n' + "version: '3'\n\nservices:\n mysql:\n container_name: athenna_mysql\n image: mysql\n ports:\n - '3306:3306'\n environment:\n MYSQL_DATABASE: athenna\n MYSQL_ROOT_PASSWORD: root\n MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'\n" ) assert.deepEqual( envFile, @@ -116,7 +116,7 @@ export default class DatabaseConfigurerTest { assert.isTrue(await File.exists(Path.pwd('config/database.ts'))) assert.deepEqual( dockerComposeFile, - 'version: "3"\n\nservices:\n postgres:\n container_name: athenna_postgres\n image: postgres\n ports:\n - "5432:5432"\n environment:\n POSTGRES_DB: postgres\n POSTGRES_USER: postgres\n POSTGRES_PASSWORD: 12345\n POSTGRES_ROOT_PASSWORD: 12345\n' + "version: '3'\n\nservices:\n postgres:\n container_name: athenna_postgres\n image: postgres\n ports:\n - '5432:5432'\n environment:\n POSTGRES_DB: athenna\n POSTGRES_USER: root\n POSTGRES_PASSWORD: root\n POSTGRES_ROOT_PASSWORD: root\n" ) assert.deepEqual( envFile, @@ -182,7 +182,7 @@ export default class DatabaseConfigurerTest { assert.isTrue(await File.exists(Path.pwd('config/database.ts'))) assert.deepEqual( dockerComposeFile, - 'version: "3"\n\nservices:\n mongo:\n container_name: athenna_mongo\n image: mongo\n ports:\n - "27017:27017"\n environment:\n MONGO_INITDB_ROOT_USERNAME: root\n MONGO_INITDB_ROOT_PASSWORD: root\n' + "version: '3'\n\nservices:\n mongo:\n container_name: athenna_mongo\n image: mongo\n ports:\n - '27017:27017'\n environment:\n MONGO_INITDB_ROOT_USERNAME: root\n MONGO_INITDB_ROOT_PASSWORD: root\n" ) assert.deepEqual(envFile, `\nDB_CONNECTION=mongo\n` + 'DB_URL=mongodb://root:root@localhost:27017/athenna\n') } From 2f93302c55eca6a899ef653cca6f6b8745db6d97 Mon Sep 17 00:00:00 2001 From: jlenon7 Date: Sun, 10 Dec 2023 22:23:12 +0000 Subject: [PATCH 2/2] fix(make): set properties for name --- package-lock.json | 6 +++--- package.json | 2 +- src/commands/MakeMigrationCommand.ts | 16 ++++++++++++++-- templates/migration.edge | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index c366af9..9d8ebac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@athenna/database", - "version": "4.6.0", + "version": "4.6.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@athenna/database", - "version": "4.6.0", + "version": "4.6.1", "license": "MIT", "dependencies": { "@faker-js/faker": "^8.2.0", @@ -38,7 +38,7 @@ "husky": "^3.1.0", "lint-staged": "^12.5.0", "mongodb-memory-server": "^9.0.1", - "mongoose": "^7.6.7", + "mongoose": "^7.6.3", "mysql2": "^3.6.2", "pg": "^8.11.3", "prettier": "^2.8.7" diff --git a/package.json b/package.json index 3545014..c349c93 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/database", - "version": "4.6.0", + "version": "4.6.1", "description": "The Athenna database handler for SQL/NoSQL.", "license": "MIT", "author": "João Lenon ", diff --git a/src/commands/MakeMigrationCommand.ts b/src/commands/MakeMigrationCommand.ts index a74534b..2a7eb5c 100644 --- a/src/commands/MakeMigrationCommand.ts +++ b/src/commands/MakeMigrationCommand.ts @@ -30,7 +30,12 @@ export class MakeMigrationCommand extends BaseCommand { public async handle(): Promise { this.logger.simple('({bold,green} [ MAKING MIGRATION ])\n') + const nameUp = this.name.toUpperCase() + const nameCamel = String.toCamelCase(this.name) + const namePlural = String.pluralize(this.name) const namePascal = String.toPascalCase(this.name) + const namePluralCamel = String.toCamelCase(String.pluralize(this.name)) + const namePluralPascal = String.toPascalCase(String.pluralize(this.name)) this.tableName = String.pluralize( namePascal @@ -41,9 +46,16 @@ export class MakeMigrationCommand extends BaseCommand { const file = await this.generator .path(this.getFilePath()) - .properties({ nameTable: this.tableName }) + .properties({ + nameUp, + nameCamel, + namePlural, + namePascal, + namePluralCamel, + namePluralPascal, + tableName: this.tableName + }) .template('migration') - .setNameProperties(true) .make() this.logger.success( diff --git a/templates/migration.edge b/templates/migration.edge index 04607e7..f33b6c2 100644 --- a/templates/migration.edge +++ b/templates/migration.edge @@ -1,7 +1,7 @@ import { BaseMigration, type DatabaseImpl } from '@athenna/database' export class {{ namePascal }} extends BaseMigration { - public tableName = '{{ nameTable }}' + public tableName = '{{ tableName }}' public async up(db: DatabaseImpl) { return db.createTable(this.tableName, builder => {