@mytechtoday/augment-extensions 1.7.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +119 -8
- package/augment-extensions/coding-standards/bash/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/bash/metadata.json +21 -0
- package/augment-extensions/coding-standards/c/metadata.json +50 -0
- package/augment-extensions/coding-standards/css/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/css/metadata.json +30 -0
- package/augment-extensions/coding-standards/go/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/go/metadata.json +57 -0
- package/augment-extensions/coding-standards/html/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/html/metadata.json +25 -0
- package/augment-extensions/coding-standards/html-css-js/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/html-css-js/metadata.json +40 -0
- package/augment-extensions/coding-standards/js/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/js/metadata.json +37 -0
- package/augment-extensions/coding-standards/php/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/php/metadata.json +35 -0
- package/augment-extensions/coding-standards/powershell/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/powershell/metadata.json +33 -0
- package/augment-extensions/coding-standards/python/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/python/metadata.json +38 -0
- package/augment-extensions/coding-standards/react/CHANGELOG.md +51 -0
- package/augment-extensions/coding-standards/react/metadata.json +31 -0
- package/augment-extensions/coding-standards/typescript/CHANGELOG.md +39 -0
- package/augment-extensions/coding-standards/typescript/README.md +248 -19
- package/augment-extensions/coding-standards/typescript/VERSION +2 -0
- package/augment-extensions/coding-standards/typescript/examples/biome.json +199 -0
- package/augment-extensions/coding-standards/typescript/examples/eslint-flat-config.js +166 -0
- package/augment-extensions/coding-standards/typescript/examples/monorepo-config/README.md +47 -0
- package/augment-extensions/coding-standards/typescript/examples/monorepo-config/package.json +37 -0
- package/augment-extensions/coding-standards/typescript/examples/monorepo-config/pnpm-workspace.yaml +5 -0
- package/augment-extensions/coding-standards/typescript/examples/monorepo-config/tsconfig.base.json +50 -0
- package/augment-extensions/coding-standards/typescript/examples/monorepo-config/turbo.json +47 -0
- package/augment-extensions/coding-standards/typescript/examples/vitest-setup.ts +198 -0
- package/augment-extensions/coding-standards/typescript/metadata.json +46 -0
- package/augment-extensions/coding-standards/typescript/module.json +25 -7
- package/augment-extensions/coding-standards/typescript/rules/architecture.md +1096 -0
- package/augment-extensions/coding-standards/typescript/rules/error-handling.md +1174 -0
- package/augment-extensions/coding-standards/typescript/rules/modern-features.md +625 -0
- package/augment-extensions/coding-standards/typescript/rules/monorepo.md +745 -0
- package/augment-extensions/coding-standards/typescript/rules/security-performance.md +850 -0
- package/augment-extensions/coding-standards/typescript/rules/testing.md +918 -0
- package/augment-extensions/coding-standards/typescript/rules/tooling.md +1071 -0
- package/augment-extensions/coding-standards/typescript/rules/type-patterns.md +750 -0
- package/augment-extensions/domain-rules/api-design/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/api-design/metadata.json +32 -0
- package/augment-extensions/domain-rules/database/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/database/metadata.json +50 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/dracula/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/dracula/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/monokai/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/monokai/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/nord/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/nord/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/one-dark/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/one-dark/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/one-light/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/one-light/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/metadata.json +18 -0
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/metadata.json +18 -0
- package/augment-extensions/domain-rules/mcp/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/mcp/metadata.json +42 -0
- package/augment-extensions/domain-rules/security/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/security/metadata.json +33 -0
- package/augment-extensions/domain-rules/seo-sales-marketing/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/seo-sales-marketing/metadata.json +40 -0
- package/augment-extensions/domain-rules/software-architecture/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/software-architecture/metadata.json +55 -0
- package/augment-extensions/domain-rules/wordpress/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/wordpress/metadata.json +42 -0
- package/augment-extensions/domain-rules/wordpress-plugin/CHANGELOG.md +51 -0
- package/augment-extensions/domain-rules/wordpress-plugin/metadata.json +70 -0
- package/augment-extensions/examples/design-patterns/CHANGELOG.md +51 -0
- package/augment-extensions/examples/design-patterns/metadata.json +29 -0
- package/augment-extensions/examples/gutenberg-block-plugin/CHANGELOG.md +51 -0
- package/augment-extensions/examples/gutenberg-block-plugin/metadata.json +26 -0
- package/augment-extensions/examples/rest-api-plugin/CHANGELOG.md +51 -0
- package/augment-extensions/examples/rest-api-plugin/metadata.json +27 -0
- package/augment-extensions/examples/woocommerce-extension/CHANGELOG.md +51 -0
- package/augment-extensions/examples/woocommerce-extension/metadata.json +27 -0
- package/augment-extensions/visual-design/metadata.json +34 -0
- package/augment-extensions/workflows/adr-support/CHANGELOG.md +51 -0
- package/augment-extensions/workflows/adr-support/metadata.json +41 -0
- package/augment-extensions/workflows/beads/CHANGELOG.md +51 -0
- package/augment-extensions/workflows/beads/metadata.json +23 -0
- package/augment-extensions/workflows/beads-integration/CHANGELOG.md +51 -0
- package/augment-extensions/workflows/beads-integration/metadata.json +30 -0
- package/augment-extensions/workflows/database/CHANGELOG.md +51 -0
- package/augment-extensions/workflows/database/metadata.json +30 -0
- package/augment-extensions/workflows/wordpress-plugin/CHANGELOG.md +51 -0
- package/augment-extensions/workflows/wordpress-plugin/metadata.json +41 -0
- package/augment-extensions/writing-standards/literature/shakespeare/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/literature/shakespeare/metadata.json +60 -0
- package/augment-extensions/writing-standards/screenplay/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/monty-python/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/monty-python/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/saturday-night-live/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/saturday-night-live/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/alfred-hitchcock/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/alfred-hitchcock/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/ari-aster/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/ari-aster/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brad-bird/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brad-bird/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brian-de-palma/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brian-de-palma/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/buster-keaton/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/buster-keaton/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/christopher-nolan/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/christopher-nolan/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/clint-eastwood/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/clint-eastwood/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/coen-brothers/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/coen-brothers/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/darren-aronofsky/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/darren-aronofsky/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-fincher/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-fincher/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-lynch/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-lynch/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/denis-villeneuve/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/denis-villeneuve/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/francis-ford-coppola/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/francis-ford-coppola/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gary-marshall/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gary-marshall/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-a-romero/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-a-romero/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-lucas/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-lucas/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/guillermo-del-toro/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/guillermo-del-toro/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gus-van-sant/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gus-van-sant/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/james-ivory-ismail-merchant/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/james-ivory-ismail-merchant/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jim-jarmusch/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jim-jarmusch/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-carpenter/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-carpenter/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-ford/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-ford/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-huston/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-huston/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-landis/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-landis/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jonathan-demme/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jonathan-demme/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/joseph-l-mankiewicz/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/joseph-l-mankiewicz/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kathryn-bigelow/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kathryn-bigelow/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kelly-reichardt/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kelly-reichardt/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kevin-smith/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kevin-smith/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/linda-shayne/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/linda-shayne/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/martin-scorsese/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/martin-scorsese/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mel-brooks/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mel-brooks/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/metadata.json +25 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-curtiz/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-curtiz/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-mann/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-mann/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mike-nichols/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mike-nichols/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/orson-welles/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/orson-welles/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/park-chan-wook/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/park-chan-wook/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/paul-thomas-anderson/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/paul-thomas-anderson/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/penny-marshall/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/penny-marshall/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/peter-bogdanovich/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/peter-bogdanovich/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/quentin-tarantino/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/quentin-tarantino/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/richard-linklater/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/richard-linklater/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/rob-reiner/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/rob-reiner/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-altman/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-altman/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-eggers/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-eggers/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-zemeckis/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-zemeckis/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sam-peckinpah/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sam-peckinpah/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sidney-lumet/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sidney-lumet/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/spike-lee/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/spike-lee/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-donen-gene-kelly/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-donen-gene-kelly/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-kubrick/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-kubrick/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steve-martin/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steve-martin/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steven-spielberg/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steven-spielberg/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sydney-pollack/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sydney-pollack/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/terry-gilliam/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/terry-gilliam/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tim-burton/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tim-burton/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tobe-hooper/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tobe-hooper/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/wes-anderson/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/wes-anderson/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/william-friedkin/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/william-friedkin/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/blue-ruin/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/blue-ruin/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/fast-and-furious/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/fast-and-furious/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/harry-potter/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/harry-potter/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/james-bond/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/james-bond/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/john-wick/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/john-wick/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/lord-of-the-rings/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/lord-of-the-rings/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/metadata.json +25 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/metadata.json +25 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/metadata.json +33 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-wars/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-wars/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/metadata.json +50 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/joseph-campbell/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/joseph-campbell/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/bruckheimer-and-simpson/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/bruckheimer-and-simpson/metadata.json +24 -0
- package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/metadata.json +23 -0
- package/augment-extensions/writing-standards/screenplay/genres/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/genres/metadata.json +43 -0
- package/augment-extensions/writing-standards/screenplay/metadata.json +65 -0
- package/augment-extensions/writing-standards/screenplay/styles/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/styles/metadata.json +38 -0
- package/augment-extensions/writing-standards/screenplay/themes/CHANGELOG.md +51 -0
- package/augment-extensions/writing-standards/screenplay/themes/metadata.json +47 -0
- package/cli/dist/__test_health-checker.d.ts +2 -0
- package/cli/dist/__test_health-checker.d.ts.map +1 -0
- package/cli/dist/__test_health-checker.js +4 -0
- package/cli/dist/__test_health-checker.js.map +1 -0
- package/cli/dist/__test_template-engine.d.ts +2 -0
- package/cli/dist/__test_template-engine.d.ts.map +1 -0
- package/cli/dist/__test_template-engine.js +4 -0
- package/cli/dist/__test_template-engine.js.map +1 -0
- package/cli/dist/cli.js +25 -0
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/generate-shot-list/generator/index.d.ts +8 -2
- package/cli/dist/commands/generate-shot-list/generator/index.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list/generator/index.js +28 -3
- package/cli/dist/commands/generate-shot-list/generator/index.js.map +1 -1
- package/cli/dist/commands/generate-shot-list/generator/types.d.ts +3 -0
- package/cli/dist/commands/generate-shot-list/generator/types.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list/help-text.d.ts +1 -1
- package/cli/dist/commands/generate-shot-list/help-text.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list/help-text.js +48 -5
- package/cli/dist/commands/generate-shot-list/help-text.js.map +1 -1
- package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.d.ts +11 -1
- package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.js +61 -1
- package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.js.map +1 -1
- package/cli/dist/commands/generate-shot-list/parser/docx-parser.d.ts +29 -0
- package/cli/dist/commands/generate-shot-list/parser/docx-parser.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/docx-parser.js +111 -0
- package/cli/dist/commands/generate-shot-list/parser/docx-parser.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.d.ts +18 -0
- package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.js +184 -0
- package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/index.d.ts +4 -3
- package/cli/dist/commands/generate-shot-list/parser/index.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list/parser/index.js +54 -3
- package/cli/dist/commands/generate-shot-list/parser/index.js.map +1 -1
- package/cli/dist/commands/generate-shot-list/parser/pdf-parser.d.ts +24 -0
- package/cli/dist/commands/generate-shot-list/parser/pdf-parser.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/pdf-parser.js +84 -0
- package/cli/dist/commands/generate-shot-list/parser/pdf-parser.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/rtf-parser.d.ts +28 -0
- package/cli/dist/commands/generate-shot-list/parser/rtf-parser.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/rtf-parser.js +143 -0
- package/cli/dist/commands/generate-shot-list/parser/rtf-parser.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/parser/types.d.ts +9 -6
- package/cli/dist/commands/generate-shot-list/parser/types.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list/parser/types.js.map +1 -1
- package/cli/dist/commands/generate-shot-list/style/guideline-parser.d.ts +36 -0
- package/cli/dist/commands/generate-shot-list/style/guideline-parser.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/guideline-parser.js +108 -0
- package/cli/dist/commands/generate-shot-list/style/guideline-parser.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/index.d.ts +39 -0
- package/cli/dist/commands/generate-shot-list/style/index.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/index.js +85 -0
- package/cli/dist/commands/generate-shot-list/style/index.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/style-loader.d.ts +35 -0
- package/cli/dist/commands/generate-shot-list/style/style-loader.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/style-loader.js +178 -0
- package/cli/dist/commands/generate-shot-list/style/style-loader.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/style-merger.d.ts +36 -0
- package/cli/dist/commands/generate-shot-list/style/style-merger.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/style-merger.js +123 -0
- package/cli/dist/commands/generate-shot-list/style/style-merger.js.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/types.d.ts +105 -0
- package/cli/dist/commands/generate-shot-list/style/types.d.ts.map +1 -0
- package/cli/dist/commands/generate-shot-list/style/types.js +8 -0
- package/cli/dist/commands/generate-shot-list/style/types.js.map +1 -0
- package/cli/dist/commands/generate-shot-list.d.ts +1 -0
- package/cli/dist/commands/generate-shot-list.d.ts.map +1 -1
- package/cli/dist/commands/generate-shot-list.js +44 -1
- package/cli/dist/commands/generate-shot-list.js.map +1 -1
- package/cli/dist/commands/list.d.ts +1 -0
- package/cli/dist/commands/list.d.ts.map +1 -1
- package/cli/dist/commands/list.js +21 -5
- package/cli/dist/commands/list.js.map +1 -1
- package/cli/dist/commands/upgrade.d.ts +15 -0
- package/cli/dist/commands/upgrade.d.ts.map +1 -0
- package/cli/dist/commands/upgrade.js +229 -0
- package/cli/dist/commands/upgrade.js.map +1 -0
- package/cli/dist/commands/use.d.ts +15 -0
- package/cli/dist/commands/use.d.ts.map +1 -0
- package/cli/dist/commands/use.js +180 -0
- package/cli/dist/commands/use.js.map +1 -0
- package/cli/dist/commands/version-info.d.ts +15 -0
- package/cli/dist/commands/version-info.d.ts.map +1 -0
- package/cli/dist/commands/version-info.js +194 -0
- package/cli/dist/commands/version-info.js.map +1 -0
- package/cli/dist/core/compatibility-checker.d.ts +73 -0
- package/cli/dist/core/compatibility-checker.d.ts.map +1 -0
- package/cli/dist/core/compatibility-checker.js +188 -0
- package/cli/dist/core/compatibility-checker.js.map +1 -0
- package/cli/dist/core/index.d.ts +9 -0
- package/cli/dist/core/index.d.ts.map +1 -0
- package/cli/dist/core/index.js +16 -0
- package/cli/dist/core/index.js.map +1 -0
- package/cli/dist/core/module-loader.d.ts +68 -0
- package/cli/dist/core/module-loader.d.ts.map +1 -0
- package/cli/dist/core/module-loader.js +137 -0
- package/cli/dist/core/module-loader.js.map +1 -0
- package/cli/dist/core/version-manager.d.ts +62 -0
- package/cli/dist/core/version-manager.d.ts.map +1 -0
- package/cli/dist/core/version-manager.js +157 -0
- package/cli/dist/core/version-manager.js.map +1 -0
- package/cli/dist/core/version-resolver.d.ts +63 -0
- package/cli/dist/core/version-resolver.d.ts.map +1 -0
- package/cli/dist/core/version-resolver.js +163 -0
- package/cli/dist/core/version-resolver.js.map +1 -0
- package/cli/dist/gui/app.d.ts +17 -0
- package/cli/dist/gui/app.d.ts.map +1 -0
- package/cli/dist/gui/app.js +79 -0
- package/cli/dist/gui/app.js.map +1 -0
- package/cli/dist/gui/components/preview-pane.d.ts +40 -0
- package/cli/dist/gui/components/preview-pane.d.ts.map +1 -0
- package/cli/dist/gui/components/preview-pane.js +90 -0
- package/cli/dist/gui/components/preview-pane.js.map +1 -0
- package/cli/dist/gui/components/search-filter.d.ts +26 -0
- package/cli/dist/gui/components/search-filter.d.ts.map +1 -0
- package/cli/dist/gui/components/search-filter.js +168 -0
- package/cli/dist/gui/components/search-filter.js.map +1 -0
- package/cli/dist/gui/components/status-bar.d.ts +22 -0
- package/cli/dist/gui/components/status-bar.d.ts.map +1 -0
- package/cli/dist/gui/components/status-bar.js +58 -0
- package/cli/dist/gui/components/status-bar.js.map +1 -0
- package/cli/dist/gui/components/tree-navigator.d.ts +30 -0
- package/cli/dist/gui/components/tree-navigator.d.ts.map +1 -0
- package/cli/dist/gui/components/tree-navigator.js +133 -0
- package/cli/dist/gui/components/tree-navigator.js.map +1 -0
- package/cli/dist/gui/components/version-selector.d.ts +27 -0
- package/cli/dist/gui/components/version-selector.d.ts.map +1 -0
- package/cli/dist/gui/components/version-selector.js +110 -0
- package/cli/dist/gui/components/version-selector.js.map +1 -0
- package/cli/dist/gui/hooks/use-version-loader.d.ts +25 -0
- package/cli/dist/gui/hooks/use-version-loader.d.ts.map +1 -0
- package/cli/dist/gui/hooks/use-version-loader.js +116 -0
- package/cli/dist/gui/hooks/use-version-loader.js.map +1 -0
- package/cli/dist/gui/index.d.ts +15 -0
- package/cli/dist/gui/index.d.ts.map +1 -0
- package/cli/dist/gui/index.js +39 -0
- package/cli/dist/gui/index.js.map +1 -0
- package/cli/dist/gui/layouts/main-layout.d.ts +14 -0
- package/cli/dist/gui/layouts/main-layout.d.ts.map +1 -0
- package/cli/dist/gui/layouts/main-layout.js +205 -0
- package/cli/dist/gui/layouts/main-layout.js.map +1 -0
- package/cli/dist/gui/state/navigation-state.d.ts +39 -0
- package/cli/dist/gui/state/navigation-state.d.ts.map +1 -0
- package/cli/dist/gui/state/navigation-state.js +151 -0
- package/cli/dist/gui/state/navigation-state.js.map +1 -0
- package/cli/dist/gui/state/selection-state.d.ts +36 -0
- package/cli/dist/gui/state/selection-state.d.ts.map +1 -0
- package/cli/dist/gui/state/selection-state.js +132 -0
- package/cli/dist/gui/state/selection-state.js.map +1 -0
- package/cli/dist/gui/theme.d.ts +50 -0
- package/cli/dist/gui/theme.d.ts.map +1 -0
- package/cli/dist/gui/theme.js +73 -0
- package/cli/dist/gui/theme.js.map +1 -0
- package/cli/dist/utils/help.d.ts +13 -0
- package/cli/dist/utils/help.d.ts.map +1 -0
- package/cli/dist/utils/help.js +137 -0
- package/cli/dist/utils/help.js.map +1 -0
- package/cli/dist/utils/module-system.d.ts +8 -0
- package/cli/dist/utils/module-system.d.ts.map +1 -1
- package/cli/dist/utils/module-system.js +38 -3
- package/cli/dist/utils/module-system.js.map +1 -1
- package/cli/dist/utils/validate-versioning.d.ts +43 -0
- package/cli/dist/utils/validate-versioning.d.ts.map +1 -0
- package/cli/dist/utils/validate-versioning.js +258 -0
- package/cli/dist/utils/validate-versioning.js.map +1 -0
- package/package.json +10 -1
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CompatibilityChecker = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const module_system_1 = require("../utils/module-system");
|
|
40
|
+
const child_process_1 = require("child_process");
|
|
41
|
+
/**
|
|
42
|
+
* CompatibilityChecker class
|
|
43
|
+
* Validates module compatibility with runtime environment
|
|
44
|
+
*/
|
|
45
|
+
class CompatibilityChecker {
|
|
46
|
+
constructor() {
|
|
47
|
+
this.nodeVersion = process.version.replace('v', '');
|
|
48
|
+
this.typescriptVersion = this.detectTypeScriptVersion();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Check compatibility of a module
|
|
52
|
+
* @param modulePath Path to the module directory
|
|
53
|
+
* @returns Compatibility check result
|
|
54
|
+
*/
|
|
55
|
+
checkCompatibility(modulePath) {
|
|
56
|
+
const errors = [];
|
|
57
|
+
const warnings = [];
|
|
58
|
+
const deprecations = [];
|
|
59
|
+
const details = {};
|
|
60
|
+
// Load module metadata
|
|
61
|
+
const metadata = this.loadCompatibilityMetadata(modulePath);
|
|
62
|
+
if (!metadata) {
|
|
63
|
+
warnings.push('No compatibility metadata found');
|
|
64
|
+
return {
|
|
65
|
+
compatible: true,
|
|
66
|
+
errors,
|
|
67
|
+
warnings,
|
|
68
|
+
deprecations,
|
|
69
|
+
details
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// Check deprecation
|
|
73
|
+
if (metadata.deprecated) {
|
|
74
|
+
deprecations.push(metadata.deprecationMessage || 'This module is deprecated');
|
|
75
|
+
}
|
|
76
|
+
// Check breaking changes
|
|
77
|
+
if (metadata.breaking) {
|
|
78
|
+
warnings.push('This version contains breaking changes');
|
|
79
|
+
}
|
|
80
|
+
// Check Node.js version
|
|
81
|
+
if (metadata.nodeMinVersion) {
|
|
82
|
+
const nodeCheck = this.checkNodeVersion(metadata.nodeMinVersion);
|
|
83
|
+
details.node = nodeCheck;
|
|
84
|
+
if (!nodeCheck.compatible) {
|
|
85
|
+
errors.push(nodeCheck.message || 'Node.js version incompatible');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Check TypeScript version
|
|
89
|
+
if (metadata.typescriptMinVersion) {
|
|
90
|
+
const tsCheck = this.checkTypeScriptVersion(metadata.typescriptMinVersion);
|
|
91
|
+
details.typescript = tsCheck;
|
|
92
|
+
if (!tsCheck.compatible) {
|
|
93
|
+
warnings.push(tsCheck.message || 'TypeScript version may be incompatible');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Check Augment version (if available)
|
|
97
|
+
if (metadata.augmentMinVersion) {
|
|
98
|
+
// TODO: Implement Augment version detection
|
|
99
|
+
details.augment = {
|
|
100
|
+
required: metadata.augmentMinVersion,
|
|
101
|
+
current: 'unknown',
|
|
102
|
+
compatible: true,
|
|
103
|
+
message: 'Augment version check not implemented'
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
compatible: errors.length === 0,
|
|
108
|
+
errors,
|
|
109
|
+
warnings,
|
|
110
|
+
deprecations,
|
|
111
|
+
details
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check Node.js version compatibility
|
|
116
|
+
* @param requiredVersion Minimum required Node.js version
|
|
117
|
+
* @returns Version check result
|
|
118
|
+
*/
|
|
119
|
+
checkNodeVersion(requiredVersion) {
|
|
120
|
+
const compatible = (0, module_system_1.compareSemanticVersions)(this.nodeVersion, requiredVersion) >= 0;
|
|
121
|
+
return {
|
|
122
|
+
required: requiredVersion,
|
|
123
|
+
current: this.nodeVersion,
|
|
124
|
+
compatible,
|
|
125
|
+
message: compatible
|
|
126
|
+
? undefined
|
|
127
|
+
: `Node.js ${requiredVersion} or higher required (current: ${this.nodeVersion})`
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check TypeScript version compatibility
|
|
132
|
+
* @param requiredVersion Minimum required TypeScript version
|
|
133
|
+
* @returns Version check result
|
|
134
|
+
*/
|
|
135
|
+
checkTypeScriptVersion(requiredVersion) {
|
|
136
|
+
if (!this.typescriptVersion) {
|
|
137
|
+
return {
|
|
138
|
+
required: requiredVersion,
|
|
139
|
+
current: 'not installed',
|
|
140
|
+
compatible: false,
|
|
141
|
+
message: `TypeScript ${requiredVersion} or higher required (not installed)`
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
const compatible = (0, module_system_1.compareSemanticVersions)(this.typescriptVersion, requiredVersion) >= 0;
|
|
145
|
+
return {
|
|
146
|
+
required: requiredVersion,
|
|
147
|
+
current: this.typescriptVersion,
|
|
148
|
+
compatible,
|
|
149
|
+
message: compatible
|
|
150
|
+
? undefined
|
|
151
|
+
: `TypeScript ${requiredVersion} or higher required (current: ${this.typescriptVersion})`
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Load compatibility metadata from module
|
|
156
|
+
* @param modulePath Path to the module directory
|
|
157
|
+
* @returns Compatibility metadata or null
|
|
158
|
+
*/
|
|
159
|
+
loadCompatibilityMetadata(modulePath) {
|
|
160
|
+
const metadataFile = path.join(modulePath, 'metadata.json');
|
|
161
|
+
if (!fs.existsSync(metadataFile)) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
try {
|
|
165
|
+
const content = JSON.parse(fs.readFileSync(metadataFile, 'utf-8'));
|
|
166
|
+
return content.compatibility || null;
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Detect installed TypeScript version
|
|
174
|
+
* @returns TypeScript version string or null if not installed
|
|
175
|
+
*/
|
|
176
|
+
detectTypeScriptVersion() {
|
|
177
|
+
try {
|
|
178
|
+
const output = (0, child_process_1.execSync)('tsc --version', { encoding: 'utf-8', stdio: 'pipe' });
|
|
179
|
+
const match = output.match(/Version (\d+\.\d+\.\d+)/);
|
|
180
|
+
return match ? match[1] : null;
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.CompatibilityChecker = CompatibilityChecker;
|
|
188
|
+
//# sourceMappingURL=compatibility-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatibility-checker.js","sourceRoot":"","sources":["../../src/core/compatibility-checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core module exports
|
|
3
|
+
* Provides version management, resolution, compatibility checking, and module loading
|
|
4
|
+
*/
|
|
5
|
+
export { VersionManager, type VersionMetadata } from './version-manager';
|
|
6
|
+
export { VersionResolver, type VersionStrategy, type VersionResolutionResult } from './version-resolver';
|
|
7
|
+
export { CompatibilityChecker, type CompatibilityResult, type VersionCheckResult, type CompatibilityMetadata } from './compatibility-checker';
|
|
8
|
+
export { ModuleLoader, type ModuleLoadOptions, type ModuleLoadResult } from './module-loader';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core module exports
|
|
4
|
+
* Provides version management, resolution, compatibility checking, and module loading
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ModuleLoader = exports.CompatibilityChecker = exports.VersionResolver = exports.VersionManager = void 0;
|
|
8
|
+
var version_manager_1 = require("./version-manager");
|
|
9
|
+
Object.defineProperty(exports, "VersionManager", { enumerable: true, get: function () { return version_manager_1.VersionManager; } });
|
|
10
|
+
var version_resolver_1 = require("./version-resolver");
|
|
11
|
+
Object.defineProperty(exports, "VersionResolver", { enumerable: true, get: function () { return version_resolver_1.VersionResolver; } });
|
|
12
|
+
var compatibility_checker_1 = require("./compatibility-checker");
|
|
13
|
+
Object.defineProperty(exports, "CompatibilityChecker", { enumerable: true, get: function () { return compatibility_checker_1.CompatibilityChecker; } });
|
|
14
|
+
var module_loader_1 = require("./module-loader");
|
|
15
|
+
Object.defineProperty(exports, "ModuleLoader", { enumerable: true, get: function () { return module_loader_1.ModuleLoader; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qDAAyE;AAAhE,iHAAA,cAAc,OAAA;AACvB,uDAAyG;AAAhG,mHAAA,eAAe,OAAA;AACxB,iEAKiC;AAJ/B,6HAAA,oBAAoB,OAAA;AAKtB,iDAIyB;AAHvB,6GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { VersionManager, VersionMetadata } from './version-manager';
|
|
2
|
+
import { VersionResolver, VersionResolutionResult } from './version-resolver';
|
|
3
|
+
import { Module } from '../utils/module-system';
|
|
4
|
+
/**
|
|
5
|
+
* Module load options
|
|
6
|
+
*/
|
|
7
|
+
export interface ModuleLoadOptions {
|
|
8
|
+
version?: string;
|
|
9
|
+
useCache?: boolean;
|
|
10
|
+
cacheTTL?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Module load result
|
|
14
|
+
*/
|
|
15
|
+
export interface ModuleLoadResult {
|
|
16
|
+
module: Module;
|
|
17
|
+
version: string;
|
|
18
|
+
metadata: VersionMetadata;
|
|
19
|
+
resolution: VersionResolutionResult;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* ModuleLoader class
|
|
23
|
+
* Manages module loading with version support and caching
|
|
24
|
+
*/
|
|
25
|
+
export declare class ModuleLoader {
|
|
26
|
+
private versionManager;
|
|
27
|
+
private versionResolver;
|
|
28
|
+
private cache;
|
|
29
|
+
private cacheTTL;
|
|
30
|
+
constructor(versionManager?: VersionManager, versionResolver?: VersionResolver);
|
|
31
|
+
/**
|
|
32
|
+
* Load a module with optional version specification
|
|
33
|
+
* @param modulePath Path to the module directory
|
|
34
|
+
* @param options Load options including version specification
|
|
35
|
+
* @returns Module load result or null if not found
|
|
36
|
+
*/
|
|
37
|
+
load(modulePath: string, options?: ModuleLoadOptions): ModuleLoadResult | null;
|
|
38
|
+
/**
|
|
39
|
+
* Get version metadata for a module without loading it
|
|
40
|
+
* @param modulePath Path to the module directory
|
|
41
|
+
* @returns Version metadata or null if not found
|
|
42
|
+
*/
|
|
43
|
+
getVersionMetadata(modulePath: string): VersionMetadata | null;
|
|
44
|
+
/**
|
|
45
|
+
* Get all available versions for a module
|
|
46
|
+
* @param modulePath Path to the module directory
|
|
47
|
+
* @returns Array of version strings
|
|
48
|
+
*/
|
|
49
|
+
getAvailableVersions(modulePath: string): string[];
|
|
50
|
+
/**
|
|
51
|
+
* Clear module cache
|
|
52
|
+
* @param modulePath Optional path to clear specific module, or all if not provided
|
|
53
|
+
*/
|
|
54
|
+
clearCache(modulePath?: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Set cache TTL
|
|
57
|
+
* @param ttl Time to live in milliseconds
|
|
58
|
+
*/
|
|
59
|
+
setCacheTTL(ttl: number): void;
|
|
60
|
+
/**
|
|
61
|
+
* Generate cache key for module and version
|
|
62
|
+
* @param modulePath Module path
|
|
63
|
+
* @param version Version string
|
|
64
|
+
* @returns Cache key
|
|
65
|
+
*/
|
|
66
|
+
private getCacheKey;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=module-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-loader.d.ts","sourceRoot":"","sources":["../../src/core/module-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAc,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAY5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,uBAAuB,CAAC;CACrC;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,cAAc,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,eAAe;IAK9E;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,GAAG,IAAI;IAmElF;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAI9D;;;;OAIG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAKlD;;;OAGG;IACH,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBrC;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleLoader = void 0;
|
|
4
|
+
const version_manager_1 = require("./version-manager");
|
|
5
|
+
const version_resolver_1 = require("./version-resolver");
|
|
6
|
+
const module_system_1 = require("../utils/module-system");
|
|
7
|
+
/**
|
|
8
|
+
* ModuleLoader class
|
|
9
|
+
* Manages module loading with version support and caching
|
|
10
|
+
*/
|
|
11
|
+
class ModuleLoader {
|
|
12
|
+
constructor(versionManager, versionResolver) {
|
|
13
|
+
this.cache = new Map();
|
|
14
|
+
this.cacheTTL = 3600000; // 1 hour in milliseconds
|
|
15
|
+
this.versionManager = versionManager || new version_manager_1.VersionManager();
|
|
16
|
+
this.versionResolver = versionResolver || new version_resolver_1.VersionResolver(this.versionManager);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Load a module with optional version specification
|
|
20
|
+
* @param modulePath Path to the module directory
|
|
21
|
+
* @param options Load options including version specification
|
|
22
|
+
* @returns Module load result or null if not found
|
|
23
|
+
*/
|
|
24
|
+
load(modulePath, options = {}) {
|
|
25
|
+
const { version = 'latest', useCache = true, cacheTTL } = options;
|
|
26
|
+
// Set custom cache TTL if provided
|
|
27
|
+
if (cacheTTL !== undefined) {
|
|
28
|
+
this.cacheTTL = cacheTTL;
|
|
29
|
+
}
|
|
30
|
+
// Check cache first
|
|
31
|
+
const cacheKey = this.getCacheKey(modulePath, version);
|
|
32
|
+
if (useCache) {
|
|
33
|
+
const cached = this.cache.get(cacheKey);
|
|
34
|
+
if (cached && Date.now() - cached.timestamp < this.cacheTTL) {
|
|
35
|
+
// Return cached result with resolution info
|
|
36
|
+
return {
|
|
37
|
+
module: cached.module,
|
|
38
|
+
version: cached.version,
|
|
39
|
+
metadata: cached.metadata,
|
|
40
|
+
resolution: {
|
|
41
|
+
version: cached.version,
|
|
42
|
+
path: modulePath,
|
|
43
|
+
strategy: version === 'latest' ? 'latest' : 'specific',
|
|
44
|
+
available: [cached.version]
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Resolve version
|
|
50
|
+
const resolution = this.versionResolver.resolve(modulePath, version);
|
|
51
|
+
if (!resolution) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
// Load module from resolved path
|
|
55
|
+
const module = (0, module_system_1.loadModule)(resolution.path);
|
|
56
|
+
if (!module) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
// Get version metadata
|
|
60
|
+
const metadata = this.versionManager.getVersion(resolution.path);
|
|
61
|
+
if (!metadata) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
// Create result
|
|
65
|
+
const result = {
|
|
66
|
+
module,
|
|
67
|
+
version: resolution.version,
|
|
68
|
+
metadata,
|
|
69
|
+
resolution
|
|
70
|
+
};
|
|
71
|
+
// Cache the result
|
|
72
|
+
if (useCache) {
|
|
73
|
+
this.cache.set(cacheKey, {
|
|
74
|
+
module,
|
|
75
|
+
version: resolution.version,
|
|
76
|
+
metadata,
|
|
77
|
+
timestamp: Date.now()
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get version metadata for a module without loading it
|
|
84
|
+
* @param modulePath Path to the module directory
|
|
85
|
+
* @returns Version metadata or null if not found
|
|
86
|
+
*/
|
|
87
|
+
getVersionMetadata(modulePath) {
|
|
88
|
+
return this.versionManager.getVersion(modulePath);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get all available versions for a module
|
|
92
|
+
* @param modulePath Path to the module directory
|
|
93
|
+
* @returns Array of version strings
|
|
94
|
+
*/
|
|
95
|
+
getAvailableVersions(modulePath) {
|
|
96
|
+
const resolution = this.versionResolver.resolveLatest(modulePath);
|
|
97
|
+
return resolution?.available || [];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Clear module cache
|
|
101
|
+
* @param modulePath Optional path to clear specific module, or all if not provided
|
|
102
|
+
*/
|
|
103
|
+
clearCache(modulePath) {
|
|
104
|
+
if (modulePath) {
|
|
105
|
+
// Clear all cache entries for this module path
|
|
106
|
+
const keysToDelete = [];
|
|
107
|
+
for (const key of this.cache.keys()) {
|
|
108
|
+
if (key.startsWith(modulePath + ':')) {
|
|
109
|
+
keysToDelete.push(key);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
keysToDelete.forEach(key => this.cache.delete(key));
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Clear all cache
|
|
116
|
+
this.cache.clear();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Set cache TTL
|
|
121
|
+
* @param ttl Time to live in milliseconds
|
|
122
|
+
*/
|
|
123
|
+
setCacheTTL(ttl) {
|
|
124
|
+
this.cacheTTL = ttl;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Generate cache key for module and version
|
|
128
|
+
* @param modulePath Module path
|
|
129
|
+
* @param version Version string
|
|
130
|
+
* @returns Cache key
|
|
131
|
+
*/
|
|
132
|
+
getCacheKey(modulePath, version) {
|
|
133
|
+
return `${modulePath}:${version}`;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.ModuleLoader = ModuleLoader;
|
|
137
|
+
//# sourceMappingURL=module-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../../src/core/module-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type SemanticVersion } from '../utils/module-system';
|
|
2
|
+
/**
|
|
3
|
+
* Version metadata interface
|
|
4
|
+
*/
|
|
5
|
+
export interface VersionMetadata {
|
|
6
|
+
version: string;
|
|
7
|
+
publishedAt?: Date;
|
|
8
|
+
deprecated?: boolean;
|
|
9
|
+
deprecationMessage?: string;
|
|
10
|
+
breaking?: boolean;
|
|
11
|
+
changelog?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* VersionManager class
|
|
15
|
+
* Manages module versions including loading, caching, and comparison
|
|
16
|
+
*/
|
|
17
|
+
export declare class VersionManager {
|
|
18
|
+
private cache;
|
|
19
|
+
private cacheTTL;
|
|
20
|
+
/**
|
|
21
|
+
* Get version metadata for a module
|
|
22
|
+
* @param modulePath Path to the module directory
|
|
23
|
+
* @returns Version metadata or null if not found
|
|
24
|
+
*/
|
|
25
|
+
getVersion(modulePath: string): VersionMetadata | null;
|
|
26
|
+
/**
|
|
27
|
+
* Set version for a module
|
|
28
|
+
* @param modulePath Path to the module directory
|
|
29
|
+
* @param version Version string (must be valid semver)
|
|
30
|
+
* @returns True if successful, false otherwise
|
|
31
|
+
*/
|
|
32
|
+
setVersion(modulePath: string, version: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Compare two versions
|
|
35
|
+
* @param v1 First version string
|
|
36
|
+
* @param v2 Second version string
|
|
37
|
+
* @returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2
|
|
38
|
+
*/
|
|
39
|
+
compareVersions(v1: string, v2: string): number;
|
|
40
|
+
/**
|
|
41
|
+
* Parse version string into components
|
|
42
|
+
* @param version Version string
|
|
43
|
+
* @returns Parsed semantic version or null if invalid
|
|
44
|
+
*/
|
|
45
|
+
parseVersion(version: string): SemanticVersion | null;
|
|
46
|
+
/**
|
|
47
|
+
* Check if version is deprecated
|
|
48
|
+
* @param modulePath Path to the module directory
|
|
49
|
+
* @returns True if deprecated, false otherwise
|
|
50
|
+
*/
|
|
51
|
+
isDeprecated(modulePath: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Clear version cache
|
|
54
|
+
*/
|
|
55
|
+
clearCache(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Set cache TTL
|
|
58
|
+
* @param ttl Time to live in milliseconds
|
|
59
|
+
*/
|
|
60
|
+
setCacheTTL(ttl: number): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=version-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-manager.d.ts","sourceRoot":"","sources":["../../src/core/version-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,QAAQ,CAAmB;IAEnC;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAgDtD;;;;;OAKG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAkBxD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD;;;;OAIG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAKzC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.VersionManager = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const module_system_1 = require("../utils/module-system");
|
|
40
|
+
/**
|
|
41
|
+
* VersionManager class
|
|
42
|
+
* Manages module versions including loading, caching, and comparison
|
|
43
|
+
*/
|
|
44
|
+
class VersionManager {
|
|
45
|
+
constructor() {
|
|
46
|
+
this.cache = new Map();
|
|
47
|
+
this.cacheTTL = 3600000; // 1 hour in milliseconds
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get version metadata for a module
|
|
51
|
+
* @param modulePath Path to the module directory
|
|
52
|
+
* @returns Version metadata or null if not found
|
|
53
|
+
*/
|
|
54
|
+
getVersion(modulePath) {
|
|
55
|
+
// Check cache first
|
|
56
|
+
const cached = this.cache.get(modulePath);
|
|
57
|
+
if (cached && Date.now() - cached.timestamp < this.cacheTTL) {
|
|
58
|
+
return cached.metadata;
|
|
59
|
+
}
|
|
60
|
+
// Load from VERSION file
|
|
61
|
+
const versionFile = path.join(modulePath, 'VERSION');
|
|
62
|
+
if (!fs.existsSync(versionFile)) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const version = fs.readFileSync(versionFile, 'utf-8').trim();
|
|
67
|
+
if (!(0, module_system_1.isValidSemanticVersion)(version)) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
// Load additional metadata if available
|
|
71
|
+
const metadataFile = path.join(modulePath, 'metadata.json');
|
|
72
|
+
let metadata = { version };
|
|
73
|
+
if (fs.existsSync(metadataFile)) {
|
|
74
|
+
const metadataContent = JSON.parse(fs.readFileSync(metadataFile, 'utf-8'));
|
|
75
|
+
metadata = {
|
|
76
|
+
version,
|
|
77
|
+
publishedAt: metadataContent.publishedAt ? new Date(metadataContent.publishedAt) : undefined,
|
|
78
|
+
deprecated: metadataContent.deprecated || false,
|
|
79
|
+
deprecationMessage: metadataContent.deprecationMessage,
|
|
80
|
+
breaking: metadataContent.breaking || false,
|
|
81
|
+
changelog: metadataContent.changelog
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// Cache the result
|
|
85
|
+
this.cache.set(modulePath, {
|
|
86
|
+
metadata,
|
|
87
|
+
timestamp: Date.now()
|
|
88
|
+
});
|
|
89
|
+
return metadata;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Set version for a module
|
|
97
|
+
* @param modulePath Path to the module directory
|
|
98
|
+
* @param version Version string (must be valid semver)
|
|
99
|
+
* @returns True if successful, false otherwise
|
|
100
|
+
*/
|
|
101
|
+
setVersion(modulePath, version) {
|
|
102
|
+
if (!(0, module_system_1.isValidSemanticVersion)(version)) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
const versionFile = path.join(modulePath, 'VERSION');
|
|
107
|
+
fs.writeFileSync(versionFile, version + '\n', 'utf-8');
|
|
108
|
+
// Invalidate cache
|
|
109
|
+
this.cache.delete(modulePath);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Compare two versions
|
|
118
|
+
* @param v1 First version string
|
|
119
|
+
* @param v2 Second version string
|
|
120
|
+
* @returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2
|
|
121
|
+
*/
|
|
122
|
+
compareVersions(v1, v2) {
|
|
123
|
+
return (0, module_system_1.compareSemanticVersions)(v1, v2);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Parse version string into components
|
|
127
|
+
* @param version Version string
|
|
128
|
+
* @returns Parsed semantic version or null if invalid
|
|
129
|
+
*/
|
|
130
|
+
parseVersion(version) {
|
|
131
|
+
return (0, module_system_1.parseSemanticVersion)(version);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Check if version is deprecated
|
|
135
|
+
* @param modulePath Path to the module directory
|
|
136
|
+
* @returns True if deprecated, false otherwise
|
|
137
|
+
*/
|
|
138
|
+
isDeprecated(modulePath) {
|
|
139
|
+
const metadata = this.getVersion(modulePath);
|
|
140
|
+
return metadata?.deprecated || false;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Clear version cache
|
|
144
|
+
*/
|
|
145
|
+
clearCache() {
|
|
146
|
+
this.cache.clear();
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Set cache TTL
|
|
150
|
+
* @param ttl Time to live in milliseconds
|
|
151
|
+
*/
|
|
152
|
+
setCacheTTL(ttl) {
|
|
153
|
+
this.cacheTTL = ttl;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.VersionManager = VersionManager;
|
|
157
|
+
//# sourceMappingURL=version-manager.js.map
|