Skip to content

Commit

Permalink
fix: project deps / tests / lint
Browse files Browse the repository at this point in the history
  • Loading branch information
sendilkumarn committed Oct 2, 2021
1 parent f773148 commit 1393655
Show file tree
Hide file tree
Showing 29 changed files with 23,522 additions and 654 deletions.
52 changes: 42 additions & 10 deletions .eslintrc.json
@@ -1,9 +1,30 @@
{
"env": {
"node": true,
"es6": true
"es2020": true
},
"extends": ["airbnb-base", "plugin:prettier/recommended"],
"plugins": ["mocha", "prettier", "chai-friendly"],
"settings": {
"import/core-modules": ["generator-jhipster", "generator-jhipster/support"]
},
"overrides": [
{
"files": ["**/*.mjs"],
"parserOptions": {
"ecmaVersion": 11
},
"rules": {
"import/extensions": [0, { "pattern": { "{c,m,}js": "always" } }]
}
},
{
"files": ["**/*.spec.{c,m,}js", "test/**/*.{c,m,}js"],
"env": {
"mocha": true
}
}
],
"rules": {
"prettier/prettier": "error",
"linebreak-style": 0,
Expand All @@ -23,17 +44,28 @@
"class-methods-use-this": "off",
"no-underscore-dangle": "off",
"no-plusplus": "off",
"no-unused-expressions": [2, { "allowShortCircuit": true, "allowTernary": true }],
"no-unused-expressions": 0,
"chai-friendly/no-unused-expressions": [2, { "allowShortCircuit": true, "allowTernary": true }],
"prefer-destructuring": "off",
"consistent-return": "off",
"no-multi-assign": "off",
"no-param-reassign": "off",
"import/no-extraneous-dependencies": ["error", { "devDependencies": true }],
"no-await-in-loop": "off",
"no-restricted-syntax": [
"error",
{
"selector": "ForInStatement",
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
},
{
"selector": "LabeledStatement",
"message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
},
{
"selector": "WithStatement",
"message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
}
],
"no-shadow": "off"
},
"overrides": [
{
"files": ["test/**/*.js"],
"env": { "mocha": true }
}
]
}
}
10 changes: 10 additions & 0 deletions .mocharc.js
@@ -0,0 +1,10 @@
module.exports = {
recursive: true,
reporter: 'spec',
slow: 0,
timeout: 30000,
ui: 'bdd',
extension: ['js'],
require: 'mocha-expect-snapshot',
parallel: true,
};
2 changes: 1 addition & 1 deletion cli/khipster.js
Expand Up @@ -87,6 +87,6 @@ function requireCLI(preferLocal) {
}
// load global version
logger.info('Using JHipster version installed globally');
require('generator-jhipster/cli/cli.js');
require('generator-jhipster/cli/cli');
/* eslint-enable */
}
5 changes: 2 additions & 3 deletions generators/entity-server/esm.mjs
Expand Up @@ -16,7 +16,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import generator from './index.js';
import generator from './index.js';

export default generator;

export default generator;
114 changes: 57 additions & 57 deletions generators/entity-server/files-couchbase.js
Expand Up @@ -16,63 +16,63 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const constants = require('generator-jhipster/generators/generator-constants');
const constants = require('generator-jhipster/generators/generator-constants');

const SERVER_MAIN_SRC_DIR = `${constants.MAIN_DIR}kotlin/`;

const entityCouchbaseFiles = {
dbChangelog: [
{
condition: generator => generator.searchEngineCouchbase && !generator.skipDbChangelog,
path: constants.SERVER_MAIN_RES_DIR,
templates: [
{
file: 'config/couchmove/changelog/entity.fts',
renameTo: generator => `config/couchmove/changelog/V${generator.changelogDate}__${generator.entityInstance.toLowerCase()}.fts`,
},
],
},
],
server: [
{
path: SERVER_MAIN_SRC_DIR,
templates: [
{
file: 'package/domain/Entity.java.jhi.spring_data_couchbase',
renameTo: generator => `${generator.packageFolder}/domain/${generator.persistClass}.java.jhi.spring_data_couchbase`,
useBluePrint: true,
},
],
},
{
condition: generator => !generator.embedded,
path: SERVER_MAIN_SRC_DIR,
templates: [
{
file: 'package/repository/EntityRepository.java',
renameTo: generator => `${generator.packageFolder}/repository/${generator.entityClass}Repository.java`,
useBluePrint: true,
},
],
},
],
};
function writeEntityCouchbaseFiles() {
return {
async writeEntityCouchbaseFiles() {
if (this.skipServer || !this.databaseType === 'couchbase') return;

await this.writeFiles({
sections: entityCouchbaseFiles,
rootTemplatesPath: 'couchbase',
});
},
};
}
module.exports = {
writeEntityCouchbaseFiles,
entityCouchbaseFiles,
};
const entityCouchbaseFiles = {
dbChangelog: [
{
condition: generator => generator.searchEngineCouchbase && !generator.skipDbChangelog,
path: constants.SERVER_MAIN_RES_DIR,
templates: [
{
file: 'config/couchmove/changelog/entity.fts',
renameTo: generator =>
`config/couchmove/changelog/V${generator.changelogDate}__${generator.entityInstance.toLowerCase()}.fts`,
},
],
},
],
server: [
{
path: SERVER_MAIN_SRC_DIR,
templates: [
{
file: 'package/domain/Entity.kt.jhi.spring_data_couchbase',
renameTo: generator => `${generator.packageFolder}/domain/${generator.persistClass}.kt.jhi.spring_data_couchbase`,
useBluePrint: true,
},
],
},
{
condition: generator => !generator.embedded,
path: SERVER_MAIN_SRC_DIR,
templates: [
{
file: 'package/repository/EntityRepository.kt',
renameTo: generator => `${generator.packageFolder}/repository/${generator.entityClass}Repository.kt`,
useBluePrint: true,
},
],
},
],
};

