@react-foundry/plop-pack 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +42 -0
  3. package/package.json +38 -0
  4. package/skel/app/.dockerignore +9 -0
  5. package/skel/app/Dockerfile +32 -0
  6. package/skel/app/Makefile.hbs +87 -0
  7. package/skel/app/README.md.hbs +91 -0
  8. package/skel/app/aws-lambda-entry.js +3 -0
  9. package/skel/app/cypress.config.mjs +6 -0
  10. package/skel/app/feat/home.spec.js +5 -0
  11. package/skel/app/gitignore +10 -0
  12. package/skel/app/jest.config.cjs +15 -0
  13. package/skel/app/lambda.Dockerfile +23 -0
  14. package/skel/app/package.json.hbs +61 -0
  15. package/skel/app/plopfile.mjs +5 -0
  16. package/skel/app/public/favicon.ico +0 -0
  17. package/skel/app/react-router.config.ts +13 -0
  18. package/skel/app/src/app/app.scss +0 -0
  19. package/skel/app/src/app/config.ts.hbs +1 -0
  20. package/skel/app/src/app/entry.client.tsx +17 -0
  21. package/skel/app/src/app/entry.server.tsx +85 -0
  22. package/skel/app/src/app/root.tsx +141 -0
  23. package/skel/app/src/app/routes/_index.tsx +23 -0
  24. package/skel/app/src/app/routes.ts +6 -0
  25. package/skel/app/src/server/config.ts +59 -0
  26. package/skel/app/src/server/dev.ts +13 -0
  27. package/skel/app/src/server/httpd.ts +49 -0
  28. package/skel/app/src/server/index.ts +33 -0
  29. package/skel/app/src/server/server-build.d.ts +14 -0
  30. package/skel/app/test.Dockerfile +18 -0
  31. package/skel/app/tsconfig.json +19 -0
  32. package/skel/app/vite.config.server.ts +24 -0
  33. package/skel/app/vite.config.ts +20 -0
  34. package/skel/component/README.md.hbs +66 -0
  35. package/skel/component/assets/Component.scss.hbs +9 -0
  36. package/skel/component/gitignore +5 -0
  37. package/skel/component/jest.config.js.hbs +15 -0
  38. package/skel/component/package.json.hbs +72 -0
  39. package/skel/component/spec/Component.mdx.hbs +19 -0
  40. package/skel/component/spec/Component.stories.tsx.hbs +22 -0
  41. package/skel/component/spec/Component.ts.hbs +28 -0
  42. package/skel/component/src/Component.tsx.hbs +32 -0
  43. package/skel/component/tsconfig.json +14 -0
  44. package/skel/lib/README.md.hbs +51 -0
  45. package/skel/lib/gitignore +5 -0
  46. package/skel/lib/jest.config.js.hbs +15 -0
  47. package/skel/lib/package.json.hbs +44 -0
  48. package/skel/lib/src/index.ts.hbs +6 -0
  49. package/skel/lib/tsconfig.json +14 -0
  50. package/src/action-paths.js +39 -0
  51. package/src/actions/copy.js +27 -0
  52. package/src/actions/merge.js +26 -0
  53. package/src/actions/message.js +3 -0
  54. package/src/actions/shell.js +21 -0
  55. package/src/actions/symlink.js +42 -0
  56. package/src/actions/write.js +20 -0
  57. package/src/extend-generator.js +38 -0
  58. package/src/generators/app.js +140 -0
  59. package/src/generators/component.js +73 -0
  60. package/src/generators/lib.js +54 -0
  61. package/src/helpers/eq.js +3 -0
  62. package/src/helpers/md-title.js +6 -0
  63. package/src/index.js +38 -0
  64. package/src/rel-to-skel.js +9 -0
  65. package/src/relative-path.js +5 -0
  66. package/src/run-plop.js +24 -0
@@ -0,0 +1,6 @@
1
+ const mdTitle = function(options) {
2
+ const t = options.fn(this);
3
+ return `${t}\n${t.replace(/./g, '=')}`;
4
+ };
5
+
6
+ export default mdTitle;
package/src/index.js ADDED
@@ -0,0 +1,38 @@
1
+ import plopActionCopy from './actions/copy.js';
2
+ import plopActionMerge from './actions/merge.js';
3
+ import plopActionMessage from './actions/message.js';
4
+ import plopActionShell from './actions/shell.js';
5
+ import plopActionSymlink from './actions/symlink.js';
6
+ import plopActionWrite from './actions/write.js';
7
+
8
+ import plopGeneratorApplication from './generators/app.js';
9
+ import plopGeneratorComponent from './generators/component.js';
10
+ import plopGeneratorLibrary from './generators/lib.js';
11
+
12
+ import handlebarsHelperEq from './helpers/eq.js';
13
+ import handlebarsHelperMdTitle from './helpers/md-title.js';
14
+
15
+ const plopFunction = async (plop) => {
16
+ plop.setActionType('copy', plopActionCopy);
17
+ plop.setActionType('merge', plopActionMerge);
18
+ plop.setActionType('message', plopActionMessage);
19
+ plop.setActionType('shell', plopActionShell);
20
+ plop.setActionType('symlink', plopActionSymlink);
21
+ plop.setActionType('write', plopActionWrite);
22
+
23
+ plop.setGenerator('app', plopGeneratorApplication);
24
+ plop.setGenerator('component', plopGeneratorComponent);
25
+ plop.setGenerator('lib', plopGeneratorLibrary);
26
+
27
+ plop.setHelper('eq', handlebarsHelperEq);
28
+ plop.setHelper('mdTitle', handlebarsHelperMdTitle);
29
+
30
+ plop.setDefaultInclude({ actionTypes: true, generators: true, helpers: true });
31
+ };
32
+
33
+ export default plopFunction;
34
+
35
+ export { actionPaths } from './action-paths.js';
36
+ export { extendGenerator } from './extend-generator.js';
37
+ export { relativePath } from './relative-path.js';
38
+ export { runPlop } from './run-plop.js';
@@ -0,0 +1,9 @@
1
+ import { relativePath } from './relative-path.js';
2
+ import { fileURLToPath } from 'node:url';
3
+ import path from 'node:path';
4
+
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+
7
+ export const relToSkel = dir => relativePath(__dirname, '..', 'skel', dir);
8
+
9
+ export default relToSkel;
@@ -0,0 +1,5 @@
1
+ import { resolve } from 'node:path';
2
+
3
+ export const relativePath = (...baseDir) => (...path) => resolve(...baseDir, ...path);
4
+
5
+ export default relativePath;
@@ -0,0 +1,24 @@
1
+ import minimist from 'minimist';
2
+ import { Plop, run } from 'plop';
3
+
4
+ const args = process.argv.slice(2);
5
+ const argv = minimist(args);
6
+
7
+ export const runPlop = (plopfilePath) => Plop.prepare(
8
+ {
9
+ cwd: argv.cwd,
10
+ configPath: plopfilePath,
11
+ require: argv.require,
12
+ completion: argv.completion
13
+ },
14
+ env => {
15
+ const options = {
16
+ ...env,
17
+ dest: process.cwd()
18
+ };
19
+
20
+ return Plop.execute(options, run);
21
+ }
22
+ );
23
+
24
+ export default runPlop;