@namics/blueprint

Create blueprints and use them in you project to create components, packages ...

Usage no npm install needed!

<script type="module">
  import namicsBlueprint from 'https://cdn.skypack.dev/@namics/blueprint';
</script>

README

Blueprint npm

Create blueprints and use them in you project to create components, packages ...

Install

npm i -D @namics/blueprint

Usage

.blueprintrc.js

module.exports = {
  'react-app': {
    title: 'Create a new react app',
    src: './demo/test-package/example-app.zip',
  },
};
interface IBlueprintrc {
  [key: string]: {
    title: string;
    src: string;
    overrideDestination?: () => string,
    additionalQuestions?: (answers: { inquirer.Answers }) => Promise<inquirer.Questions>,
    collectResult?: (answers: inquirer.Answers) => inquirer.Answers,
    getCustomReplacements?: (answers: inquirer.Answers) => string[][],
  }
}

example

API

import blueprint from '@namics/blueprint';

blueprint('react-app', {
  srcFilePath: path.resolve(process.cwd(), 'blueprints', 'example-app.zip'),
  targetPath: path.resolve(process.cwd(), 'packages'),
  oldName: 'example-app',
  newName: 'awesome-app',
  customReplacements: [['BEM-placeholder', 'a']],
});
  • srcFilePath: path to zip file
  • targetPath: path in which the new app/component/* should be created
  • oldName: old name is usually the filename
  • newName: the name of the app/component/*
  • customReplacements: define custom replacements forEach file data replacement

CLI

$ blueprint --value awesome-app --blueprint react-app --config .blueprintrc.js --destination packages

Options

-i, --interactive Use interactive command line user interface

-b, --blueprint The blueprint which should be used

-v, --value Name of the app/component/* which should be created

-d, --destination Destination path

-c, --config Path to config js file

License

MIT License