function writeEntityCouchbaseFiles() {
return {
async writeEntityCouchbaseFiles() {
if (this.skipServer || !this.databaseTypeCouchbase) return;

await this.writeFiles({
sections: entityCouchbaseFiles,
rootTemplatesPath: 'couchbase',
});
},
};
}

module.exports = {
writeEntityCouchbaseFiles,
entityCouchbaseFiles,
};
2 changes: 1 addition & 1 deletion generators/entity-server/files.js
Expand Up @@ -353,7 +353,7 @@ module.exports = {
function writeFiles() {
return {
writeServerFiles() {
if (this.skipServer) return;
if (this.skipServer) return undefined;

// write server side files
// writeFilesToDisk(serverFiles, this, false, this.fetchFromInstalledJHipster('entity-server/templates'));
Expand Down
63 changes: 33 additions & 30 deletions generators/entity-server/generator.spec.mjs
Expand Up @@ -16,33 +16,36 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import expect from 'expect';
import lodash from 'lodash';
import { basename, dirname } from 'path';
import { fileURLToPath } from 'url';

import testSupport from '../../test/support/index.cjs';
import Generator from './index.js';

const { snakeCase } = lodash;
const { testBlueprintSupport } = testSupport;

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const generator = basename(__dirname);

describe(`JHipster ${generator} generator`, () => {
it('generator-list constant matches folder name', async () => {
await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
});
it('should be exported at package.json', async () => {
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
});
it('should support features parameter', () => {
const instance = new Generator([], { help: true }, { bar: true });
expect(instance.features.bar).toBe(true);
});
describe('blueprint support', () => testBlueprintSupport(generator));
});

import expect from 'expect';
import lodash from 'lodash';
import { basename, dirname } from 'path';
import { fileURLToPath } from 'url';

// import testSupport from '../../test/support/index.cjs';
import Generator from './index.js';

const { snakeCase } = lodash;
// const { testBlueprintSupport } = testSupport;

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const generator = basename(__dirname);

describe(`JHipster ${generator} generator`, () => {
it('generator-list constant matches folder name', async () => {
await expect(
(
await import('generator-jhipster/generators/generator-list.js')
).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]
).toBe(generator);
});
it('should be exported at package.json', async () => {
await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
});
it('should support features parameter', () => {
const instance = new Generator([], { help: true }, { bar: true });
expect(instance.features.bar).toBe(true);
});
// describe('blueprint support', () => testBlueprintSupport(generator));
});
Expand Up @@ -30,9 +30,9 @@ enum class <%= enumName %><%if (!withoutCustomValues) { %>(val <%= enumName %>:
<%= enumValues.map(enumValue => `${enumValue.comment && `\n${enumValue.comment}\n` || ''} ${enumValue.name}`).join(', ') %>
<%_ } else {
enumValues.forEach((enumWithCustomValue, index) => { _%>
if (enumWithCustomValue.comment){ _%>
<%_ if (enumWithCustomValue.comment){ _%>
<%= enumWithCustomValue.comment %>
<%_ }
<%= enumWithCustomValue.name %>("<%= enumWithCustomValue.value %>")<% if (index < enumValues.length - 1) { %>,<% } else { %><% } %>
<%_ } _%>
<%= enumWithCustomValue.name %>("<%= enumWithCustomValue.value %>")<% if (index < enumValues.length - 1) { %>,<% } %>
<%_ }); }_%>
}

0 comments on commit 1393655

Please sign in to comment.