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