@maka/maka-cli 5.2.11 → 5.3.1
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.
- package/package.json +23 -35
- package/.claude/codebase-overview.md +0 -736
- package/.claude/mcp.json +0 -17
- package/.eslintrc.json +0 -29
- package/.github/workflows/npm-publish.yml +0 -35
- package/.mocharc.json +0 -3
- package/.vscode/mcp.json +0 -8
- package/CLAUDE.md +0 -239
- package/docs/MCP_SERVER.md +0 -396
- package/eslint.config.js +0 -19
- package/jest.config.js +0 -12
- package/test/integration/default.test.js +0 -84
- package/test/integration/fixtures/blaze/.maka/config.json +0 -30
- package/test/integration/fixtures/blaze/.tern-project +0 -17
- package/test/integration/fixtures/blaze/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/blaze/app/.meteor/.id +0 -7
- package/test/integration/fixtures/blaze/app/.meteor/packages +0 -21
- package/test/integration/fixtures/blaze/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/blaze/app/.meteor/release +0 -1
- package/test/integration/fixtures/blaze/app/.meteor/versions +0 -78
- package/test/integration/fixtures/blaze/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/client/body.html +0 -2
- package/test/integration/fixtures/blaze/app/client/head.html +0 -8
- package/test/integration/fixtures/blaze/app/client/main.js +0 -1
- package/test/integration/fixtures/blaze/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/imports/startup/client/index.js +0 -3
- package/test/integration/fixtures/blaze/app/imports/startup/client/routes.js +0 -25
- package/test/integration/fixtures/blaze/app/imports/startup/client/templates.js +0 -15
- package/test/integration/fixtures/blaze/app/imports/startup/lib/index.js +0 -1
- package/test/integration/fixtures/blaze/app/imports/startup/server/index.js +0 -1
- package/test/integration/fixtures/blaze/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/blaze/app/imports/ui/layouts/master-layout/master-layout.html +0 -3
- package/test/integration/fixtures/blaze/app/imports/ui/layouts/master-layout/master-layout.js +0 -29
- package/test/integration/fixtures/blaze/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/blaze/app/imports/ui/pages/home/home.html +0 -5
- package/test/integration/fixtures/blaze/app/imports/ui/pages/home/home.js +0 -53
- package/test/integration/fixtures/blaze/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/blaze/app/imports/ui/pages/not-found/not-found.html +0 -5
- package/test/integration/fixtures/blaze/app/imports/ui/pages/not-found/not-found.js +0 -53
- package/test/integration/fixtures/blaze/app/imports/ui/test-helpers.js +0 -25
- package/test/integration/fixtures/blaze/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/lib/main.js +0 -1
- package/test/integration/fixtures/blaze/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/blaze/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/app/server/main.js +0 -1
- package/test/integration/fixtures/blaze/bin/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/build/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/build/README +0 -4
- package/test/integration/fixtures/blaze/config/.gitkeep +0 -1
- package/test/integration/fixtures/blaze/config/development/env.sh +0 -9
- package/test/integration/fixtures/blaze/config/development/settings.json +0 -6
- package/test/integration/fixtures/blaze/config/production/env.sh +0 -9
- package/test/integration/fixtures/blaze/config/production/settings.json +0 -6
- package/test/integration/fixtures/blaze/config/staging/env.sh +0 -9
- package/test/integration/fixtures/blaze/config/staging/settings.json +0 -6
- package/test/integration/fixtures/react/.maka/config.json +0 -30
- package/test/integration/fixtures/react/.tern-project +0 -17
- package/test/integration/fixtures/react/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/react/app/.meteor/.id +0 -7
- package/test/integration/fixtures/react/app/.meteor/packages +0 -21
- package/test/integration/fixtures/react/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/react/app/.meteor/release +0 -1
- package/test/integration/fixtures/react/app/.meteor/versions +0 -78
- package/test/integration/fixtures/react/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/client/body.html +0 -3
- package/test/integration/fixtures/react/app/client/head.html +0 -8
- package/test/integration/fixtures/react/app/client/main.jsx +0 -1
- package/test/integration/fixtures/react/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/imports/startup/client/index.jsx +0 -12
- package/test/integration/fixtures/react/app/imports/startup/client/routes.jsx +0 -24
- package/test/integration/fixtures/react/app/imports/startup/client/templates.jsx +0 -21
- package/test/integration/fixtures/react/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/react/app/imports/startup/server/index.jsx +0 -1
- package/test/integration/fixtures/react/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/react/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -28
- package/test/integration/fixtures/react/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/react/app/imports/ui/pages/home/home.jsx +0 -29
- package/test/integration/fixtures/react/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/react/app/imports/ui/pages/not-found/not-found.jsx +0 -29
- package/test/integration/fixtures/react/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/react/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/react/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/react/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/react/app/server/main.jsx +0 -1
- package/test/integration/fixtures/react/bin/.gitkeep +0 -1
- package/test/integration/fixtures/react/build/.gitkeep +0 -1
- package/test/integration/fixtures/react/build/README +0 -4
- package/test/integration/fixtures/react/config/.gitkeep +0 -1
- package/test/integration/fixtures/react/config/development/env.sh +0 -9
- package/test/integration/fixtures/react/config/development/settings.json +0 -6
- package/test/integration/fixtures/react/config/production/env.sh +0 -9
- package/test/integration/fixtures/react/config/production/settings.json +0 -6
- package/test/integration/fixtures/react/config/staging/env.sh +0 -9
- package/test/integration/fixtures/react/config/staging/settings.json +0 -6
- package/test/integration/fixtures/react-apollo/.maka/config.json +0 -30
- package/test/integration/fixtures/react-apollo/.tern-project +0 -17
- package/test/integration/fixtures/react-apollo/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/react-apollo/app/.meteor/.id +0 -7
- package/test/integration/fixtures/react-apollo/app/.meteor/packages +0 -21
- package/test/integration/fixtures/react-apollo/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/react-apollo/app/.meteor/release +0 -1
- package/test/integration/fixtures/react-apollo/app/.meteor/versions +0 -78
- package/test/integration/fixtures/react-apollo/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/client/body.html +0 -3
- package/test/integration/fixtures/react-apollo/app/client/head.html +0 -8
- package/test/integration/fixtures/react-apollo/app/client/main.jsx +0 -1
- package/test/integration/fixtures/react-apollo/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/imports/startup/client/index.jsx +0 -20
- package/test/integration/fixtures/react-apollo/app/imports/startup/client/routes.jsx +0 -24
- package/test/integration/fixtures/react-apollo/app/imports/startup/client/templates.jsx +0 -21
- package/test/integration/fixtures/react-apollo/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/react-apollo/app/imports/startup/server/index.jsx +0 -25
- package/test/integration/fixtures/react-apollo/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/react-apollo/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -28
- package/test/integration/fixtures/react-apollo/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/react-apollo/app/imports/ui/pages/home/home.jsx +0 -34
- package/test/integration/fixtures/react-apollo/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/react-apollo/app/imports/ui/pages/not-found/not-found.jsx +0 -34
- package/test/integration/fixtures/react-apollo/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/react-apollo/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/react-apollo/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/react-apollo/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/app/server/main.jsx +0 -1
- package/test/integration/fixtures/react-apollo/bin/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/build/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/build/README +0 -4
- package/test/integration/fixtures/react-apollo/config/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo/config/development/env.sh +0 -9
- package/test/integration/fixtures/react-apollo/config/development/settings.json +0 -6
- package/test/integration/fixtures/react-apollo/config/production/env.sh +0 -9
- package/test/integration/fixtures/react-apollo/config/production/settings.json +0 -6
- package/test/integration/fixtures/react-apollo/config/staging/env.sh +0 -9
- package/test/integration/fixtures/react-apollo/config/staging/settings.json +0 -6
- package/test/integration/fixtures/react-apollo-ssr/.maka/config.json +0 -30
- package/test/integration/fixtures/react-apollo-ssr/.tern-project +0 -17
- package/test/integration/fixtures/react-apollo-ssr/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/react-apollo-ssr/app/.meteor/.id +0 -7
- package/test/integration/fixtures/react-apollo-ssr/app/.meteor/packages +0 -21
- package/test/integration/fixtures/react-apollo-ssr/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/react-apollo-ssr/app/.meteor/release +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/.meteor/versions +0 -78
- package/test/integration/fixtures/react-apollo-ssr/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/client/body.html +0 -3
- package/test/integration/fixtures/react-apollo-ssr/app/client/head.html +0 -8
- package/test/integration/fixtures/react-apollo-ssr/app/client/main.jsx +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/client/index.jsx +0 -29
- package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/lib/routes.jsx +0 -21
- package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/lib/templates.jsx +0 -21
- package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/server/index.jsx +0 -65
- package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -27
- package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/pages/home/home.jsx +0 -33
- package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -33
- package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/react-apollo-ssr/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/app/server/main.jsx +0 -1
- package/test/integration/fixtures/react-apollo-ssr/bin/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/build/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/build/README +0 -4
- package/test/integration/fixtures/react-apollo-ssr/config/.gitkeep +0 -1
- package/test/integration/fixtures/react-apollo-ssr/config/development/env.sh +0 -9
- package/test/integration/fixtures/react-apollo-ssr/config/development/settings.json +0 -6
- package/test/integration/fixtures/react-apollo-ssr/config/production/env.sh +0 -9
- package/test/integration/fixtures/react-apollo-ssr/config/production/settings.json +0 -6
- package/test/integration/fixtures/react-apollo-ssr/config/staging/env.sh +0 -9
- package/test/integration/fixtures/react-apollo-ssr/config/staging/settings.json +0 -6
- package/test/integration/fixtures/react-material/.maka/config.json +0 -30
- package/test/integration/fixtures/react-material/.tern-project +0 -17
- package/test/integration/fixtures/react-material/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/react-material/app/.meteor/.id +0 -7
- package/test/integration/fixtures/react-material/app/.meteor/packages +0 -21
- package/test/integration/fixtures/react-material/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/react-material/app/.meteor/release +0 -1
- package/test/integration/fixtures/react-material/app/.meteor/versions +0 -78
- package/test/integration/fixtures/react-material/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/client/body.html +0 -3
- package/test/integration/fixtures/react-material/app/client/head.html +0 -8
- package/test/integration/fixtures/react-material/app/client/main.jsx +0 -1
- package/test/integration/fixtures/react-material/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/imports/startup/client/index.jsx +0 -19
- package/test/integration/fixtures/react-material/app/imports/startup/client/routes.jsx +0 -24
- package/test/integration/fixtures/react-material/app/imports/startup/client/templates.jsx +0 -21
- package/test/integration/fixtures/react-material/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/react-material/app/imports/startup/server/index.jsx +0 -1
- package/test/integration/fixtures/react-material/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/react-material/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -28
- package/test/integration/fixtures/react-material/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/react-material/app/imports/ui/pages/home/home.jsx +0 -29
- package/test/integration/fixtures/react-material/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/react-material/app/imports/ui/pages/not-found/not-found.jsx +0 -29
- package/test/integration/fixtures/react-material/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/react-material/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/react-material/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/react-material/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/app/server/main.jsx +0 -1
- package/test/integration/fixtures/react-material/bin/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/build/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/build/README +0 -4
- package/test/integration/fixtures/react-material/config/.gitkeep +0 -1
- package/test/integration/fixtures/react-material/config/development/env.sh +0 -9
- package/test/integration/fixtures/react-material/config/development/settings.json +0 -6
- package/test/integration/fixtures/react-material/config/production/env.sh +0 -9
- package/test/integration/fixtures/react-material/config/production/settings.json +0 -6
- package/test/integration/fixtures/react-material/config/staging/env.sh +0 -9
- package/test/integration/fixtures/react-material/config/staging/settings.json +0 -6
- package/test/integration/fixtures/react-ssr/.maka/config.json +0 -30
- package/test/integration/fixtures/react-ssr/.tern-project +0 -17
- package/test/integration/fixtures/react-ssr/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/react-ssr/app/.meteor/.id +0 -7
- package/test/integration/fixtures/react-ssr/app/.meteor/packages +0 -21
- package/test/integration/fixtures/react-ssr/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/react-ssr/app/.meteor/release +0 -1
- package/test/integration/fixtures/react-ssr/app/.meteor/versions +0 -78
- package/test/integration/fixtures/react-ssr/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/client/body.html +0 -3
- package/test/integration/fixtures/react-ssr/app/client/head.html +0 -8
- package/test/integration/fixtures/react-ssr/app/client/main.jsx +0 -1
- package/test/integration/fixtures/react-ssr/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/imports/startup/client/index.jsx +0 -21
- package/test/integration/fixtures/react-ssr/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/react-ssr/app/imports/startup/lib/routes.jsx +0 -21
- package/test/integration/fixtures/react-ssr/app/imports/startup/lib/templates.jsx +0 -21
- package/test/integration/fixtures/react-ssr/app/imports/startup/server/index.jsx +0 -36
- package/test/integration/fixtures/react-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -27
- package/test/integration/fixtures/react-ssr/app/imports/ui/pages/home/home.jsx +0 -28
- package/test/integration/fixtures/react-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -28
- package/test/integration/fixtures/react-ssr/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/react-ssr/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/react-ssr/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/react-ssr/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/app/server/main.jsx +0 -1
- package/test/integration/fixtures/react-ssr/bin/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/build/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/build/README +0 -4
- package/test/integration/fixtures/react-ssr/config/.gitkeep +0 -1
- package/test/integration/fixtures/react-ssr/config/development/env.sh +0 -9
- package/test/integration/fixtures/react-ssr/config/development/settings.json +0 -6
- package/test/integration/fixtures/react-ssr/config/production/env.sh +0 -9
- package/test/integration/fixtures/react-ssr/config/production/settings.json +0 -6
- package/test/integration/fixtures/react-ssr/config/staging/env.sh +0 -9
- package/test/integration/fixtures/react-ssr/config/staging/settings.json +0 -6
- package/test/integration/fixtures/reflux/.maka/config.json +0 -30
- package/test/integration/fixtures/reflux/.tern-project +0 -17
- package/test/integration/fixtures/reflux/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/reflux/app/.meteor/.id +0 -7
- package/test/integration/fixtures/reflux/app/.meteor/packages +0 -21
- package/test/integration/fixtures/reflux/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/reflux/app/.meteor/release +0 -1
- package/test/integration/fixtures/reflux/app/.meteor/versions +0 -78
- package/test/integration/fixtures/reflux/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/client/body.html +0 -3
- package/test/integration/fixtures/reflux/app/client/head.html +0 -8
- package/test/integration/fixtures/reflux/app/client/main.jsx +0 -1
- package/test/integration/fixtures/reflux/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/imports/startup/client/index.jsx +0 -12
- package/test/integration/fixtures/reflux/app/imports/startup/client/routes.jsx +0 -24
- package/test/integration/fixtures/reflux/app/imports/startup/client/templates.jsx +0 -21
- package/test/integration/fixtures/reflux/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/reflux/app/imports/startup/server/index.jsx +0 -1
- package/test/integration/fixtures/reflux/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/reflux/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -31
- package/test/integration/fixtures/reflux/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/reflux/app/imports/ui/pages/home/home.jsx +0 -33
- package/test/integration/fixtures/reflux/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/reflux/app/imports/ui/pages/not-found/not-found.jsx +0 -33
- package/test/integration/fixtures/reflux/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/reflux/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/reflux/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/reflux/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/app/server/main.jsx +0 -1
- package/test/integration/fixtures/reflux/bin/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/build/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/build/README +0 -4
- package/test/integration/fixtures/reflux/config/.gitkeep +0 -1
- package/test/integration/fixtures/reflux/config/development/env.sh +0 -9
- package/test/integration/fixtures/reflux/config/development/settings.json +0 -6
- package/test/integration/fixtures/reflux/config/production/env.sh +0 -9
- package/test/integration/fixtures/reflux/config/production/settings.json +0 -6
- package/test/integration/fixtures/reflux/config/staging/env.sh +0 -9
- package/test/integration/fixtures/reflux/config/staging/settings.json +0 -6
- package/test/integration/fixtures/reflux-apollo/.maka/config.json +0 -30
- package/test/integration/fixtures/reflux-apollo/.tern-project +0 -17
- package/test/integration/fixtures/reflux-apollo/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/reflux-apollo/app/.meteor/.id +0 -7
- package/test/integration/fixtures/reflux-apollo/app/.meteor/packages +0 -21
- package/test/integration/fixtures/reflux-apollo/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/reflux-apollo/app/.meteor/release +0 -1
- package/test/integration/fixtures/reflux-apollo/app/.meteor/versions +0 -78
- package/test/integration/fixtures/reflux-apollo/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/client/body.html +0 -3
- package/test/integration/fixtures/reflux-apollo/app/client/head.html +0 -8
- package/test/integration/fixtures/reflux-apollo/app/client/main.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/imports/startup/client/index.jsx +0 -20
- package/test/integration/fixtures/reflux-apollo/app/imports/startup/client/routes.jsx +0 -24
- package/test/integration/fixtures/reflux-apollo/app/imports/startup/client/templates.jsx +0 -21
- package/test/integration/fixtures/reflux-apollo/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo/app/imports/startup/server/index.jsx +0 -25
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -31
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/home/home.jsx +0 -38
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/not-found/not-found.jsx +0 -38
- package/test/integration/fixtures/reflux-apollo/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/reflux-apollo/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/app/server/main.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo/bin/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/build/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/build/README +0 -4
- package/test/integration/fixtures/reflux-apollo/config/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo/config/development/env.sh +0 -9
- package/test/integration/fixtures/reflux-apollo/config/development/settings.json +0 -6
- package/test/integration/fixtures/reflux-apollo/config/production/env.sh +0 -9
- package/test/integration/fixtures/reflux-apollo/config/production/settings.json +0 -6
- package/test/integration/fixtures/reflux-apollo/config/staging/env.sh +0 -9
- package/test/integration/fixtures/reflux-apollo/config/staging/settings.json +0 -6
- package/test/integration/fixtures/reflux-apollo-ssr/.maka/config.json +0 -30
- package/test/integration/fixtures/reflux-apollo-ssr/.tern-project +0 -17
- package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/.id +0 -7
- package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/packages +0 -21
- package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/release +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/versions +0 -78
- package/test/integration/fixtures/reflux-apollo-ssr/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/client/body.html +0 -3
- package/test/integration/fixtures/reflux-apollo-ssr/app/client/head.html +0 -8
- package/test/integration/fixtures/reflux-apollo-ssr/app/client/main.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/client/index.jsx +0 -29
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/lib/routes.jsx +0 -21
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/lib/templates.jsx +0 -21
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/server/index.jsx +0 -65
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -27
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/pages/home/home.jsx +0 -33
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -33
- package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/reflux-apollo-ssr/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/app/server/main.jsx +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/bin/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/build/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/build/README +0 -4
- package/test/integration/fixtures/reflux-apollo-ssr/config/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-apollo-ssr/config/development/env.sh +0 -9
- package/test/integration/fixtures/reflux-apollo-ssr/config/development/settings.json +0 -6
- package/test/integration/fixtures/reflux-apollo-ssr/config/production/env.sh +0 -9
- package/test/integration/fixtures/reflux-apollo-ssr/config/production/settings.json +0 -6
- package/test/integration/fixtures/reflux-apollo-ssr/config/staging/env.sh +0 -9
- package/test/integration/fixtures/reflux-apollo-ssr/config/staging/settings.json +0 -6
- package/test/integration/fixtures/reflux-material/.maka/config.json +0 -30
- package/test/integration/fixtures/reflux-material/.tern-project +0 -17
- package/test/integration/fixtures/reflux-material/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/reflux-material/app/.meteor/.id +0 -7
- package/test/integration/fixtures/reflux-material/app/.meteor/packages +0 -21
- package/test/integration/fixtures/reflux-material/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/reflux-material/app/.meteor/release +0 -1
- package/test/integration/fixtures/reflux-material/app/.meteor/versions +0 -78
- package/test/integration/fixtures/reflux-material/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/client/body.html +0 -3
- package/test/integration/fixtures/reflux-material/app/client/head.html +0 -8
- package/test/integration/fixtures/reflux-material/app/client/main.jsx +0 -1
- package/test/integration/fixtures/reflux-material/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/imports/startup/client/index.jsx +0 -19
- package/test/integration/fixtures/reflux-material/app/imports/startup/client/routes.jsx +0 -24
- package/test/integration/fixtures/reflux-material/app/imports/startup/client/templates.jsx +0 -21
- package/test/integration/fixtures/reflux-material/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/reflux-material/app/imports/startup/server/index.jsx +0 -1
- package/test/integration/fixtures/reflux-material/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
- package/test/integration/fixtures/reflux-material/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -31
- package/test/integration/fixtures/reflux-material/app/imports/ui/pages/home/home.css +0 -5
- package/test/integration/fixtures/reflux-material/app/imports/ui/pages/home/home.jsx +0 -33
- package/test/integration/fixtures/reflux-material/app/imports/ui/pages/not-found/not-found.css +0 -5
- package/test/integration/fixtures/reflux-material/app/imports/ui/pages/not-found/not-found.jsx +0 -33
- package/test/integration/fixtures/reflux-material/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/reflux-material/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/reflux-material/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/reflux-material/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/app/server/main.jsx +0 -1
- package/test/integration/fixtures/reflux-material/bin/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/build/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/build/README +0 -4
- package/test/integration/fixtures/reflux-material/config/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-material/config/development/env.sh +0 -9
- package/test/integration/fixtures/reflux-material/config/development/settings.json +0 -6
- package/test/integration/fixtures/reflux-material/config/production/env.sh +0 -9
- package/test/integration/fixtures/reflux-material/config/production/settings.json +0 -6
- package/test/integration/fixtures/reflux-material/config/staging/env.sh +0 -9
- package/test/integration/fixtures/reflux-material/config/staging/settings.json +0 -6
- package/test/integration/fixtures/reflux-ssr/.maka/config.json +0 -30
- package/test/integration/fixtures/reflux-ssr/.tern-project +0 -17
- package/test/integration/fixtures/reflux-ssr/app/.meteor/.finished-upgraders +0 -17
- package/test/integration/fixtures/reflux-ssr/app/.meteor/.id +0 -7
- package/test/integration/fixtures/reflux-ssr/app/.meteor/packages +0 -21
- package/test/integration/fixtures/reflux-ssr/app/.meteor/platforms +0 -2
- package/test/integration/fixtures/reflux-ssr/app/.meteor/release +0 -1
- package/test/integration/fixtures/reflux-ssr/app/.meteor/versions +0 -78
- package/test/integration/fixtures/reflux-ssr/app/client/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/client/body.html +0 -3
- package/test/integration/fixtures/reflux-ssr/app/client/head.html +0 -8
- package/test/integration/fixtures/reflux-ssr/app/client/main.jsx +0 -1
- package/test/integration/fixtures/reflux-ssr/app/imports/api/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/imports/startup/client/index.jsx +0 -21
- package/test/integration/fixtures/reflux-ssr/app/imports/startup/lib/index.jsx +0 -1
- package/test/integration/fixtures/reflux-ssr/app/imports/startup/lib/routes.jsx +0 -21
- package/test/integration/fixtures/reflux-ssr/app/imports/startup/lib/templates.jsx +0 -21
- package/test/integration/fixtures/reflux-ssr/app/imports/startup/server/index.jsx +0 -36
- package/test/integration/fixtures/reflux-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -30
- package/test/integration/fixtures/reflux-ssr/app/imports/ui/pages/home/home.jsx +0 -32
- package/test/integration/fixtures/reflux-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -32
- package/test/integration/fixtures/reflux-ssr/app/imports/ui/test-helpers.jsx +0 -1
- package/test/integration/fixtures/reflux-ssr/app/lib/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/lib/main.jsx +0 -1
- package/test/integration/fixtures/reflux-ssr/app/packages/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/private/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/public/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/public/favicon.ico +0 -0
- package/test/integration/fixtures/reflux-ssr/app/server/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/app/server/main.jsx +0 -1
- package/test/integration/fixtures/reflux-ssr/bin/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/build/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/build/README +0 -4
- package/test/integration/fixtures/reflux-ssr/config/.gitkeep +0 -1
- package/test/integration/fixtures/reflux-ssr/config/development/env.sh +0 -9
- package/test/integration/fixtures/reflux-ssr/config/development/settings.json +0 -6
- package/test/integration/fixtures/reflux-ssr/config/production/env.sh +0 -9
- package/test/integration/fixtures/reflux-ssr/config/production/settings.json +0 -6
- package/test/integration/fixtures/reflux-ssr/config/staging/env.sh +0 -9
- package/test/integration/fixtures/reflux-ssr/config/staging/settings.json +0 -6
- package/test/integration/integration_helpers.js +0 -60
- package/tsconfig.json +0 -28
package/.claude/mcp.json
DELETED
package/.eslintrc.json
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"env": {
|
|
3
|
-
"es2021": true,
|
|
4
|
-
"node": true
|
|
5
|
-
},
|
|
6
|
-
"extends": [
|
|
7
|
-
"eslint:recommended",
|
|
8
|
-
"plugin:@typescript-eslint/recommended"
|
|
9
|
-
],
|
|
10
|
-
"overrides": [
|
|
11
|
-
],
|
|
12
|
-
"parser": "@typescript-eslint/parser",
|
|
13
|
-
"parserOptions": {
|
|
14
|
-
"ecmaVersion": "latest",
|
|
15
|
-
"sourceType": "module"
|
|
16
|
-
},
|
|
17
|
-
"plugins": [
|
|
18
|
-
"@typescript-eslint"
|
|
19
|
-
],
|
|
20
|
-
"rules": {
|
|
21
|
-
"@typescript-eslint/ban-types": "off",
|
|
22
|
-
"prefer-spread": "off",
|
|
23
|
-
"no-prototype-builtins": "off",
|
|
24
|
-
"no-useless-escape": "off",
|
|
25
|
-
"@typescript-eslint/no-explicit-any": "off",
|
|
26
|
-
"no-console": 1
|
|
27
|
-
},
|
|
28
|
-
"ignorePatterns": ["**/templates/**", "*.test.*"]
|
|
29
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
|
2
|
-
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
|
3
|
-
|
|
4
|
-
name: Node.js Package
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
release:
|
|
8
|
-
types: [created]
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
build:
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
steps:
|
|
14
|
-
- uses: actions/checkout@v4
|
|
15
|
-
- uses: actions/setup-node@v4
|
|
16
|
-
with:
|
|
17
|
-
node-version: 22
|
|
18
|
-
- run: npm ci
|
|
19
|
-
- run: npm test
|
|
20
|
-
|
|
21
|
-
publish-npm:
|
|
22
|
-
needs: build
|
|
23
|
-
runs-on: ubuntu-latest
|
|
24
|
-
permissions:
|
|
25
|
-
contents: read
|
|
26
|
-
id-token: write # required for npm trusted publishing (OIDC)
|
|
27
|
-
steps:
|
|
28
|
-
- uses: actions/checkout@v4
|
|
29
|
-
- uses: actions/setup-node@v4
|
|
30
|
-
with:
|
|
31
|
-
node-version: 22
|
|
32
|
-
registry-url: https://registry.npmjs.org/
|
|
33
|
-
- run: npm ci
|
|
34
|
-
- run: npm install -g npm@latest # trusted publishing needs npm >=11.5.1
|
|
35
|
-
- run: npm publish --access public
|
package/.mocharc.json
DELETED
package/.vscode/mcp.json
DELETED
package/CLAUDE.md
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## About
|
|
6
|
-
|
|
7
|
-
Maka-CLI is a command-line scaffolding and DevOps tool for Meteor 2.x applications with React. It provides generators for creating application components and commands for building, deploying, and managing Meteor applications.
|
|
8
|
-
|
|
9
|
-
## Development Commands
|
|
10
|
-
|
|
11
|
-
### Build and Test
|
|
12
|
-
```bash
|
|
13
|
-
# Full build: compile TypeScript and copy templates/assets
|
|
14
|
-
npm run build
|
|
15
|
-
|
|
16
|
-
# Watch mode for development
|
|
17
|
-
npm run develop
|
|
18
|
-
|
|
19
|
-
# Run tests
|
|
20
|
-
npm test
|
|
21
|
-
|
|
22
|
-
# Lint code
|
|
23
|
-
npm run lint
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Build Process Details
|
|
27
|
-
The `npm run build` command:
|
|
28
|
-
1. Removes `./bundle` directory
|
|
29
|
-
2. Compiles TypeScript to `./bundle/typescript/`
|
|
30
|
-
3. Runs `prep` which copies templates, README, package.json, and game JSON files
|
|
31
|
-
4. Makes the executable file at `./bundle/typescript/src/exec.js` executable
|
|
32
|
-
|
|
33
|
-
### Testing the CLI Locally
|
|
34
|
-
After building, test the CLI:
|
|
35
|
-
```bash
|
|
36
|
-
./bundle/typescript/src/exec.js <command>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Architecture
|
|
40
|
-
|
|
41
|
-
### Three-Tier Class Hierarchy
|
|
42
|
-
|
|
43
|
-
The codebase is built on a three-tier inheritance model:
|
|
44
|
-
|
|
45
|
-
**1. Tool (Base Class)** - `src/tool.ts`
|
|
46
|
-
- Provides shared utility services via singleton instances
|
|
47
|
-
- All Commands and Generators inherit from Tool
|
|
48
|
-
- Key services accessible via properties:
|
|
49
|
-
- `this.fsi` (FSI): File system operations, project path resolution
|
|
50
|
-
- `this.cfg` (CFG): Configuration management (global and project configs)
|
|
51
|
-
- `this.mpi` (MPI): Meteor package interface, proxies to Meteor CLI
|
|
52
|
-
- `this.scaffold` (Scaffold): Template processing with EJS
|
|
53
|
-
- `this.pkg` (PKG): Package.json manipulation
|
|
54
|
-
- `this.docker` (Docker): Docker operations
|
|
55
|
-
- `this.aws` (AWS): AWS infrastructure management
|
|
56
|
-
- Handles parameter validation and option processing
|
|
57
|
-
- Provides `validateParams()` for interactive prompting when options are missing
|
|
58
|
-
|
|
59
|
-
**2. Command (Extends Tool)** - `src/command.ts`
|
|
60
|
-
- Used for operational commands: `run`, `build`, `deploy`, `test`, `aws`, etc.
|
|
61
|
-
- Commands form a hierarchical tree structure (commands can have sub-commands)
|
|
62
|
-
- Create with: `Command.create(opts, handler, parentCommand)`
|
|
63
|
-
- The root `maka` command routes to sub-commands via `processAndRunCommand()`
|
|
64
|
-
- Special handling: commands prefixed with `generate:` or `g:` are routed to the generator system
|
|
65
|
-
|
|
66
|
-
**3. Generator (Extends Tool)** - `src/generator.ts`
|
|
67
|
-
- Used for code scaffolding: `component`, `route`, `api`, `collection`, etc.
|
|
68
|
-
- Generators form a hierarchical tree (generators can have sub-generators)
|
|
69
|
-
- Create with: `Generator.create(opts, handler, undoHandler, parentGenerator)`
|
|
70
|
-
- Includes history tracking to `.maka/history.json` for undo functionality
|
|
71
|
-
- Auto-sets `resourceNameRequired: true` unless explicitly overridden
|
|
72
|
-
- `checkWhere: true` option automatically prompts for client/server/both location
|
|
73
|
-
|
|
74
|
-
### Command and Generator Registration
|
|
75
|
-
|
|
76
|
-
Self-registration pattern:
|
|
77
|
-
- `src/maka.ts` imports `src/commands/_index.ts` and `src/generators/_index.ts`
|
|
78
|
-
- These index files import all command/generator modules
|
|
79
|
-
- Each module calls `.create()` which auto-registers with its parent
|
|
80
|
-
- Commands register with the root `Maka` command
|
|
81
|
-
- Generators register with the root `MakaGen` generator
|
|
82
|
-
|
|
83
|
-
### Entry Point Flow
|
|
84
|
-
|
|
85
|
-
`src/maka.ts` (entry point):
|
|
86
|
-
1. Parses CLI arguments with `minimist`
|
|
87
|
-
2. Camelizes option keys with `humps` (e.g., `--my-option` → `myOption`)
|
|
88
|
-
3. Calls `Maka.run(args, opts)` where Maka is the root command
|
|
89
|
-
|
|
90
|
-
Root command routing (`src/commands/maka.cmd.ts`):
|
|
91
|
-
- Uses `processAndRunCommand()` to parse colon-delimited commands
|
|
92
|
-
- Example: `"build:docker"` traverses build → docker sub-command
|
|
93
|
-
- Generator syntax: `"g:route"` or `"generate:route"` routes to generator system
|
|
94
|
-
- Falls back to proxying unknown commands to Meteor CLI via `mpi.maybeProxyCommandToMeteor()`
|
|
95
|
-
|
|
96
|
-
### Template System
|
|
97
|
-
|
|
98
|
-
Templates located in `src/templates/`:
|
|
99
|
-
- Uses EJS (Embedded JavaScript) for templating
|
|
100
|
-
- Processed via `this.scaffold.write({ templatePath, outputPath, data })`
|
|
101
|
-
- Must be copied to bundle during build (handled by `prep` script)
|
|
102
|
-
- Common data passed to templates: `name`, `className`, `fileName`, `pathPrefix`
|
|
103
|
-
|
|
104
|
-
### Options and Parameter System
|
|
105
|
-
|
|
106
|
-
**Option Types:**
|
|
107
|
-
- `requiredOpts`: Must be provided (prompts interactively if missing)
|
|
108
|
-
- `validOpts`: Allowed options with optional validation
|
|
109
|
-
- Short aliases auto-generated (first letter of option name)
|
|
110
|
-
- Special `env` option: auto-prompts from available project configs
|
|
111
|
-
|
|
112
|
-
**NamedParam Structure:**
|
|
113
|
-
```typescript
|
|
114
|
-
{
|
|
115
|
-
name: string,
|
|
116
|
-
values?: string[], // Allowed values (will prompt if invalid)
|
|
117
|
-
regex?: RegExp, // Pattern validation
|
|
118
|
-
description?: string, // Help text
|
|
119
|
-
boolFlag?: boolean, // Treat as boolean
|
|
120
|
-
hidden?: boolean // Don't show in help
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
**Generator-Specific Options:**
|
|
125
|
-
- `checkWhere: true` - Automatically adds and validates `--where` option (client/server/both)
|
|
126
|
-
- `where` option sets `opts.appPathPrefix` to `'lib'`, `'server'`, or `'client'`
|
|
127
|
-
- Resource names can include paths: `maka g:route todos/edit` → extracts dir and name
|
|
128
|
-
|
|
129
|
-
### History and Undo System
|
|
130
|
-
|
|
131
|
-
Generators track actions in `.maka/history.json`:
|
|
132
|
-
- Max file size: 100KB (auto-prunes oldest entries)
|
|
133
|
-
- Each transaction gets a UUID
|
|
134
|
-
- Related actions (same transaction) are undone together
|
|
135
|
-
- Undo handlers are optional (passed as 3rd param to `Generator.create()`)
|
|
136
|
-
|
|
137
|
-
## Code Conventions
|
|
138
|
-
|
|
139
|
-
- **ES Modules**: Uses `type: "module"` in package.json
|
|
140
|
-
- **Import extensions**: Always use `.js` extension in imports (TypeScript compiles `.ts` → `.js`)
|
|
141
|
-
- **Logging**: Use `Log` class methods, never `console.log`
|
|
142
|
-
- `Log.info()`, `Log.error()`, `Log.warn()`, `Log.notice()`, `Log.success()`
|
|
143
|
-
- Color mode (light/dark) read from global config
|
|
144
|
-
- **Error Handling**: Use custom error classes from `src/error.ts`
|
|
145
|
-
- `UsageError`, `MustBeInProjectError`, `NoMeteorFoundError`, etc.
|
|
146
|
-
- **Async/Await**: Prefer over callbacks
|
|
147
|
-
- **Handler Binding**: Handlers are auto-bound to their Command/Generator instance (`this` context)
|
|
148
|
-
|
|
149
|
-
## Key Patterns
|
|
150
|
-
|
|
151
|
-
### Creating a Command
|
|
152
|
-
```typescript
|
|
153
|
-
Command.create({
|
|
154
|
-
name: 'my-command',
|
|
155
|
-
aliases: ['mc'],
|
|
156
|
-
shortDesc: 'Short description',
|
|
157
|
-
validOpts: ['option1', 'option2'],
|
|
158
|
-
mustBeInMakaProject: true,
|
|
159
|
-
examples: ['maka my-command --option1=value']
|
|
160
|
-
}, async function(args, opts) {
|
|
161
|
-
// 'this' is the Command instance
|
|
162
|
-
// Access: this.fsi, this.cfg, this.mpi, etc.
|
|
163
|
-
Log.info('Executing command');
|
|
164
|
-
}, parentCommand);
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Creating a Generator
|
|
168
|
-
```typescript
|
|
169
|
-
Generator.create({
|
|
170
|
-
name: 'my-generator',
|
|
171
|
-
aliases: ['mg'],
|
|
172
|
-
shortDesc: 'Generates something',
|
|
173
|
-
checkWhere: true, // Adds --where option
|
|
174
|
-
validOpts: [],
|
|
175
|
-
}, async function(args, opts) {
|
|
176
|
-
const name = opts.resourceName;
|
|
177
|
-
|
|
178
|
-
// Process template
|
|
179
|
-
await this.scaffold.write({
|
|
180
|
-
templatePath: this.fsi.pathFromProject({
|
|
181
|
-
pathParts: ['src', 'templates', 'my-template.ejs']
|
|
182
|
-
}),
|
|
183
|
-
outputPath: this.fsi.pathFromApp({
|
|
184
|
-
pathParts: [opts.appPathPrefix, 'my-file.js']
|
|
185
|
-
}),
|
|
186
|
-
data: { name }
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
return { success: true, message: 'Generated successfully' };
|
|
190
|
-
}, undoHandler, parentGenerator);
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Using Scaffold for Templates
|
|
194
|
-
```typescript
|
|
195
|
-
await this.scaffold.write({
|
|
196
|
-
templatePath: 'path/to/template.ejs',
|
|
197
|
-
outputPath: this.fsi.pathFromApp({ pathParts: ['app', 'components', `${name}.tsx`] }),
|
|
198
|
-
data: { name, className: pascalCase(name), fileName: kebabCase(name) }
|
|
199
|
-
});
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Project Structure
|
|
203
|
-
|
|
204
|
-
```
|
|
205
|
-
src/
|
|
206
|
-
├── command.ts # Command base class
|
|
207
|
-
├── generator.ts # Generator base class
|
|
208
|
-
├── tool.ts # Tool base class
|
|
209
|
-
├── maka.ts # Entry point
|
|
210
|
-
├── exec.ts # Executable wrapper
|
|
211
|
-
├── error.ts # Custom error classes
|
|
212
|
-
├── commands/
|
|
213
|
-
│ ├── _index.ts # Registers all commands
|
|
214
|
-
│ ├── maka.cmd.ts # Root command
|
|
215
|
-
│ └── [feature]/ # Commands organized by feature
|
|
216
|
-
├── generators/
|
|
217
|
-
│ ├── _index.ts # Registers all generators
|
|
218
|
-
│ ├── maka.gen.ts # Root generator
|
|
219
|
-
│ └── [generator].ts # Individual generators
|
|
220
|
-
├── templates/ # EJS templates (copied to bundle)
|
|
221
|
-
│ ├── meteor/
|
|
222
|
-
│ ├── react/
|
|
223
|
-
│ └── service/
|
|
224
|
-
└── tools/ # Utility singleton classes
|
|
225
|
-
├── fsi/ # File system interface
|
|
226
|
-
├── cfg/ # Config management
|
|
227
|
-
├── mpi/ # Meteor package interface
|
|
228
|
-
├── scaffold/ # Template scaffolding
|
|
229
|
-
├── actions/ # Interactive prompts (@inquirer/prompts)
|
|
230
|
-
└── [others]/
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## Important Notes
|
|
234
|
-
|
|
235
|
-
- Commands ending with `.sub.cmd.ts` are sub-commands
|
|
236
|
-
- Generators can be nested: `g:kit:auth:basic-meteor` traverses kit → auth → basic-meteor
|
|
237
|
-
- The `generate` command is special-cased in `maka.cmd.ts` routing logic
|
|
238
|
-
- All tool singletons use `getInstance()` pattern and maintain dependencies
|
|
239
|
-
- Import paths must use `.js` even for `.ts` files (ESM compatibility)
|