5 changed files with 165 additions and 158 deletions
@ -0,0 +1,133 @@ |
|||||
|
console.log('Not in use.'); |
||||
|
|
||||
|
// import path from 'path';
|
||||
|
// import Generator from "yeoman-generator";
|
||||
|
// import mkdirp from "mkdirp";
|
||||
|
// import {fileURLToPath} from 'url';
|
||||
|
// import {capitalize} from "../../helpers.js";
|
||||
|
// import {createTechnicalFiles, defaultGitRepo} from "../../create-block.js";
|
||||
|
//
|
||||
|
// const __filename = fileURLToPath(import.meta.url);
|
||||
|
// const __dirname = path.dirname(__filename);
|
||||
|
//
|
||||
|
// const baseDir = path.join(__dirname, '../../');
|
||||
|
//
|
||||
|
// export default class extends Generator {
|
||||
|
// async prompting() {
|
||||
|
// this.data = await this.prompt([
|
||||
|
// {
|
||||
|
// type: "input",
|
||||
|
// name: "name",
|
||||
|
// message: "Block Name",
|
||||
|
// validate: (str) => {
|
||||
|
// const matches = str.match(/\d+/g);
|
||||
|
//
|
||||
|
// if (matches != null) {
|
||||
|
// return false;
|
||||
|
// }
|
||||
|
//
|
||||
|
// return !!str;
|
||||
|
// }
|
||||
|
// },
|
||||
|
// {
|
||||
|
// type: "input",
|
||||
|
// name: "group",
|
||||
|
// message: "Company/Organization Name",
|
||||
|
// validate: (str) => {
|
||||
|
// const matches = str.match(/\d+/g);
|
||||
|
//
|
||||
|
// if (matches != null) {
|
||||
|
// return false;
|
||||
|
// }
|
||||
|
//
|
||||
|
// return !!str;
|
||||
|
// }
|
||||
|
// },
|
||||
|
// {
|
||||
|
// type: "list",
|
||||
|
// name: "baseView",
|
||||
|
// message: "View Template",
|
||||
|
// default: 'container',
|
||||
|
// choices: ['container', 'alignfull'],
|
||||
|
// },
|
||||
|
// {
|
||||
|
// type: "number",
|
||||
|
// name: "remToPx",
|
||||
|
// message: "Provide declaration of 1rem:",
|
||||
|
// default: 16
|
||||
|
// },
|
||||
|
// {
|
||||
|
// type: 'input',
|
||||
|
// name: 'devToolSource',
|
||||
|
// message: 'DevTool Version/Source (master)',
|
||||
|
// default: defaultGitRepo
|
||||
|
// }
|
||||
|
// ]);
|
||||
|
// }
|
||||
|
//
|
||||
|
// writing() {
|
||||
|
// const title = capitalize(this.data.name);
|
||||
|
// const group = capitalize(this.data.group);
|
||||
|
// const data = Object.assign(this.data, {
|
||||
|
// title,
|
||||
|
// version: '1.0.0',
|
||||
|
// blockFilename: title.toLowerCase().replace(/ /ig, '-'),
|
||||
|
// blockGroupName: group.toLowerCase().replace(/ /ig, '-'),
|
||||
|
// blockClassName: title.toLowerCase().replace(/ /ig, '_'),
|
||||
|
// });
|
||||
|
//
|
||||
|
// const pathDist = path.join(baseDir, 'blocks', data.blockFilename);
|
||||
|
//
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('config/default.cjs'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'config', 'default.cjs')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
//
|
||||
|
// // SRC Template files
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('src/template.template.hbs'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'src', data.blockFilename + '.template.hbs')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('src/styles/template.scss'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'src', 'styles', data.blockFilename + '.scss')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('src/scripts/template.js'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'src', 'scripts', data.blockFilename + '.js')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('src/images/demo.jpeg'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'src', 'images', 'demo.jpeg')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
// // Design Directory
|
||||
|
// mkdirp.sync(path.join(pathDist, 'design'));
|
||||
|
//
|
||||
|
// // Data Files
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('data/default.json'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'data', 'default.json')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
// this.fs.copyTpl(
|
||||
|
// this.templatePath('data/advanced.json'),
|
||||
|
// this.destinationPath(path.join(pathDist, 'data', 'advanced.json')),
|
||||
|
// data
|
||||
|
// );
|
||||
|
//
|
||||
|
// // Technical Project files.
|
||||
|
// createTechnicalFiles(data, baseDir, `blocks/${data.name}`).then();
|
||||
|
// }
|
||||
|
// }
|
||||
|
//
|
||||
@ -1,152 +0,0 @@ |
|||||
import path from 'path'; |
|
||||
import Generator from "yeoman-generator"; |
|
||||
import mkdirp from "mkdirp"; |
|
||||
import {fileURLToPath} from 'url'; |
|
||||
import {capitalize} from "../../helpers.js"; |
|
||||
import memFs from 'mem-fs'; |
|
||||
import editor from 'mem-fs-editor'; |
|
||||
|
|
||||
const __filename = fileURLToPath(import.meta.url); |
|
||||
const __dirname = path.dirname(__filename); |
|
||||
|
|
||||
const baseDir = path.join(__dirname, '../../'); |
|
||||
|
|
||||
export const defaultGitRepo = 'git+https://git.devdevdev.life/axe-web-public/create-block.git#master'; |
|
||||
|
|
||||
export default class extends Generator { |
|
||||
async prompting() { |
|
||||
this.data = await this.prompt([ |
|
||||
{ |
|
||||
type: "input", |
|
||||
name: "name", |
|
||||
message: "Block Name", |
|
||||
validate: (str) => { |
|
||||
const matches = str.match(/\d+/g); |
|
||||
|
|
||||
if (matches != null) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
return !!str; |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
type: "input", |
|
||||
name: "group", |
|
||||
message: "Company/Organization Name", |
|
||||
validate: (str) => { |
|
||||
const matches = str.match(/\d+/g); |
|
||||
|
|
||||
if (matches != null) { |
|
||||
return false; |
|
||||
} |
|
||||
|
|
||||
return !!str; |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
type: "list", |
|
||||
name: "baseView", |
|
||||
message: "View Template", |
|
||||
default: 'container', |
|
||||
choices: ['container', 'alignfull'], |
|
||||
}, |
|
||||
{ |
|
||||
type: "number", |
|
||||
name: "remToPx", |
|
||||
message: "Provide declaration of 1rem:", |
|
||||
default: 16 |
|
||||
}, |
|
||||
{ |
|
||||
type: 'input', |
|
||||
name: 'devToolSource', |
|
||||
message: 'DevTool Version/Source (master)', |
|
||||
default: defaultGitRepo |
|
||||
} |
|
||||
]); |
|
||||
} |
|
||||
|
|
||||
writing() { |
|
||||
const title = capitalize(this.data.name); |
|
||||
const group = capitalize(this.data.group); |
|
||||
const data = Object.assign(this.data, { |
|
||||
title, |
|
||||
version: '1.0.0', |
|
||||
blockFilename: title.toLowerCase().replace(/ /ig, '-'), |
|
||||
blockGroupName: group.toLowerCase().replace(/ /ig, '-'), |
|
||||
blockClassName: title.toLowerCase().replace(/ /ig, '_'), |
|
||||
}); |
|
||||
|
|
||||
const pathDist = path.join(baseDir, 'blocks', data.blockFilename); |
|
||||
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('config/default.cjs'), |
|
||||
this.destinationPath(path.join(pathDist, 'config', 'default.cjs')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
|
|
||||
// SRC Template files
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('src/template.template.hbs'), |
|
||||
this.destinationPath(path.join(pathDist, 'src', data.blockFilename + '.template.hbs')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('src/styles/template.scss'), |
|
||||
this.destinationPath(path.join(pathDist, 'src', 'styles', data.blockFilename + '.scss')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('src/scripts/template.js'), |
|
||||
this.destinationPath(path.join(pathDist, 'src', 'scripts', data.blockFilename + '.js')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('src/images/demo.jpeg'), |
|
||||
this.destinationPath(path.join(pathDist, 'src', 'images', 'demo.jpeg')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
// Design Directory
|
|
||||
mkdirp.sync(path.join(pathDist, 'design')); |
|
||||
|
|
||||
// Data Files
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('data/default.json'), |
|
||||
this.destinationPath(path.join(pathDist, 'data', 'default.json')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
this.fs.copyTpl( |
|
||||
this.templatePath('data/advanced.json'), |
|
||||
this.destinationPath(path.join(pathDist, 'data', 'advanced.json')), |
|
||||
data |
|
||||
); |
|
||||
|
|
||||
// Technical Project files.
|
|
||||
createTechnicalFiles(data, baseDir, `blocks/${data.name}`).then(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
export async function createTechnicalFiles(data, baseDir, distPath) { |
|
||||
const pathDist = distPath; //path.join(baseDir, distPath);
|
|
||||
const generatorsPath = path.join(baseDir, 'generators/block/templates'); |
|
||||
|
|
||||
const store = memFs.create(); |
|
||||
const filesystem = editor.create(store); |
|
||||
|
|
||||
const files = ['package.json', 'README.md', '.editorconfig', {from: 'gitignore', to: '.gitignore'}, 'block.json']; |
|
||||
|
|
||||
for (let file of files) { |
|
||||
const from = typeof file !== 'string' ? `${generatorsPath}/${file.from}` : `${generatorsPath}/${file}`; |
|
||||
const to = typeof file !== 'string' ? `${pathDist}/${file.to}` : `${pathDist}/${file}`; |
|
||||
|
|
||||
await filesystem.copyTplAsync(from, to, data); |
|
||||
} |
|
||||
|
|
||||
return filesystem.commit(); // Promise
|
|
||||
} |
|
||||
Loading…
Reference in new issue