{"id":28046,"library":"pitaya-framework","title":"Pitaya Framework","description":"An Aurelia-based plugin framework for building modular web applications with TypeScript support. Currently at version 0.0.44, with low release cadence. It is bootstrapped with aurelia-cli and provides custom elements, attributes, value converters, and binding behaviors. Unlike full Aurelia applications, this package focuses on reusable resources that can be imported into any Aurelia project. It uses PLATFORM.moduleName() for compatibility with webpack, CLI bundler, and jspm. The package does not bundle core Aurelia dependencies, relying on the host app to provide them, which reduces duplication risk. TypeScript types are included.","status":"active","version":"0.0.44","language":"javascript","source_language":"en","source_url":"https://github.com/pitaya-foundation/pitaya-framework","tags":["javascript","pitaya framework","mdc web","aurelia","typescript"],"install":[{"cmd":"npm install pitaya-framework","lang":"bash","label":"npm"},{"cmd":"yarn add pitaya-framework","lang":"bash","label":"yarn"},{"cmd":"pnpm add pitaya-framework","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for Aurelia dependency injection, custom elements, and other framework features.","package":"aurelia-framework","optional":true},{"reason":"Imported in src/index.ts, used for platform abstraction.","package":"aurelia-pal","optional":true}],"imports":[{"note":"PLATFORM is re-exported from pitaya-framework, but importing directly from 'aurelia-pal' avoids version mismatches.","wrong":"import { PLATFORM } from 'pitaya-framework';","symbol":"PLATFORM","correct":"import { PLATFORM } from 'aurelia-pal';"},{"note":"autoinject is not part of pitaya-framework; it must be imported from aurelia-framework.","wrong":"import { autoinject } from 'pitaya-framework';","symbol":"autoinject","correct":"import { autoinject } from 'aurelia-framework';"},{"note":"In the dev app, 'resources' is an alias for the inner plugin. For consumers, the correct import path depends on how the plugin is registered.","wrong":"import { MyService } from 'pitaya-framework';","symbol":"MyService","correct":"import { MyService } from 'resources';"},{"note":"PLATFORM.moduleName() wrapper is mandatory for bundler compatibility.","wrong":"config.globalResources(['./path/to/resource']);","symbol":"config.globalResources","correct":"config.globalResources([PLATFORM.moduleName('./path/to/resource')]);"},{"note":"The main entry exports a configure function, not a default export.","wrong":"import Pitaya from 'pitaya-framework';","symbol":"default export","correct":"import { configure } from 'pitaya-framework';"}],"quickstart":{"code":"// In your Aurelia app's main.ts (or main.js)\nimport { PLATFORM } from 'aurelia-pal';\nimport { configure } from 'pitaya-framework';\n\nexport function configure(aurelia) {\n  aurelia.use\n    .standardConfiguration()\n    .feature(PLATFORM.moduleName('pitaya-framework/index'));\n\n  aurelia.start().then(() => aurelia.setRoot(PLATFORM.moduleName('app')));\n}\n","lang":"typescript","description":"Shows how to register pitaya-framework as a feature using PLATFORM.moduleName() and the configure function."},"warnings":[{"fix":"Always wrap resource paths: PLATFORM.moduleName('./path/to/resource')","message":"PLATFORM.moduleName() wrapper is required when registering resources in globalResources().","severity":"gotcha","affected_versions":"all"},{"fix":"In consumer apps, import from the package itself or use PLATFORM.moduleName() as configured.","message":"Importing from 'resources' only works in the dev app, not in consumer apps.","severity":"gotcha","affected_versions":"all"},{"fix":"Add aurelia-framework, aurelia-pal, etc. as peerDependencies or ensure host app provides them.","message":"The package does not include core Aurelia dependencies, relying on host app. This may cause peer dependency warnings in npm/yarn.","severity":"deprecated","affected_versions":"all"},{"fix":"Always import PLATFORM directly from 'aurelia-pal'.","message":"Do not import PLATFORM from pitaya-framework; it re-exports from aurelia-pal but may cause version conflicts.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"npm install pitaya-framework --save","cause":"Package not installed or incorrect import path.","error":"Error: Cannot find module 'pitaya-framework'"},{"fix":"Ensure aurelia.use.standardConfiguration() is called before aurelia.use.feature().","cause":"aurelia instance not properly configured before calling feature().","error":"TypeError: aurelia.use.feature is not a function"},{"fix":"import { PLATFORM } from 'aurelia-pal';","cause":"Missing import of PLATFORM from aurelia-pal.","error":"PLATFORM.moduleName is not defined"},{"fix":"Add TypeScript loader to webpack config (e.g., ts-loader).","cause":"Webpack not configured to handle TypeScript files.","error":"Module parse failed: Unexpected token (1:8) - You may need an appropriate loader for this file type."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}