Socket
Socket
Sign inDemoInstall

@btapai/genie

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@btapai/genie - npm Package Compare versions

Comparing version 0.0.5 to 0.1.0

app/blueprints/nodeclass.js

55

app/commands/generate.js

@@ -1,41 +0,26 @@

const fs = require('fs-extra');
const acquireBlueprints = require('./generate/acquire-blueprints');
const resolveBlueprint = require('./generate/resolve-blueprint');
const writeIntoFile = require('./generate/write-into-file');
const path = require('path');
const chalk = require('chalk');
const customSchematics = '';
function generate(schematicName, fileName, outputPath) {
const schematics = acquireSchematics(schematicName);
const resolvedName = schematics.resolver(fileName);
const jsTemplate = schematics[
`${schematicName.toUpperCase()}_SYNTAX`
].replace(/\[REPLACE\]/gm, resolvedName);
const testTemplate = schematics[
`${schematicName.toUpperCase()}_MOCHA_TEST_TEMPLATE`
]
.replace(/\[FILENAME\]/gm, fileName)
.replace(/\[REPLACE\]/gm, resolvedName);
fs.ensureDirSync(outputPath);
const filePath = path.join(outputPath, `${fileName}.js`);
const specFilePath = path.join(outputPath, `${fileName}.spec.js`);
fs.writeFileSync(filePath, jsTemplate);
console.log(chalk.green(`created file:`, chalk.bold(filePath)));
fs.writeFileSync(specFilePath, testTemplate);
console.log(chalk.green(`created file:`, chalk.bold(specFilePath)));
}
function generate(configuration, blueprintName, fileName, outputPath) {
const blueprint = acquireBlueprints(blueprintName);
const { mainFile, mainTemplate, testFile, testTemplate } = resolveBlueprint(
blueprint,
blueprintName,
fileName
);
const mainOutputPath = path.join(
configuration.generationPaths.app,
outputPath
);
const testOutputPath = path.join(
configuration.generationPaths.test,
outputPath
);
function acquireSchematics(schematicName) {
let schematics;
try {
if (customSchematics) {
console.log('try to get custom schematics');
} else {
schematics = require(`../templates/${schematicName}`);
}
} catch (e) {
throw new Error(`Could not find schematics for '${schematicName}'`);
}
return schematics;
writeIntoFile(mainOutputPath, mainFile, mainTemplate);
writeIntoFile(testOutputPath, testFile, testTemplate);
}
module.exports = generate;

@@ -7,4 +7,5 @@ function help(command) {

}
process.exit(0);
}
module.exports = help;

@@ -1,10 +0,27 @@

const defaultConfig = {
parallelFiles: true,
assertLib: 'mocha',
};
const path = require('path');
const fs = require('fs-extra');
const defaultConfig = require('../configuration/default.config');
function getConfig(config) {
return defaultConfig;
function getExternalConfig(configPath) {
let externalConfig = {};
try {
externalConfig = fs.readJsonSync(path.join(configPath, '.genierc'));
} catch (e) {
if (e.code !== 'ENOENT') {
throw e;
}
}
return externalConfig;
}
function getConfig(configPath) {
const externalConfig = getExternalConfig(configPath);
const configuration = {
...defaultConfig,
...externalConfig,
};
return configuration;
}
module.exports = getConfig;

@@ -1,19 +0,5 @@

const generate = require('./app/commands/generate');
const help = require('./app/commands/help');
const path = require('path');
const genie = require('./app/genie');
const commands = process.argv.slice(2);
try {
const [command, schematics, fileName, relativePath] = commands;
const outputPath = path.join(process.cwd(), relativePath);
if (command === 'generate') {
generate(schematics, fileName, outputPath);
} else {
help();
}
process.exit(0);
} catch (e) {
console.error(e);
process.exit(1);
}
genie(commands);
{
"name": "@btapai/genie",
"version": "0.0.5",
"version": "0.1.0",
"description": "A small, configurable command-line tool for developers, to generate resources based on their preferences",

@@ -10,3 +10,5 @@ "main": "index.js",

"scripts": {
"test": "mocha \"app/**/*.spec.js\"",
"test": "npm run test:unit && npm run test:functional",
"test:unit": "nyc --reporter=html --report-dir=coverage/unit mocha \"app/**/*.spec.js\"",
"test:functional": "nyc --reporter=html --report-dir=coverage/functional mocha \"test/functional/**/*.functional-spec.js\"",
"lint": "eslint ./**/*.js",

@@ -41,2 +43,3 @@ "lint:fix": "eslint ./**/*.js --fix"

"mock-fs": "^4.7.0",
"nyc": "^13.1.0",
"prettier": "^1.15.3",

@@ -43,0 +46,0 @@ "sinon": "^7.2.2"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc