diff --git a/frontend/packages/plugins/_template/cookiecutter.json b/frontend/packages/plugins/_template/cookiecutter.json new file mode 100644 index 0000000000..01c5830400 --- /dev/null +++ b/frontend/packages/plugins/_template/cookiecutter.json @@ -0,0 +1,3 @@ +{ + "plugin_name": "Complexity" +} diff --git a/frontend/packages/plugins/_template/hooks/pre_gen_project.py b/frontend/packages/plugins/_template/hooks/pre_gen_project.py new file mode 100644 index 0000000000..04f63eb219 --- /dev/null +++ b/frontend/packages/plugins/_template/hooks/pre_gen_project.py @@ -0,0 +1,14 @@ +import re +import sys + + +def validate(name, regex, error_message): + if not re.match(regex, name): + print(error_message % name) + + # exits with status 1 to indicate failure + sys.exit(1) + + +validate('{{ cookiecutter.plugin_name }}', + r'^[a-z-]+$', 'ERROR: %s is not a valid plugin name! Only lowercase letters and hyphens are valid (Examples: my-amazing-plugin, myamazingplugin).') diff --git a/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/README.md b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/README.md new file mode 100644 index 0000000000..9e15988df6 --- /dev/null +++ b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/README.md @@ -0,0 +1 @@ +{{cookiecutter.plugin_name}} diff --git a/frontend/packages/plugins/_template/jest.config.js b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/jest.config.js similarity index 100% rename from frontend/packages/plugins/_template/jest.config.js rename to frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/jest.config.js diff --git a/frontend/packages/plugins/_template/jest.setup.ts b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/jest.setup.ts similarity index 100% rename from frontend/packages/plugins/_template/jest.setup.ts rename to frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/jest.setup.ts diff --git a/frontend/packages/plugins/_template/package.json b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/package.json similarity index 100% rename from frontend/packages/plugins/_template/package.json rename to frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/package.json diff --git a/frontend/packages/plugins/_template/src/index.ts b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/src/index.ts similarity index 100% rename from frontend/packages/plugins/_template/src/index.ts rename to frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/src/index.ts diff --git a/frontend/packages/plugins/_template/src/plugin.test.ts b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/src/plugin.test.ts similarity index 100% rename from frontend/packages/plugins/_template/src/plugin.test.ts rename to frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/src/plugin.test.ts diff --git a/frontend/packages/plugins/_template/src/plugin.ts b/frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/src/plugin.ts similarity index 100% rename from frontend/packages/plugins/_template/src/plugin.ts rename to frontend/packages/plugins/_template/{{ cookiecutter.plugin_name }}/src/plugin.ts diff --git a/tools/cookiecutter/Dockerfile b/tools/cookiecutter/Dockerfile new file mode 100644 index 0000000000..f9a1629247 --- /dev/null +++ b/tools/cookiecutter/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.8-slim + +RUN pip install cookiecutter==1.7.0 --index-url https://pypi.python.org/simple + +ENTRYPOINT [ "cookiecutter" ] \ No newline at end of file