create-fluxstack 1.0.4 → 1.0.6
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/.claude/settings.local.json +6 -1
- package/create-fluxstack.ts +10 -6
- package/package.json +1 -1
- package/ENV_TESTING_REPORT.md +0 -292
- package/FRAMEWORK_ROADMAP.md +0 -183
- package/FRONTEND_TESTS_README.md +0 -287
- package/TEST_RESULTS.md +0 -130
- package/docs/dynamic-environment-variables.md +0 -380
- package/examples/dynamic-env-usage.ts +0 -283
- package/examples/hybrid-env-strategy.ts +0 -212
- package/examples/simplified-env-usage.ts +0 -251
- package/meu-app-teste/README.md +0 -44
- package/meu-app-teste/app/client/README.md +0 -69
- package/meu-app-teste/app/client/frontend-only.ts +0 -12
- package/meu-app-teste/app/client/index.html +0 -13
- package/meu-app-teste/app/client/public/vite.svg +0 -1
- package/meu-app-teste/app/client/src/App.css +0 -883
- package/meu-app-teste/app/client/src/App.tsx +0 -669
- package/meu-app-teste/app/client/src/assets/react.svg +0 -1
- package/meu-app-teste/app/client/src/components/TestPage.tsx +0 -453
- package/meu-app-teste/app/client/src/index.css +0 -51
- package/meu-app-teste/app/client/src/lib/eden-api.ts +0 -110
- package/meu-app-teste/app/client/src/main.tsx +0 -10
- package/meu-app-teste/app/client/src/vite-env.d.ts +0 -1
- package/meu-app-teste/app/client/tsconfig.app.json +0 -43
- package/meu-app-teste/app/client/tsconfig.json +0 -7
- package/meu-app-teste/app/client/tsconfig.node.json +0 -25
- package/meu-app-teste/app/server/app.ts +0 -10
- package/meu-app-teste/app/server/backend-only.ts +0 -15
- package/meu-app-teste/app/server/controllers/users.controller.ts +0 -69
- package/meu-app-teste/app/server/index.ts +0 -104
- package/meu-app-teste/app/server/routes/index.ts +0 -25
- package/meu-app-teste/app/server/routes/users.routes.ts +0 -121
- package/meu-app-teste/app/server/types/index.ts +0 -1
- package/meu-app-teste/app/shared/types/index.ts +0 -18
- package/meu-app-teste/bun.lock +0 -1053
- package/meu-app-teste/core/__tests__/integration.test.ts +0 -227
- package/meu-app-teste/core/build/index.ts +0 -186
- package/meu-app-teste/core/cli/command-registry.ts +0 -334
- package/meu-app-teste/core/cli/index.ts +0 -394
- package/meu-app-teste/core/cli/plugin-discovery.ts +0 -200
- package/meu-app-teste/core/client/standalone.ts +0 -57
- package/meu-app-teste/core/config/__tests__/config-loader.test.ts +0 -591
- package/meu-app-teste/core/config/__tests__/config-merger.test.ts +0 -657
- package/meu-app-teste/core/config/__tests__/env-converter.test.ts +0 -372
- package/meu-app-teste/core/config/__tests__/env-processor.test.ts +0 -431
- package/meu-app-teste/core/config/__tests__/env.test.ts +0 -452
- package/meu-app-teste/core/config/__tests__/integration.test.ts +0 -418
- package/meu-app-teste/core/config/__tests__/loader.test.ts +0 -331
- package/meu-app-teste/core/config/__tests__/schema.test.ts +0 -129
- package/meu-app-teste/core/config/__tests__/validator.test.ts +0 -318
- package/meu-app-teste/core/config/env-dynamic.ts +0 -326
- package/meu-app-teste/core/config/env.ts +0 -597
- package/meu-app-teste/core/config/index.ts +0 -317
- package/meu-app-teste/core/config/loader.ts +0 -546
- package/meu-app-teste/core/config/runtime-config.ts +0 -322
- package/meu-app-teste/core/config/schema.ts +0 -694
- package/meu-app-teste/core/config/validator.ts +0 -540
- package/meu-app-teste/core/framework/__tests__/server.test.ts +0 -233
- package/meu-app-teste/core/framework/client.ts +0 -132
- package/meu-app-teste/core/framework/index.ts +0 -8
- package/meu-app-teste/core/framework/server.ts +0 -501
- package/meu-app-teste/core/framework/types.ts +0 -63
- package/meu-app-teste/core/plugins/__tests__/built-in.test.ts.disabled +0 -366
- package/meu-app-teste/core/plugins/__tests__/manager.test.ts +0 -398
- package/meu-app-teste/core/plugins/__tests__/monitoring.test.ts +0 -401
- package/meu-app-teste/core/plugins/__tests__/registry.test.ts +0 -335
- package/meu-app-teste/core/plugins/built-in/index.ts +0 -142
- package/meu-app-teste/core/plugins/built-in/logger/index.ts +0 -180
- package/meu-app-teste/core/plugins/built-in/monitoring/README.md +0 -193
- package/meu-app-teste/core/plugins/built-in/monitoring/index.ts +0 -912
- package/meu-app-teste/core/plugins/built-in/static/index.ts +0 -289
- package/meu-app-teste/core/plugins/built-in/swagger/index.ts +0 -229
- package/meu-app-teste/core/plugins/built-in/vite/index.ts +0 -316
- package/meu-app-teste/core/plugins/config.ts +0 -348
- package/meu-app-teste/core/plugins/discovery.ts +0 -350
- package/meu-app-teste/core/plugins/executor.ts +0 -351
- package/meu-app-teste/core/plugins/index.ts +0 -195
- package/meu-app-teste/core/plugins/manager.ts +0 -583
- package/meu-app-teste/core/plugins/registry.ts +0 -424
- package/meu-app-teste/core/plugins/types.ts +0 -254
- package/meu-app-teste/core/server/framework.ts +0 -123
- package/meu-app-teste/core/server/index.ts +0 -8
- package/meu-app-teste/core/server/plugins/database.ts +0 -182
- package/meu-app-teste/core/server/plugins/logger.ts +0 -47
- package/meu-app-teste/core/server/plugins/swagger.ts +0 -34
- package/meu-app-teste/core/server/standalone.ts +0 -91
- package/meu-app-teste/core/templates/create-project.ts +0 -455
- package/meu-app-teste/core/types/api.ts +0 -169
- package/meu-app-teste/core/types/build.ts +0 -174
- package/meu-app-teste/core/types/config.ts +0 -68
- package/meu-app-teste/core/types/index.ts +0 -127
- package/meu-app-teste/core/types/plugin.ts +0 -94
- package/meu-app-teste/core/utils/__tests__/errors.test.ts +0 -139
- package/meu-app-teste/core/utils/__tests__/helpers.test.ts +0 -297
- package/meu-app-teste/core/utils/__tests__/logger.test.ts +0 -141
- package/meu-app-teste/core/utils/env-runtime-v2.ts +0 -232
- package/meu-app-teste/core/utils/env-runtime.ts +0 -252
- package/meu-app-teste/core/utils/errors/codes.ts +0 -115
- package/meu-app-teste/core/utils/errors/handlers.ts +0 -63
- package/meu-app-teste/core/utils/errors/index.ts +0 -81
- package/meu-app-teste/core/utils/helpers.ts +0 -180
- package/meu-app-teste/core/utils/index.ts +0 -18
- package/meu-app-teste/core/utils/logger/index.ts +0 -161
- package/meu-app-teste/core/utils/logger.ts +0 -106
- package/meu-app-teste/core/utils/monitoring/index.ts +0 -212
- package/meu-app-teste/package.json +0 -92
- package/meu-app-teste/tsconfig.json +0 -51
- package/meu-app-teste/vite.config.ts +0 -42
- package/my-final-test/README.md +0 -44
- package/my-final-test/app/client/README.md +0 -69
- package/my-final-test/app/client/frontend-only.ts +0 -12
- package/my-final-test/app/client/index.html +0 -13
- package/my-final-test/app/client/public/vite.svg +0 -1
- package/my-final-test/app/client/src/App.css +0 -883
- package/my-final-test/app/client/src/App.tsx +0 -669
- package/my-final-test/app/client/src/assets/react.svg +0 -1
- package/my-final-test/app/client/src/components/TestPage.tsx +0 -453
- package/my-final-test/app/client/src/index.css +0 -51
- package/my-final-test/app/client/src/lib/eden-api.ts +0 -110
- package/my-final-test/app/client/src/main.tsx +0 -10
- package/my-final-test/app/client/src/vite-env.d.ts +0 -1
- package/my-final-test/app/client/tsconfig.app.json +0 -43
- package/my-final-test/app/client/tsconfig.json +0 -7
- package/my-final-test/app/client/tsconfig.node.json +0 -25
- package/my-final-test/app/server/app.ts +0 -10
- package/my-final-test/app/server/backend-only.ts +0 -15
- package/my-final-test/app/server/controllers/users.controller.ts +0 -69
- package/my-final-test/app/server/index.ts +0 -104
- package/my-final-test/app/server/routes/index.ts +0 -25
- package/my-final-test/app/server/routes/users.routes.ts +0 -121
- package/my-final-test/app/server/types/index.ts +0 -1
- package/my-final-test/app/shared/types/index.ts +0 -18
- package/my-final-test/bun.lock +0 -993
- package/my-final-test/core/__tests__/integration.test.ts +0 -227
- package/my-final-test/core/build/index.ts +0 -186
- package/my-final-test/core/cli/command-registry.ts +0 -334
- package/my-final-test/core/cli/index.ts +0 -394
- package/my-final-test/core/cli/plugin-discovery.ts +0 -200
- package/my-final-test/core/client/standalone.ts +0 -57
- package/my-final-test/core/config/__tests__/config-loader.test.ts +0 -591
- package/my-final-test/core/config/__tests__/config-merger.test.ts +0 -657
- package/my-final-test/core/config/__tests__/env-converter.test.ts +0 -372
- package/my-final-test/core/config/__tests__/env-processor.test.ts +0 -431
- package/my-final-test/core/config/__tests__/env.test.ts +0 -452
- package/my-final-test/core/config/__tests__/integration.test.ts +0 -418
- package/my-final-test/core/config/__tests__/loader.test.ts +0 -331
- package/my-final-test/core/config/__tests__/schema.test.ts +0 -129
- package/my-final-test/core/config/__tests__/validator.test.ts +0 -318
- package/my-final-test/core/config/env-dynamic.ts +0 -326
- package/my-final-test/core/config/env.ts +0 -597
- package/my-final-test/core/config/index.ts +0 -317
- package/my-final-test/core/config/loader.ts +0 -546
- package/my-final-test/core/config/runtime-config.ts +0 -322
- package/my-final-test/core/config/schema.ts +0 -694
- package/my-final-test/core/config/validator.ts +0 -540
- package/my-final-test/core/framework/__tests__/server.test.ts +0 -233
- package/my-final-test/core/framework/client.ts +0 -132
- package/my-final-test/core/framework/index.ts +0 -8
- package/my-final-test/core/framework/server.ts +0 -501
- package/my-final-test/core/framework/types.ts +0 -63
- package/my-final-test/core/plugins/__tests__/built-in.test.ts.disabled +0 -366
- package/my-final-test/core/plugins/__tests__/manager.test.ts +0 -398
- package/my-final-test/core/plugins/__tests__/monitoring.test.ts +0 -401
- package/my-final-test/core/plugins/__tests__/registry.test.ts +0 -335
- package/my-final-test/core/plugins/built-in/index.ts +0 -142
- package/my-final-test/core/plugins/built-in/logger/index.ts +0 -180
- package/my-final-test/core/plugins/built-in/monitoring/README.md +0 -193
- package/my-final-test/core/plugins/built-in/monitoring/index.ts +0 -912
- package/my-final-test/core/plugins/built-in/static/index.ts +0 -289
- package/my-final-test/core/plugins/built-in/swagger/index.ts +0 -229
- package/my-final-test/core/plugins/built-in/vite/index.ts +0 -316
- package/my-final-test/core/plugins/config.ts +0 -348
- package/my-final-test/core/plugins/discovery.ts +0 -350
- package/my-final-test/core/plugins/executor.ts +0 -351
- package/my-final-test/core/plugins/index.ts +0 -195
- package/my-final-test/core/plugins/manager.ts +0 -583
- package/my-final-test/core/plugins/registry.ts +0 -424
- package/my-final-test/core/plugins/types.ts +0 -254
- package/my-final-test/core/server/framework.ts +0 -123
- package/my-final-test/core/server/index.ts +0 -8
- package/my-final-test/core/server/plugins/database.ts +0 -182
- package/my-final-test/core/server/plugins/logger.ts +0 -47
- package/my-final-test/core/server/plugins/swagger.ts +0 -34
- package/my-final-test/core/server/standalone.ts +0 -91
- package/my-final-test/core/templates/create-project.ts +0 -455
- package/my-final-test/core/types/api.ts +0 -169
- package/my-final-test/core/types/build.ts +0 -174
- package/my-final-test/core/types/config.ts +0 -68
- package/my-final-test/core/types/index.ts +0 -127
- package/my-final-test/core/types/plugin.ts +0 -94
- package/my-final-test/core/utils/__tests__/errors.test.ts +0 -139
- package/my-final-test/core/utils/__tests__/helpers.test.ts +0 -297
- package/my-final-test/core/utils/__tests__/logger.test.ts +0 -141
- package/my-final-test/core/utils/env-runtime-v2.ts +0 -232
- package/my-final-test/core/utils/env-runtime.ts +0 -252
- package/my-final-test/core/utils/errors/codes.ts +0 -115
- package/my-final-test/core/utils/errors/handlers.ts +0 -63
- package/my-final-test/core/utils/errors/index.ts +0 -81
- package/my-final-test/core/utils/helpers.ts +0 -180
- package/my-final-test/core/utils/index.ts +0 -18
- package/my-final-test/core/utils/logger/index.ts +0 -161
- package/my-final-test/core/utils/logger.ts +0 -106
- package/my-final-test/core/utils/monitoring/index.ts +0 -212
- package/my-final-test/package.json +0 -68
- package/my-final-test/tsconfig.json +0 -51
- package/my-final-test/vite.config.ts +0 -42
- package/publish-setup.md +0 -111
- package/teste-corrigido/README.md +0 -44
- package/teste-corrigido/app/client/README.md +0 -69
- package/teste-corrigido/app/client/frontend-only.ts +0 -12
- package/teste-corrigido/app/client/index.html +0 -13
- package/teste-corrigido/app/client/public/vite.svg +0 -1
- package/teste-corrigido/app/client/src/App.css +0 -883
- package/teste-corrigido/app/client/src/App.tsx +0 -669
- package/teste-corrigido/app/client/src/assets/react.svg +0 -1
- package/teste-corrigido/app/client/src/components/TestPage.tsx +0 -453
- package/teste-corrigido/app/client/src/index.css +0 -51
- package/teste-corrigido/app/client/src/lib/eden-api.ts +0 -110
- package/teste-corrigido/app/client/src/main.tsx +0 -10
- package/teste-corrigido/app/client/src/vite-env.d.ts +0 -1
- package/teste-corrigido/app/client/tsconfig.app.json +0 -43
- package/teste-corrigido/app/client/tsconfig.json +0 -7
- package/teste-corrigido/app/client/tsconfig.node.json +0 -25
- package/teste-corrigido/app/server/app.ts +0 -10
- package/teste-corrigido/app/server/backend-only.ts +0 -15
- package/teste-corrigido/app/server/controllers/users.controller.ts +0 -69
- package/teste-corrigido/app/server/index.ts +0 -104
- package/teste-corrigido/app/server/routes/index.ts +0 -25
- package/teste-corrigido/app/server/routes/users.routes.ts +0 -121
- package/teste-corrigido/app/server/types/index.ts +0 -1
- package/teste-corrigido/app/shared/types/index.ts +0 -18
- package/teste-corrigido/bun.lock +0 -1053
- package/teste-corrigido/core/__tests__/integration.test.ts +0 -227
- package/teste-corrigido/core/build/index.ts +0 -186
- package/teste-corrigido/core/cli/command-registry.ts +0 -334
- package/teste-corrigido/core/cli/index.ts +0 -394
- package/teste-corrigido/core/cli/plugin-discovery.ts +0 -200
- package/teste-corrigido/core/client/standalone.ts +0 -57
- package/teste-corrigido/core/config/__tests__/config-loader.test.ts +0 -591
- package/teste-corrigido/core/config/__tests__/config-merger.test.ts +0 -657
- package/teste-corrigido/core/config/__tests__/env-converter.test.ts +0 -372
- package/teste-corrigido/core/config/__tests__/env-processor.test.ts +0 -431
- package/teste-corrigido/core/config/__tests__/env.test.ts +0 -452
- package/teste-corrigido/core/config/__tests__/integration.test.ts +0 -418
- package/teste-corrigido/core/config/__tests__/loader.test.ts +0 -331
- package/teste-corrigido/core/config/__tests__/schema.test.ts +0 -129
- package/teste-corrigido/core/config/__tests__/validator.test.ts +0 -318
- package/teste-corrigido/core/config/env-dynamic.ts +0 -326
- package/teste-corrigido/core/config/env.ts +0 -597
- package/teste-corrigido/core/config/index.ts +0 -317
- package/teste-corrigido/core/config/loader.ts +0 -546
- package/teste-corrigido/core/config/runtime-config.ts +0 -322
- package/teste-corrigido/core/config/schema.ts +0 -694
- package/teste-corrigido/core/config/validator.ts +0 -540
- package/teste-corrigido/core/framework/__tests__/server.test.ts +0 -233
- package/teste-corrigido/core/framework/client.ts +0 -132
- package/teste-corrigido/core/framework/index.ts +0 -8
- package/teste-corrigido/core/framework/server.ts +0 -501
- package/teste-corrigido/core/framework/types.ts +0 -63
- package/teste-corrigido/core/plugins/__tests__/built-in.test.ts.disabled +0 -366
- package/teste-corrigido/core/plugins/__tests__/manager.test.ts +0 -398
- package/teste-corrigido/core/plugins/__tests__/monitoring.test.ts +0 -401
- package/teste-corrigido/core/plugins/__tests__/registry.test.ts +0 -335
- package/teste-corrigido/core/plugins/built-in/index.ts +0 -142
- package/teste-corrigido/core/plugins/built-in/logger/index.ts +0 -180
- package/teste-corrigido/core/plugins/built-in/monitoring/README.md +0 -193
- package/teste-corrigido/core/plugins/built-in/monitoring/index.ts +0 -912
- package/teste-corrigido/core/plugins/built-in/static/index.ts +0 -289
- package/teste-corrigido/core/plugins/built-in/swagger/index.ts +0 -229
- package/teste-corrigido/core/plugins/built-in/vite/index.ts +0 -316
- package/teste-corrigido/core/plugins/config.ts +0 -348
- package/teste-corrigido/core/plugins/discovery.ts +0 -350
- package/teste-corrigido/core/plugins/executor.ts +0 -351
- package/teste-corrigido/core/plugins/index.ts +0 -195
- package/teste-corrigido/core/plugins/manager.ts +0 -583
- package/teste-corrigido/core/plugins/registry.ts +0 -424
- package/teste-corrigido/core/plugins/types.ts +0 -254
- package/teste-corrigido/core/server/framework.ts +0 -123
- package/teste-corrigido/core/server/index.ts +0 -8
- package/teste-corrigido/core/server/plugins/database.ts +0 -182
- package/teste-corrigido/core/server/plugins/logger.ts +0 -47
- package/teste-corrigido/core/server/plugins/swagger.ts +0 -34
- package/teste-corrigido/core/server/standalone.ts +0 -91
- package/teste-corrigido/core/templates/create-project.ts +0 -455
- package/teste-corrigido/core/types/api.ts +0 -169
- package/teste-corrigido/core/types/build.ts +0 -174
- package/teste-corrigido/core/types/config.ts +0 -68
- package/teste-corrigido/core/types/index.ts +0 -127
- package/teste-corrigido/core/types/plugin.ts +0 -94
- package/teste-corrigido/core/utils/__tests__/errors.test.ts +0 -139
- package/teste-corrigido/core/utils/__tests__/helpers.test.ts +0 -297
- package/teste-corrigido/core/utils/__tests__/logger.test.ts +0 -141
- package/teste-corrigido/core/utils/env-runtime-v2.ts +0 -232
- package/teste-corrigido/core/utils/env-runtime.ts +0 -252
- package/teste-corrigido/core/utils/errors/codes.ts +0 -115
- package/teste-corrigido/core/utils/errors/handlers.ts +0 -63
- package/teste-corrigido/core/utils/errors/index.ts +0 -81
- package/teste-corrigido/core/utils/helpers.ts +0 -180
- package/teste-corrigido/core/utils/index.ts +0 -18
- package/teste-corrigido/core/utils/logger/index.ts +0 -161
- package/teste-corrigido/core/utils/logger.ts +0 -106
- package/teste-corrigido/core/utils/monitoring/index.ts +0 -212
- package/teste-corrigido/package-template.json +0 -51
- package/teste-corrigido/package.json +0 -51
- package/teste-corrigido/tsconfig.json +0 -51
- package/teste-corrigido/vite.config.ts +0 -42
- package/teste-final-npm/README.md +0 -44
- package/teste-final-npm/app/client/README.md +0 -69
- package/teste-final-npm/app/client/frontend-only.ts +0 -12
- package/teste-final-npm/app/client/index.html +0 -13
- package/teste-final-npm/app/client/public/vite.svg +0 -1
- package/teste-final-npm/app/client/src/App.css +0 -883
- package/teste-final-npm/app/client/src/App.tsx +0 -669
- package/teste-final-npm/app/client/src/assets/react.svg +0 -1
- package/teste-final-npm/app/client/src/components/TestPage.tsx +0 -453
- package/teste-final-npm/app/client/src/index.css +0 -51
- package/teste-final-npm/app/client/src/lib/eden-api.ts +0 -110
- package/teste-final-npm/app/client/src/main.tsx +0 -10
- package/teste-final-npm/app/client/src/vite-env.d.ts +0 -1
- package/teste-final-npm/app/client/tsconfig.app.json +0 -43
- package/teste-final-npm/app/client/tsconfig.json +0 -7
- package/teste-final-npm/app/client/tsconfig.node.json +0 -25
- package/teste-final-npm/app/server/app.ts +0 -10
- package/teste-final-npm/app/server/backend-only.ts +0 -15
- package/teste-final-npm/app/server/controllers/users.controller.ts +0 -69
- package/teste-final-npm/app/server/index.ts +0 -104
- package/teste-final-npm/app/server/routes/index.ts +0 -25
- package/teste-final-npm/app/server/routes/users.routes.ts +0 -121
- package/teste-final-npm/app/server/types/index.ts +0 -1
- package/teste-final-npm/app/shared/types/index.ts +0 -18
- package/teste-final-npm/bun.lock +0 -1053
- package/teste-final-npm/core/__tests__/integration.test.ts +0 -227
- package/teste-final-npm/core/build/index.ts +0 -186
- package/teste-final-npm/core/cli/command-registry.ts +0 -334
- package/teste-final-npm/core/cli/index.ts +0 -394
- package/teste-final-npm/core/cli/plugin-discovery.ts +0 -200
- package/teste-final-npm/core/client/standalone.ts +0 -57
- package/teste-final-npm/core/config/__tests__/config-loader.test.ts +0 -591
- package/teste-final-npm/core/config/__tests__/config-merger.test.ts +0 -657
- package/teste-final-npm/core/config/__tests__/env-converter.test.ts +0 -372
- package/teste-final-npm/core/config/__tests__/env-processor.test.ts +0 -431
- package/teste-final-npm/core/config/__tests__/env.test.ts +0 -452
- package/teste-final-npm/core/config/__tests__/integration.test.ts +0 -418
- package/teste-final-npm/core/config/__tests__/loader.test.ts +0 -331
- package/teste-final-npm/core/config/__tests__/schema.test.ts +0 -129
- package/teste-final-npm/core/config/__tests__/validator.test.ts +0 -318
- package/teste-final-npm/core/config/env-dynamic.ts +0 -326
- package/teste-final-npm/core/config/env.ts +0 -597
- package/teste-final-npm/core/config/index.ts +0 -317
- package/teste-final-npm/core/config/loader.ts +0 -546
- package/teste-final-npm/core/config/runtime-config.ts +0 -322
- package/teste-final-npm/core/config/schema.ts +0 -694
- package/teste-final-npm/core/config/validator.ts +0 -540
- package/teste-final-npm/core/framework/__tests__/server.test.ts +0 -233
- package/teste-final-npm/core/framework/client.ts +0 -132
- package/teste-final-npm/core/framework/index.ts +0 -8
- package/teste-final-npm/core/framework/server.ts +0 -501
- package/teste-final-npm/core/framework/types.ts +0 -63
- package/teste-final-npm/core/plugins/__tests__/built-in.test.ts.disabled +0 -366
- package/teste-final-npm/core/plugins/__tests__/manager.test.ts +0 -398
- package/teste-final-npm/core/plugins/__tests__/monitoring.test.ts +0 -401
- package/teste-final-npm/core/plugins/__tests__/registry.test.ts +0 -335
- package/teste-final-npm/core/plugins/built-in/index.ts +0 -142
- package/teste-final-npm/core/plugins/built-in/logger/index.ts +0 -180
- package/teste-final-npm/core/plugins/built-in/monitoring/README.md +0 -193
- package/teste-final-npm/core/plugins/built-in/monitoring/index.ts +0 -912
- package/teste-final-npm/core/plugins/built-in/static/index.ts +0 -289
- package/teste-final-npm/core/plugins/built-in/swagger/index.ts +0 -229
- package/teste-final-npm/core/plugins/built-in/vite/index.ts +0 -316
- package/teste-final-npm/core/plugins/config.ts +0 -348
- package/teste-final-npm/core/plugins/discovery.ts +0 -350
- package/teste-final-npm/core/plugins/executor.ts +0 -351
- package/teste-final-npm/core/plugins/index.ts +0 -195
- package/teste-final-npm/core/plugins/manager.ts +0 -583
- package/teste-final-npm/core/plugins/registry.ts +0 -424
- package/teste-final-npm/core/plugins/types.ts +0 -254
- package/teste-final-npm/core/server/framework.ts +0 -123
- package/teste-final-npm/core/server/index.ts +0 -8
- package/teste-final-npm/core/server/plugins/database.ts +0 -182
- package/teste-final-npm/core/server/plugins/logger.ts +0 -47
- package/teste-final-npm/core/server/plugins/swagger.ts +0 -34
- package/teste-final-npm/core/server/standalone.ts +0 -91
- package/teste-final-npm/core/templates/create-project.ts +0 -455
- package/teste-final-npm/core/types/api.ts +0 -169
- package/teste-final-npm/core/types/build.ts +0 -174
- package/teste-final-npm/core/types/config.ts +0 -68
- package/teste-final-npm/core/types/index.ts +0 -127
- package/teste-final-npm/core/types/plugin.ts +0 -94
- package/teste-final-npm/core/utils/__tests__/errors.test.ts +0 -139
- package/teste-final-npm/core/utils/__tests__/helpers.test.ts +0 -297
- package/teste-final-npm/core/utils/__tests__/logger.test.ts +0 -141
- package/teste-final-npm/core/utils/env-runtime-v2.ts +0 -232
- package/teste-final-npm/core/utils/env-runtime.ts +0 -252
- package/teste-final-npm/core/utils/errors/codes.ts +0 -115
- package/teste-final-npm/core/utils/errors/handlers.ts +0 -63
- package/teste-final-npm/core/utils/errors/index.ts +0 -81
- package/teste-final-npm/core/utils/helpers.ts +0 -180
- package/teste-final-npm/core/utils/index.ts +0 -18
- package/teste-final-npm/core/utils/logger/index.ts +0 -161
- package/teste-final-npm/core/utils/logger.ts +0 -106
- package/teste-final-npm/core/utils/monitoring/index.ts +0 -212
- package/teste-final-npm/package-template.json +0 -51
- package/teste-final-npm/package.json +0 -51
- package/teste-final-npm/tsconfig.json +0 -51
- package/teste-final-npm/vite.config.ts +0 -42
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react'
|
|
2
|
-
import { api, getErrorMessage } from '../lib/eden-api'
|
|
3
|
-
|
|
4
|
-
interface TestResult {
|
|
5
|
-
name: string
|
|
6
|
-
status: 'pending' | 'success' | 'error'
|
|
7
|
-
message: string
|
|
8
|
-
details?: any
|
|
9
|
-
duration?: number
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface EnvTest {
|
|
13
|
-
name: string
|
|
14
|
-
variable: string
|
|
15
|
-
expected?: string
|
|
16
|
-
description: string
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const TestPage: React.FC = () => {
|
|
20
|
-
const [testResults, setTestResults] = useState<TestResult[]>([])
|
|
21
|
-
const [isRunning, setIsRunning] = useState(false)
|
|
22
|
-
|
|
23
|
-
// Environment variables available in the frontend (VITE_ prefix)
|
|
24
|
-
const envTests: EnvTest[] = [
|
|
25
|
-
{
|
|
26
|
-
name: 'API URL',
|
|
27
|
-
variable: 'VITE_API_URL',
|
|
28
|
-
expected: 'http://localhost:3000',
|
|
29
|
-
description: 'Base URL for API calls'
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: 'App Name',
|
|
33
|
-
variable: 'VITE_APP_NAME',
|
|
34
|
-
description: 'Application name from environment'
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: 'App Version',
|
|
38
|
-
variable: 'VITE_APP_VERSION',
|
|
39
|
-
description: 'Application version from environment'
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'Environment',
|
|
43
|
-
variable: 'VITE_NODE_ENV',
|
|
44
|
-
description: 'Current environment (dev/prod)'
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
|
|
48
|
-
// Add a test result
|
|
49
|
-
const addTestResult = (result: TestResult) => {
|
|
50
|
-
setTestResults(prev => [...prev, result])
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Update a test result
|
|
54
|
-
const updateTestResult = (name: string, updates: Partial<TestResult>) => {
|
|
55
|
-
setTestResults(prev =>
|
|
56
|
-
prev.map(result =>
|
|
57
|
-
result.name === name ? { ...result, ...updates } : result
|
|
58
|
-
)
|
|
59
|
-
)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Test environment variables
|
|
63
|
-
const testEnvironmentVariables = async () => {
|
|
64
|
-
const startTime = Date.now()
|
|
65
|
-
|
|
66
|
-
addTestResult({
|
|
67
|
-
name: 'Environment Variables',
|
|
68
|
-
status: 'pending',
|
|
69
|
-
message: 'Testing environment variable loading...'
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
try {
|
|
73
|
-
const results = envTests.map(test => {
|
|
74
|
-
const value = import.meta.env[test.variable]
|
|
75
|
-
return {
|
|
76
|
-
name: test.name,
|
|
77
|
-
variable: test.variable,
|
|
78
|
-
value: value || 'undefined',
|
|
79
|
-
expected: test.expected,
|
|
80
|
-
description: test.description,
|
|
81
|
-
isValid: test.expected ? value === test.expected : value !== undefined
|
|
82
|
-
}
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
const allValid = results.every(r => r.isValid)
|
|
86
|
-
const duration = Date.now() - startTime
|
|
87
|
-
|
|
88
|
-
updateTestResult('Environment Variables', {
|
|
89
|
-
status: allValid ? 'success' : 'error',
|
|
90
|
-
message: allValid
|
|
91
|
-
? `All environment variables loaded correctly (${results.length} variables)`
|
|
92
|
-
: 'Some environment variables are missing or incorrect',
|
|
93
|
-
details: results,
|
|
94
|
-
duration
|
|
95
|
-
})
|
|
96
|
-
} catch (error) {
|
|
97
|
-
updateTestResult('Environment Variables', {
|
|
98
|
-
status: 'error',
|
|
99
|
-
message: `Environment test failed: ${getErrorMessage(error)}`,
|
|
100
|
-
duration: Date.now() - startTime
|
|
101
|
-
})
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Test API health check
|
|
106
|
-
const testApiHealth = async () => {
|
|
107
|
-
const startTime = Date.now()
|
|
108
|
-
|
|
109
|
-
addTestResult({
|
|
110
|
-
name: 'API Health Check',
|
|
111
|
-
status: 'pending',
|
|
112
|
-
message: 'Testing API connection...'
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
try {
|
|
116
|
-
const { data: response, error } = await api.health.get()
|
|
117
|
-
|
|
118
|
-
if (error) {
|
|
119
|
-
throw new Error(`API Error: ${error.status}`)
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const duration = Date.now() - startTime
|
|
123
|
-
|
|
124
|
-
updateTestResult('API Health Check', {
|
|
125
|
-
status: 'success',
|
|
126
|
-
message: `API is healthy: ${response.status}`,
|
|
127
|
-
details: response,
|
|
128
|
-
duration
|
|
129
|
-
})
|
|
130
|
-
} catch (error) {
|
|
131
|
-
updateTestResult('API Health Check', {
|
|
132
|
-
status: 'error',
|
|
133
|
-
message: `API health check failed: ${getErrorMessage(error)}`,
|
|
134
|
-
duration: Date.now() - startTime
|
|
135
|
-
})
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Test users API
|
|
140
|
-
const testUsersApi = async () => {
|
|
141
|
-
const startTime = Date.now()
|
|
142
|
-
|
|
143
|
-
addTestResult({
|
|
144
|
-
name: 'Users API Test',
|
|
145
|
-
status: 'pending',
|
|
146
|
-
message: 'Testing users CRUD operations...'
|
|
147
|
-
})
|
|
148
|
-
|
|
149
|
-
try {
|
|
150
|
-
// ✨ Test getting users - Eden Treaty nativo
|
|
151
|
-
const { data: usersResponse, error: getUsersError } = await api.users.get()
|
|
152
|
-
|
|
153
|
-
if (getUsersError) {
|
|
154
|
-
throw new Error(`Get users failed: ${getUsersError.status}`)
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// ✨ Test creating a user - Eden Treaty com inferência perfeita
|
|
158
|
-
const { data: newUser, error: createError } = await api.users.post({
|
|
159
|
-
name: "Test User",
|
|
160
|
-
email: "test@example.com"
|
|
161
|
-
})
|
|
162
|
-
|
|
163
|
-
if (createError) {
|
|
164
|
-
throw new Error(`Create user failed: ${createError.status}`)
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// ✨ Eden Treaty agora infere automaticamente: newUser é UserResponse
|
|
168
|
-
if (!newUser.success || !newUser.user) {
|
|
169
|
-
throw new Error('User creation failed')
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// ✨ Test getting the created user - inferência automática de tipos
|
|
173
|
-
const { data: createdUser, error: getError } = await api.users({ id: newUser.user.id }).get()
|
|
174
|
-
|
|
175
|
-
if (getError) {
|
|
176
|
-
throw new Error(`Get user failed: ${getError.status}`)
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// ✨ Eden Treaty infere: createdUser é { user: User }
|
|
180
|
-
if (!createdUser || !createdUser.user) {
|
|
181
|
-
throw new Error('User not found')
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// ✨ Test deleting the user - inferência automática
|
|
185
|
-
const { data: deleteResult, error: deleteError } = await api.users({ id: newUser.user.id }).delete()
|
|
186
|
-
|
|
187
|
-
if (deleteError) {
|
|
188
|
-
throw new Error(`Delete user failed: ${deleteError.status}`)
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
const duration = Date.now() - startTime
|
|
192
|
-
|
|
193
|
-
updateTestResult('Users API Test', {
|
|
194
|
-
status: 'success',
|
|
195
|
-
message: `Users API working correctly (CRUD operations completed)`,
|
|
196
|
-
details: {
|
|
197
|
-
initialUsers: usersResponse.users.length,
|
|
198
|
-
createdUser: createdUser,
|
|
199
|
-
newUser: newUser,
|
|
200
|
-
deleteResult: deleteResult,
|
|
201
|
-
operations: ['GET', 'POST', 'GET by ID', 'DELETE']
|
|
202
|
-
},
|
|
203
|
-
duration
|
|
204
|
-
})
|
|
205
|
-
} catch (error) {
|
|
206
|
-
updateTestResult('Users API Test', {
|
|
207
|
-
status: 'error',
|
|
208
|
-
message: `Users API test failed: ${getErrorMessage(error)}`,
|
|
209
|
-
duration: Date.now() - startTime
|
|
210
|
-
})
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
// Test Eden Treaty type safety
|
|
215
|
-
const testEdenTreaty = async () => {
|
|
216
|
-
const startTime = Date.now()
|
|
217
|
-
|
|
218
|
-
addTestResult({
|
|
219
|
-
name: 'Eden Treaty Type Safety',
|
|
220
|
-
status: 'pending',
|
|
221
|
-
message: 'Testing Eden Treaty integration...'
|
|
222
|
-
})
|
|
223
|
-
|
|
224
|
-
try {
|
|
225
|
-
// Test that api object has expected methods
|
|
226
|
-
const hasHealthEndpoint = typeof api.health?.get === 'function'
|
|
227
|
-
const hasUsersEndpoint = typeof api.users?.get === 'function'
|
|
228
|
-
const hasUsersPost = typeof api.users?.post === 'function'
|
|
229
|
-
|
|
230
|
-
const typeChecks = {
|
|
231
|
-
hasHealthEndpoint,
|
|
232
|
-
hasUsersEndpoint,
|
|
233
|
-
hasUsersPost,
|
|
234
|
-
apiObjectExists: !!api,
|
|
235
|
-
apiCallExists: typeof apiCall === 'function'
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
const allChecksPass = Object.values(typeChecks).every(Boolean)
|
|
239
|
-
const duration = Date.now() - startTime
|
|
240
|
-
|
|
241
|
-
updateTestResult('Eden Treaty Type Safety', {
|
|
242
|
-
status: allChecksPass ? 'success' : 'error',
|
|
243
|
-
message: allChecksPass
|
|
244
|
-
? 'Eden Treaty is properly configured with type safety'
|
|
245
|
-
: 'Eden Treaty configuration issues detected',
|
|
246
|
-
details: typeChecks,
|
|
247
|
-
duration
|
|
248
|
-
})
|
|
249
|
-
} catch (error) {
|
|
250
|
-
updateTestResult('Eden Treaty Type Safety', {
|
|
251
|
-
status: 'error',
|
|
252
|
-
message: `Eden Treaty test failed: ${getErrorMessage(error)}`,
|
|
253
|
-
duration: Date.now() - startTime
|
|
254
|
-
})
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// Test frontend configuration
|
|
259
|
-
const testFrontendConfig = async () => {
|
|
260
|
-
const startTime = Date.now()
|
|
261
|
-
|
|
262
|
-
addTestResult({
|
|
263
|
-
name: 'Frontend Configuration',
|
|
264
|
-
status: 'pending',
|
|
265
|
-
message: 'Testing frontend configuration...'
|
|
266
|
-
})
|
|
267
|
-
|
|
268
|
-
try {
|
|
269
|
-
const config = {
|
|
270
|
-
mode: import.meta.env.MODE,
|
|
271
|
-
baseUrl: import.meta.env.BASE_URL,
|
|
272
|
-
prod: import.meta.env.PROD,
|
|
273
|
-
dev: import.meta.env.DEV,
|
|
274
|
-
ssrMode: import.meta.env.SSR
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
const hasValidConfig = !!(config.mode && config.baseUrl !== undefined)
|
|
278
|
-
const duration = Date.now() - startTime
|
|
279
|
-
|
|
280
|
-
updateTestResult('Frontend Configuration', {
|
|
281
|
-
status: hasValidConfig ? 'success' : 'error',
|
|
282
|
-
message: hasValidConfig
|
|
283
|
-
? `Frontend configuration loaded (mode: ${config.mode})`
|
|
284
|
-
: 'Frontend configuration incomplete',
|
|
285
|
-
details: config,
|
|
286
|
-
duration
|
|
287
|
-
})
|
|
288
|
-
} catch (error) {
|
|
289
|
-
updateTestResult('Frontend Configuration', {
|
|
290
|
-
status: 'error',
|
|
291
|
-
message: `Frontend config test failed: ${getErrorMessage(error)}`,
|
|
292
|
-
duration: Date.now() - startTime
|
|
293
|
-
})
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// Run all tests
|
|
298
|
-
const runAllTests = async () => {
|
|
299
|
-
setIsRunning(true)
|
|
300
|
-
setTestResults([])
|
|
301
|
-
|
|
302
|
-
await testEnvironmentVariables()
|
|
303
|
-
await new Promise(resolve => setTimeout(resolve, 100)) // Small delay between tests
|
|
304
|
-
|
|
305
|
-
await testFrontendConfig()
|
|
306
|
-
await new Promise(resolve => setTimeout(resolve, 100))
|
|
307
|
-
|
|
308
|
-
await testEdenTreaty()
|
|
309
|
-
await new Promise(resolve => setTimeout(resolve, 100))
|
|
310
|
-
|
|
311
|
-
await testApiHealth()
|
|
312
|
-
await new Promise(resolve => setTimeout(resolve, 100))
|
|
313
|
-
|
|
314
|
-
await testUsersApi()
|
|
315
|
-
|
|
316
|
-
setIsRunning(false)
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
// Clear results
|
|
320
|
-
const clearResults = () => {
|
|
321
|
-
setTestResults([])
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
// Get status color
|
|
325
|
-
const getStatusColor = (status: TestResult['status']) => {
|
|
326
|
-
switch (status) {
|
|
327
|
-
case 'success': return 'text-green-600'
|
|
328
|
-
case 'error': return 'text-red-600'
|
|
329
|
-
case 'pending': return 'text-yellow-600'
|
|
330
|
-
default: return 'text-gray-600'
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
// Get status icon
|
|
335
|
-
const getStatusIcon = (status: TestResult['status']) => {
|
|
336
|
-
switch (status) {
|
|
337
|
-
case 'success': return '✅'
|
|
338
|
-
case 'error': return '❌'
|
|
339
|
-
case 'pending': return '⏳'
|
|
340
|
-
default: return '⚪'
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
return (
|
|
345
|
-
<div className="container mx-auto p-6 max-w-4xl">
|
|
346
|
-
<div className="mb-8">
|
|
347
|
-
<h1 className="text-3xl font-bold text-gray-900 mb-2">
|
|
348
|
-
FluxStack Frontend Tests
|
|
349
|
-
</h1>
|
|
350
|
-
<p className="text-gray-600">
|
|
351
|
-
Test environment variables, API connectivity, and frontend configuration
|
|
352
|
-
</p>
|
|
353
|
-
</div>
|
|
354
|
-
|
|
355
|
-
{/* Control buttons */}
|
|
356
|
-
<div className="mb-6 flex gap-3">
|
|
357
|
-
<button
|
|
358
|
-
onClick={runAllTests}
|
|
359
|
-
disabled={isRunning}
|
|
360
|
-
className="px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed"
|
|
361
|
-
>
|
|
362
|
-
{isRunning ? 'Running Tests...' : 'Run All Tests'}
|
|
363
|
-
</button>
|
|
364
|
-
|
|
365
|
-
<button
|
|
366
|
-
onClick={clearResults}
|
|
367
|
-
disabled={isRunning}
|
|
368
|
-
className="px-4 py-2 bg-gray-600 text-white rounded-lg hover:bg-gray-700 disabled:opacity-50"
|
|
369
|
-
>
|
|
370
|
-
Clear Results
|
|
371
|
-
</button>
|
|
372
|
-
</div>
|
|
373
|
-
|
|
374
|
-
{/* Environment Variables Preview */}
|
|
375
|
-
<div className="mb-6 bg-gray-50 rounded-lg p-4">
|
|
376
|
-
<h2 className="text-lg font-semibold mb-3">Environment Variables Preview</h2>
|
|
377
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-3 text-sm">
|
|
378
|
-
{envTests.map(test => (
|
|
379
|
-
<div key={test.variable} className="flex justify-between items-center p-2 bg-white rounded border">
|
|
380
|
-
<span className="font-medium">{test.name}:</span>
|
|
381
|
-
<code className="text-blue-600 bg-blue-50 px-2 py-1 rounded">
|
|
382
|
-
{import.meta.env[test.variable] || 'undefined'}
|
|
383
|
-
</code>
|
|
384
|
-
</div>
|
|
385
|
-
))}
|
|
386
|
-
</div>
|
|
387
|
-
</div>
|
|
388
|
-
|
|
389
|
-
{/* Test Results */}
|
|
390
|
-
<div className="space-y-4">
|
|
391
|
-
<h2 className="text-xl font-semibold">Test Results</h2>
|
|
392
|
-
|
|
393
|
-
{testResults.length === 0 && (
|
|
394
|
-
<div className="text-center py-8 text-gray-500">
|
|
395
|
-
No tests run yet. Click "Run All Tests" to start.
|
|
396
|
-
</div>
|
|
397
|
-
)}
|
|
398
|
-
|
|
399
|
-
{testResults.map((result, index) => (
|
|
400
|
-
<div
|
|
401
|
-
key={index}
|
|
402
|
-
className="border rounded-lg p-4 bg-white shadow-sm"
|
|
403
|
-
>
|
|
404
|
-
<div className="flex items-center justify-between mb-2">
|
|
405
|
-
<div className="flex items-center gap-2">
|
|
406
|
-
<span className="text-xl">{getStatusIcon(result.status)}</span>
|
|
407
|
-
<h3 className="font-semibold">{result.name}</h3>
|
|
408
|
-
{result.duration && (
|
|
409
|
-
<span className="text-xs text-gray-500">
|
|
410
|
-
({result.duration}ms)
|
|
411
|
-
</span>
|
|
412
|
-
)}
|
|
413
|
-
</div>
|
|
414
|
-
<span className={`text-sm font-medium ${getStatusColor(result.status)}`}>
|
|
415
|
-
{result.status.toUpperCase()}
|
|
416
|
-
</span>
|
|
417
|
-
</div>
|
|
418
|
-
|
|
419
|
-
<p className={`text-sm ${getStatusColor(result.status)} mb-2`}>
|
|
420
|
-
{result.message}
|
|
421
|
-
</p>
|
|
422
|
-
|
|
423
|
-
{result.details && (
|
|
424
|
-
<details className="mt-2">
|
|
425
|
-
<summary className="cursor-pointer text-sm font-medium text-gray-700 hover:text-gray-900">
|
|
426
|
-
View Details
|
|
427
|
-
</summary>
|
|
428
|
-
<pre className="mt-2 text-xs bg-gray-100 p-3 rounded overflow-auto">
|
|
429
|
-
{JSON.stringify(result.details, null, 2)}
|
|
430
|
-
</pre>
|
|
431
|
-
</details>
|
|
432
|
-
)}
|
|
433
|
-
</div>
|
|
434
|
-
))}
|
|
435
|
-
</div>
|
|
436
|
-
|
|
437
|
-
{/* Summary */}
|
|
438
|
-
{testResults.length > 0 && (
|
|
439
|
-
<div className="mt-6 p-4 bg-blue-50 rounded-lg">
|
|
440
|
-
<h3 className="font-semibold text-blue-900 mb-2">Test Summary</h3>
|
|
441
|
-
<div className="text-sm text-blue-800">
|
|
442
|
-
<div>Total: {testResults.length} tests</div>
|
|
443
|
-
<div>Passed: {testResults.filter(r => r.status === 'success').length}</div>
|
|
444
|
-
<div>Failed: {testResults.filter(r => r.status === 'error').length}</div>
|
|
445
|
-
<div>Pending: {testResults.filter(r => r.status === 'pending').length}</div>
|
|
446
|
-
</div>
|
|
447
|
-
</div>
|
|
448
|
-
)}
|
|
449
|
-
</div>
|
|
450
|
-
)
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
export default TestPage
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
@import "tailwindcss";
|
|
2
|
-
|
|
3
|
-
/* Custom CSS variables for dynamic colors */
|
|
4
|
-
:root {
|
|
5
|
-
--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
6
|
-
--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
|
|
7
|
-
--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* Base styles with improved typography */
|
|
11
|
-
* {
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
body {
|
|
16
|
-
margin: 0;
|
|
17
|
-
padding: 0;
|
|
18
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
|
|
19
|
-
-webkit-font-smoothing: antialiased;
|
|
20
|
-
-moz-osx-font-smoothing: grayscale;
|
|
21
|
-
line-height: 1.6;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/* Smooth scrolling */
|
|
25
|
-
html {
|
|
26
|
-
scroll-behavior: smooth;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/* Custom scrollbar for webkit browsers */
|
|
30
|
-
::-webkit-scrollbar {
|
|
31
|
-
width: 8px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
::-webkit-scrollbar-track {
|
|
35
|
-
background: #f1f5f9;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
::-webkit-scrollbar-thumb {
|
|
39
|
-
background: #cbd5e1;
|
|
40
|
-
border-radius: 4px;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
::-webkit-scrollbar-thumb:hover {
|
|
44
|
-
background: #94a3b8;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/* Focus styles for accessibility */
|
|
48
|
-
*:focus {
|
|
49
|
-
outline: 2px solid #3b82f6;
|
|
50
|
-
outline-offset: 2px;
|
|
51
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
// Eden Treaty API Client - Full Type Inference
|
|
2
|
-
import { treaty } from '@elysiajs/eden'
|
|
3
|
-
import type { App } from '../../../server/app'
|
|
4
|
-
|
|
5
|
-
// Get base URL dynamically
|
|
6
|
-
const getBaseUrl = () => {
|
|
7
|
-
if (typeof window === 'undefined') return 'http://localhost:3000'
|
|
8
|
-
|
|
9
|
-
// In production, use current origin
|
|
10
|
-
if (window.location.hostname !== 'localhost') {
|
|
11
|
-
return window.location.origin
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
// In development, use backend server (port 3000 for integrated mode)
|
|
15
|
-
return 'http://localhost:3000'
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// Create Eden Treaty client with proper typing
|
|
19
|
-
const client = treaty<App>(getBaseUrl())
|
|
20
|
-
|
|
21
|
-
// Export the client's API directly to get proper type inference
|
|
22
|
-
export const api = client.api
|
|
23
|
-
|
|
24
|
-
// Enhanced error handling
|
|
25
|
-
export interface APIError {
|
|
26
|
-
message: string
|
|
27
|
-
status: number
|
|
28
|
-
code?: string
|
|
29
|
-
details?: any
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export class APIException extends Error {
|
|
33
|
-
status: number
|
|
34
|
-
code?: string
|
|
35
|
-
details?: any
|
|
36
|
-
|
|
37
|
-
constructor(error: APIError) {
|
|
38
|
-
super(error.message)
|
|
39
|
-
this.name = 'APIException'
|
|
40
|
-
this.status = error.status
|
|
41
|
-
this.code = error.code
|
|
42
|
-
this.details = error.details
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Minimal wrapper that preserves Eden's automatic type inference
|
|
47
|
-
export async function apiCall(apiPromise: Promise<any>) {
|
|
48
|
-
try {
|
|
49
|
-
const { data, error } = await apiPromise
|
|
50
|
-
|
|
51
|
-
if (error) {
|
|
52
|
-
throw new APIException({
|
|
53
|
-
message: error.value?.message || 'API Error',
|
|
54
|
-
status: error.status,
|
|
55
|
-
code: error.value?.code,
|
|
56
|
-
details: error.value
|
|
57
|
-
})
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return data // ✨ Preserva a inferência automática do Eden
|
|
61
|
-
} catch (error) {
|
|
62
|
-
// Handle network errors and other promise rejections
|
|
63
|
-
if (error instanceof APIException) {
|
|
64
|
-
throw error // Re-throw APIException
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (error instanceof Error) {
|
|
68
|
-
throw new APIException({
|
|
69
|
-
message: error.message,
|
|
70
|
-
status: 500,
|
|
71
|
-
code: 'NETWORK_ERROR'
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Handle unknown error types
|
|
76
|
-
throw new APIException({
|
|
77
|
-
message: 'Unknown error',
|
|
78
|
-
status: 500,
|
|
79
|
-
code: 'NETWORK_ERROR'
|
|
80
|
-
})
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// User-friendly error messages
|
|
85
|
-
export function getErrorMessage(error: unknown): string {
|
|
86
|
-
if (error instanceof APIException) {
|
|
87
|
-
switch (error.status) {
|
|
88
|
-
case 400:
|
|
89
|
-
return error.message || 'Dados inválidos fornecidos'
|
|
90
|
-
case 401:
|
|
91
|
-
return 'Acesso não autorizado'
|
|
92
|
-
case 403:
|
|
93
|
-
return 'Acesso negado'
|
|
94
|
-
case 404:
|
|
95
|
-
return 'Recurso não encontrado'
|
|
96
|
-
case 422:
|
|
97
|
-
return 'Dados de entrada inválidos'
|
|
98
|
-
case 500:
|
|
99
|
-
return 'Erro interno do servidor'
|
|
100
|
-
default:
|
|
101
|
-
return error.message || 'Erro desconhecido'
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (error instanceof Error) {
|
|
106
|
-
return error.message
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return 'Erro desconhecido'
|
|
110
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/// <reference types="vite/client" />
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
4
|
-
"target": "ES2022",
|
|
5
|
-
"useDefineForClassFields": true,
|
|
6
|
-
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
-
"module": "ESNext",
|
|
8
|
-
"skipLibCheck": true,
|
|
9
|
-
|
|
10
|
-
/* Bundler mode */
|
|
11
|
-
"moduleResolution": "bundler",
|
|
12
|
-
"allowImportingTsExtensions": true,
|
|
13
|
-
"verbatimModuleSyntax": true,
|
|
14
|
-
"moduleDetection": "force",
|
|
15
|
-
"noEmit": true,
|
|
16
|
-
"jsx": "react-jsx",
|
|
17
|
-
|
|
18
|
-
/* Path mapping (alias support) */
|
|
19
|
-
"baseUrl": ".",
|
|
20
|
-
"paths": {
|
|
21
|
-
"@/*": ["./src/*"],
|
|
22
|
-
"@/components/*": ["./src/components/*"],
|
|
23
|
-
"@/utils/*": ["./src/utils/*"],
|
|
24
|
-
"@/hooks/*": ["./src/hooks/*"],
|
|
25
|
-
"@/assets/*": ["./src/assets/*"],
|
|
26
|
-
"@/lib/*": ["./src/lib/*"],
|
|
27
|
-
"@/types/*": ["./src/types/*"],
|
|
28
|
-
"@/shared/*": ["../shared/*"],
|
|
29
|
-
"@/core/*": ["../../core/*"],
|
|
30
|
-
"@/config/*": ["../../config/*"],
|
|
31
|
-
"elysia": ["../../node_modules/elysia"]
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
/* Linting */
|
|
35
|
-
"strict": true,
|
|
36
|
-
"noUnusedLocals": true,
|
|
37
|
-
"noUnusedParameters": true,
|
|
38
|
-
"erasableSyntaxOnly": true,
|
|
39
|
-
"noFallthroughCasesInSwitch": true,
|
|
40
|
-
"noUncheckedSideEffectImports": true
|
|
41
|
-
},
|
|
42
|
-
"include": ["src"]
|
|
43
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
|
4
|
-
"target": "ES2023",
|
|
5
|
-
"lib": ["ES2023"],
|
|
6
|
-
"module": "ESNext",
|
|
7
|
-
"skipLibCheck": true,
|
|
8
|
-
|
|
9
|
-
/* Bundler mode */
|
|
10
|
-
"moduleResolution": "bundler",
|
|
11
|
-
"allowImportingTsExtensions": true,
|
|
12
|
-
"verbatimModuleSyntax": true,
|
|
13
|
-
"moduleDetection": "force",
|
|
14
|
-
"noEmit": true,
|
|
15
|
-
|
|
16
|
-
/* Linting */
|
|
17
|
-
"strict": true,
|
|
18
|
-
"noUnusedLocals": true,
|
|
19
|
-
"noUnusedParameters": true,
|
|
20
|
-
"erasableSyntaxOnly": true,
|
|
21
|
-
"noFallthroughCasesInSwitch": true,
|
|
22
|
-
"noUncheckedSideEffectImports": true
|
|
23
|
-
},
|
|
24
|
-
"include": ["vite.config.ts"]
|
|
25
|
-
}
|