@flarum/cli 2.0.0-beta.9 → 3.0.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/LICENSE +1 -1
- package/README.md +178 -48
- package/bin/run +2 -1
- package/bin/splitsh-lite-darwin +0 -0
- package/bin/splitsh-lite-linux +0 -0
- package/boilerplate/skeleton/extension/.gitattributes +16 -14
- package/boilerplate/skeleton/extension/.github/workflows/backend.yml +2 -6
- package/boilerplate/skeleton/extension/.github/workflows/frontend.yml +5 -6
- package/boilerplate/skeleton/extension/.github/workflows/phpstan.yml +12 -0
- package/boilerplate/skeleton/extension/LICENSE.md +1 -1
- package/boilerplate/skeleton/extension/README.md +1 -1
- package/boilerplate/skeleton/extension/composer.json +13 -7
- package/boilerplate/skeleton/extension/extend.php +2 -2
- package/boilerplate/skeleton/extension/gitignore +1 -0
- package/boilerplate/skeleton/extension/js/admin.ts +2 -0
- package/boilerplate/skeleton/extension/js/forum.ts +2 -0
- package/boilerplate/skeleton/extension/js/jest.config.cjs +1 -0
- package/boilerplate/skeleton/extension/js/package.json +11 -4
- package/boilerplate/skeleton/extension/js/src/admin/extend.js +8 -0
- package/boilerplate/skeleton/extension/js/src/admin/extend.ts +8 -0
- package/boilerplate/skeleton/extension/js/src/admin/index.js +2 -0
- package/boilerplate/skeleton/extension/js/src/admin/index.ts +7 -0
- package/boilerplate/skeleton/extension/js/src/common/extend.js +5 -0
- package/boilerplate/skeleton/extension/js/src/common/extend.ts +5 -0
- package/boilerplate/skeleton/extension/js/src/common/index.ts +5 -0
- package/boilerplate/skeleton/extension/js/src/forum/extend.js +8 -0
- package/boilerplate/skeleton/extension/js/src/forum/extend.ts +8 -0
- package/boilerplate/skeleton/extension/js/src/forum/index.js +2 -0
- package/boilerplate/skeleton/extension/js/src/forum/index.ts +7 -0
- package/boilerplate/skeleton/extension/js/tests/unit/.gitkeep +0 -0
- package/boilerplate/skeleton/extension/js/tsconfig.json +10 -2
- package/boilerplate/skeleton/extension/js/tsconfig.test.json +10 -0
- package/boilerplate/skeleton/extension/locale/en.yml +1 -1
- package/boilerplate/skeleton/extension/phpstan.neon +12 -0
- package/boilerplate/skeleton/extension/tests/phpunit.integration.xml +6 -7
- package/boilerplate/skeleton/extension/tests/phpunit.unit.xml +5 -10
- package/boilerplate/stubs/backend/advanced-api-resource.php +85 -0
- package/boilerplate/stubs/backend/api-resource.php +73 -0
- package/boilerplate/stubs/backend/command.php +2 -2
- package/boilerplate/stubs/backend/controller.php +19 -0
- package/boilerplate/stubs/backend/event-listener.php +1 -1
- package/boilerplate/stubs/backend/filter.php +25 -0
- package/boilerplate/stubs/backend/handler/command.php +6 -20
- package/boilerplate/stubs/backend/handler/handler.php +6 -14
- package/boilerplate/stubs/backend/integration-test.php +10 -7
- package/boilerplate/stubs/backend/job.php +6 -11
- package/boilerplate/stubs/backend/mail-driver.php +36 -0
- package/boilerplate/stubs/backend/middleware.php +19 -0
- package/boilerplate/stubs/backend/model.php +1 -1
- package/boilerplate/stubs/backend/notification-blueprint.php +42 -0
- package/boilerplate/stubs/backend/notification-driver.php +32 -0
- package/boilerplate/stubs/backend/policy.php +1 -1
- package/boilerplate/stubs/backend/post-type.php +35 -0
- package/boilerplate/stubs/backend/repository.php +2 -10
- package/boilerplate/stubs/backend/search/driver.php +13 -0
- package/boilerplate/stubs/backend/search/searcher.php +41 -0
- package/boilerplate/stubs/backend/service-provider.php +1 -1
- package/boilerplate/stubs/backend/validator.php +1 -1
- package/boilerplate/stubs/frontend/component.js +1 -1
- package/boilerplate/stubs/frontend/forum-page.js +68 -0
- package/boilerplate/stubs/frontend/gambit/boolean.js +12 -0
- package/boilerplate/stubs/frontend/gambit/key-value.js +16 -0
- package/boilerplate/stubs/frontend/modal.js +1 -1
- package/boilerplate/stubs/frontend/model.js +1 -1
- package/boilerplate/stubs/frontend/notification.js +22 -0
- package/boilerplate/stubs/frontend/post-type.js +13 -0
- package/boilerplate/stubs/migration.php +1 -1
- package/boilerplate/stubs/views/email/html/information.blade.php +8 -0
- package/boilerplate/stubs/views/email/html/notification.blade.php +8 -0
- package/boilerplate/stubs/views/email/plain/information.blade.php +7 -0
- package/boilerplate/stubs/views/email/plain/notification.blade.php +6 -0
- package/lib/base-command.d.ts +22 -6
- package/lib/base-command.js +114 -56
- package/lib/boilersmith/io.d.ts +33 -11
- package/lib/boilersmith/io.js +32 -17
- package/lib/boilersmith/paths.d.ts +3 -3
- package/lib/boilersmith/paths.js +7 -7
- package/lib/boilersmith/scaffolding/audit-step-factory.js +12 -12
- package/lib/boilersmith/scaffolding/infra-step-factory.js +2 -2
- package/lib/boilersmith/scaffolding/init-step-factory.js +5 -5
- package/lib/boilersmith/scaffolding/module.d.ts +30 -10
- package/lib/boilersmith/scaffolding/module.js +61 -19
- package/lib/boilersmith/scaffolding/scaffolder.d.ts +4 -1
- package/lib/boilersmith/scaffolding/scaffolder.js +33 -33
- package/lib/boilersmith/scaffolding/template-param.d.ts +2 -2
- package/lib/boilersmith/scaffolding/template-param.js +2 -2
- package/lib/boilersmith/step-manager.d.ts +15 -11
- package/lib/boilersmith/step-manager.js +45 -29
- package/lib/boilersmith/steps/stub-base.js +4 -4
- package/lib/boilersmith/utils/clone-and-fill.js +1 -1
- package/lib/boilersmith/utils/commit-async.d.ts +2 -0
- package/lib/boilersmith/utils/commit-async.js +15 -0
- package/lib/boilersmith/utils/json-leaf-paths.d.ts +2 -2
- package/lib/boilersmith/utils/read-tpl.js +2 -2
- package/lib/commands/audit/infra.d.ts +2 -5
- package/lib/commands/audit/infra.js +31 -9
- package/lib/commands/infra.d.ts +2 -10
- package/lib/commands/infra.js +20 -14
- package/lib/commands/init.d.ts +2 -5
- package/lib/commands/init.js +7 -5
- package/lib/commands/make/backend/{api-serializer.d.ts → api-resource.d.ts} +2 -5
- package/lib/commands/make/backend/api-resource.js +26 -0
- package/lib/commands/make/backend/command.d.ts +1 -4
- package/lib/commands/make/backend/command.js +3 -4
- package/lib/commands/make/backend/{api-controller.d.ts → controller.d.ts} +2 -5
- package/lib/commands/make/backend/controller.js +31 -0
- package/lib/commands/make/backend/event-listener.d.ts +1 -4
- package/lib/commands/make/backend/event-listener.js +2 -3
- package/lib/commands/make/backend/{api-serializer-attributes.d.ts → filter.d.ts} +3 -6
- package/lib/commands/make/backend/filter.js +26 -0
- package/lib/commands/make/backend/handler.d.ts +2 -5
- package/lib/commands/make/backend/handler.js +8 -11
- package/lib/commands/make/backend/integration-test.d.ts +1 -4
- package/lib/commands/make/backend/integration-test.js +4 -6
- package/lib/commands/make/backend/job.d.ts +1 -4
- package/lib/commands/make/backend/job.js +2 -2
- package/lib/commands/make/backend/mail-driver.d.ts +12 -0
- package/lib/commands/make/backend/mail-driver.js +29 -0
- package/lib/commands/make/backend/middleware.d.ts +11 -0
- package/lib/commands/make/backend/middleware.js +26 -0
- package/lib/commands/make/backend/migration.d.ts +1 -4
- package/lib/commands/make/backend/migration.js +10 -4
- package/lib/commands/make/backend/model.d.ts +6 -7
- package/lib/commands/make/backend/model.js +69 -449
- package/lib/commands/make/backend/notification-blueprint.d.ts +12 -0
- package/lib/commands/make/backend/notification-blueprint.js +29 -0
- package/lib/commands/make/backend/notification-driver.d.ts +12 -0
- package/lib/commands/make/backend/notification-driver.js +29 -0
- package/lib/commands/make/backend/policy.d.ts +1 -4
- package/lib/commands/make/backend/policy.js +2 -3
- package/lib/commands/make/backend/post-type.d.ts +12 -0
- package/lib/commands/make/backend/post-type.js +29 -0
- package/lib/commands/make/backend/repository.d.ts +1 -4
- package/lib/commands/make/backend/repository.js +1 -1
- package/lib/commands/make/backend/route.d.ts +1 -4
- package/lib/commands/make/backend/route.js +2 -3
- package/lib/commands/make/backend/search-driver.d.ts +11 -0
- package/lib/commands/make/backend/search-driver.js +51 -0
- package/lib/commands/make/backend/service-provider.d.ts +1 -4
- package/lib/commands/make/backend/service-provider.js +3 -4
- package/lib/commands/make/backend/validator.d.ts +1 -4
- package/lib/commands/make/backend/validator.js +2 -2
- package/lib/commands/make/frontend/component.d.ts +4 -5
- package/lib/commands/make/frontend/component.js +7 -2
- package/lib/commands/make/frontend/forum-page.d.ts +11 -0
- package/lib/commands/make/frontend/forum-page.js +92 -0
- package/lib/commands/make/frontend/gambit.d.ts +11 -0
- package/lib/commands/make/frontend/gambit.js +30 -0
- package/lib/commands/make/frontend/modal.d.ts +1 -4
- package/lib/commands/make/frontend/modal.js +3 -2
- package/lib/commands/make/frontend/model.d.ts +6 -7
- package/lib/commands/make/frontend/model.js +27 -28
- package/lib/commands/make/frontend/notification.d.ts +12 -0
- package/lib/commands/make/frontend/notification.js +62 -0
- package/lib/commands/make/frontend/post-type.d.ts +12 -0
- package/lib/commands/make/frontend/post-type.js +59 -0
- package/lib/commands/make/locale.d.ts +11 -0
- package/lib/commands/make/locale.js +27 -0
- package/lib/commands/make/model.d.ts +12 -0
- package/lib/commands/make/model.js +29 -0
- package/lib/commands/make/notification.d.ts +11 -0
- package/lib/commands/make/notification.js +33 -0
- package/lib/commands/make/post-type.d.ts +11 -0
- package/lib/commands/make/post-type.js +31 -0
- package/lib/commands/monorepo/create.d.ts +12 -0
- package/lib/commands/monorepo/create.js +20 -0
- package/lib/commands/monorepo/split.d.ts +12 -0
- package/lib/commands/monorepo/split.js +19 -0
- package/lib/commands/update/js-imports.d.ts +1 -4
- package/lib/commands/update/js-imports.js +2 -3
- package/lib/commands/upgrade/2.0.d.ts +17 -0
- package/lib/commands/upgrade/2.0.js +113 -0
- package/lib/help.js +2 -2
- package/lib/providers/php-provider.d.ts +7 -1
- package/lib/providers/php-provider.js +18 -5
- package/lib/steps/extenders/{api-serializer.d.ts → api-resource.d.ts} +1 -1
- package/lib/steps/extenders/api-resource.js +38 -0
- package/lib/steps/extenders/base.d.ts +1 -1
- package/lib/steps/extenders/base.js +13 -1
- package/lib/steps/extenders/console-command.js +1 -1
- package/lib/steps/extenders/event.js +1 -1
- package/lib/steps/extenders/mail-driver.d.ts +5 -0
- package/lib/steps/extenders/mail-driver.js +58 -0
- package/lib/steps/extenders/middleware.d.ts +5 -0
- package/lib/steps/extenders/middleware.js +57 -0
- package/lib/steps/extenders/notification-driver.d.ts +5 -0
- package/lib/steps/extenders/notification-driver.js +58 -0
- package/lib/steps/extenders/notification-type.d.ts +5 -0
- package/lib/steps/extenders/notification-type.js +55 -0
- package/lib/steps/extenders/policy.js +1 -1
- package/lib/steps/extenders/post-type.d.ts +5 -0
- package/lib/steps/extenders/post-type.js +42 -0
- package/lib/steps/extenders/route.js +11 -2
- package/lib/steps/extenders/search-driver.d.ts +5 -0
- package/lib/steps/extenders/search-driver.js +38 -0
- package/lib/steps/extenders/search-filter.d.ts +5 -0
- package/lib/steps/extenders/search-filter.js +67 -0
- package/lib/steps/extenders/service-provider.js +1 -1
- package/lib/steps/gen-ext-scaffolder.d.ts +4 -4
- package/lib/steps/gen-ext-scaffolder.js +262 -56
- package/lib/steps/js/base.d.ts +14 -5
- package/lib/steps/js/base.js +101 -27
- package/lib/steps/js/model.d.ts +4 -7
- package/lib/steps/js/model.js +45 -19
- package/lib/steps/js/notification.d.ts +7 -0
- package/lib/steps/js/notification.js +58 -0
- package/lib/steps/js/post-type.d.ts +8 -0
- package/lib/steps/js/post-type.js +60 -0
- package/lib/steps/js/routes.d.ts +7 -0
- package/lib/steps/js/routes.js +63 -0
- package/lib/steps/js/search-driver-locale.d.ts +8 -0
- package/lib/steps/js/search-driver-locale.js +36 -0
- package/lib/steps/js/search-gambit.d.ts +7 -0
- package/lib/steps/js/search-gambit.js +51 -0
- package/lib/steps/locale/base.d.ts +32 -0
- package/lib/steps/locale/base.js +97 -0
- package/lib/steps/misc/composer.js +2 -2
- package/lib/steps/misc/git.d.ts +1 -1
- package/lib/steps/misc/git.js +3 -3
- package/lib/steps/misc/npm.d.ts +11 -0
- package/lib/steps/misc/npm.js +19 -0
- package/lib/steps/misc/yarn.js +2 -2
- package/lib/steps/monorepo/create.d.ts +19 -0
- package/lib/steps/monorepo/create.js +187 -0
- package/lib/steps/monorepo/split.d.ts +14 -0
- package/lib/steps/monorepo/split.js +99 -0
- package/lib/steps/stubs/backend/advanced-api-resource.d.ts +13 -0
- package/lib/steps/stubs/backend/advanced-api-resource.js +81 -0
- package/lib/steps/stubs/backend/{api-serializer.d.ts → api-resource.d.ts} +2 -2
- package/lib/steps/stubs/backend/{api-serializer.js → api-resource.js} +12 -9
- package/lib/steps/stubs/backend/command.d.ts +2 -21
- package/lib/steps/stubs/backend/command.js +15 -1
- package/lib/steps/stubs/backend/{api-controller.d.ts → controller.d.ts} +4 -14
- package/lib/steps/stubs/backend/controller.js +40 -0
- package/lib/steps/stubs/backend/event-listener.d.ts +1 -1
- package/lib/steps/stubs/backend/event-listener.js +3 -1
- package/lib/steps/stubs/backend/filter.d.ts +8 -0
- package/lib/steps/stubs/backend/filter.js +44 -0
- package/lib/steps/stubs/backend/handler-command.d.ts +2 -27
- package/lib/steps/stubs/backend/handler-command.js +3 -1
- package/lib/steps/stubs/backend/handler.d.ts +1 -1
- package/lib/steps/stubs/backend/handler.js +5 -1
- package/lib/steps/stubs/backend/integration-test.d.ts +1 -1
- package/lib/steps/stubs/backend/integration-test.js +1 -4
- package/lib/steps/stubs/backend/job.d.ts +1 -1
- package/lib/steps/stubs/backend/job.js +1 -0
- package/lib/steps/stubs/backend/mail-driver.d.ts +7 -0
- package/lib/steps/stubs/backend/mail-driver.js +30 -0
- package/lib/steps/stubs/backend/middleware.d.ts +22 -0
- package/lib/steps/stubs/backend/middleware.js +31 -0
- package/lib/steps/stubs/backend/migration.js +6 -3
- package/lib/steps/stubs/backend/model.d.ts +2 -24
- package/lib/steps/stubs/backend/model.js +3 -5
- package/lib/steps/stubs/backend/notification-blueprint.d.ts +7 -0
- package/lib/steps/stubs/backend/notification-blueprint.js +44 -0
- package/lib/steps/stubs/backend/notification-driver.d.ts +7 -0
- package/lib/steps/stubs/backend/notification-driver.js +30 -0
- package/lib/steps/stubs/backend/policy.d.ts +1 -1
- package/lib/steps/stubs/backend/policy.js +3 -1
- package/lib/steps/stubs/backend/post-type.d.ts +7 -0
- package/lib/steps/stubs/backend/post-type.js +44 -0
- package/lib/steps/stubs/backend/repository.d.ts +1 -1
- package/lib/steps/stubs/backend/repository.js +3 -1
- package/lib/steps/stubs/backend/search-driver-searcher.d.ts +24 -0
- package/lib/steps/stubs/backend/search-driver-searcher.js +32 -0
- package/lib/steps/stubs/backend/search-driver.d.ts +8 -0
- package/lib/steps/stubs/backend/search-driver.js +49 -0
- package/lib/steps/stubs/backend/service-provider.d.ts +1 -1
- package/lib/steps/stubs/backend/service-provider.js +1 -0
- package/lib/steps/stubs/backend/validator.d.ts +1 -1
- package/lib/steps/stubs/backend/validator.js +1 -0
- package/lib/steps/stubs/flarum-base.js +1 -1
- package/lib/steps/stubs/frontend/component.d.ts +0 -5
- package/lib/steps/stubs/frontend/component.js +1 -0
- package/lib/steps/stubs/frontend/forum-page.d.ts +25 -0
- package/lib/steps/stubs/frontend/forum-page.js +37 -0
- package/lib/steps/stubs/frontend/gambit.d.ts +7 -0
- package/lib/steps/stubs/frontend/gambit.js +50 -0
- package/lib/steps/stubs/frontend/modal.d.ts +0 -5
- package/lib/steps/stubs/frontend/modal.js +1 -0
- package/lib/steps/stubs/frontend/model.d.ts +8 -1
- package/lib/steps/stubs/frontend/model.js +6 -0
- package/lib/steps/stubs/frontend/notification.d.ts +11 -0
- package/lib/steps/stubs/frontend/notification.js +48 -0
- package/lib/steps/stubs/frontend/post-type.d.ts +11 -0
- package/lib/steps/stubs/frontend/post-type.js +48 -0
- package/lib/steps/stubs/js-base.js +12 -5
- package/lib/steps/stubs/php-base.js +13 -9
- package/lib/steps/update/js-imports.js +9 -3
- package/lib/steps/upgrade/twopointoh/backend/email-views.d.ts +18 -0
- package/lib/steps/upgrade/twopointoh/backend/email-views.js +81 -0
- package/lib/steps/upgrade/twopointoh/backend/filesystem.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/filesystem.js +40 -0
- package/lib/steps/upgrade/twopointoh/backend/intervention-image.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/intervention-image.js +44 -0
- package/lib/steps/upgrade/twopointoh/backend/json-api.d.ts +12 -0
- package/lib/steps/upgrade/twopointoh/backend/json-api.js +111 -0
- package/lib/steps/upgrade/twopointoh/backend/mailer.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/mailer.js +37 -0
- package/lib/steps/upgrade/twopointoh/backend/misc.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/misc.js +42 -0
- package/lib/steps/upgrade/twopointoh/backend/phpunit.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/phpunit.js +52 -0
- package/lib/steps/upgrade/twopointoh/backend/search.d.ts +28 -0
- package/lib/steps/upgrade/twopointoh/backend/search.js +200 -0
- package/lib/steps/upgrade/twopointoh/base.d.ts +58 -0
- package/lib/steps/upgrade/twopointoh/base.js +284 -0
- package/lib/steps/upgrade/twopointoh/dependencies.d.ts +10 -0
- package/lib/steps/upgrade/twopointoh/dependencies.js +108 -0
- package/lib/steps/upgrade/twopointoh/frontend/code-splitting/usage-of-lazy-modules.d.ts +26 -0
- package/lib/steps/upgrade/twopointoh/frontend/code-splitting/usage-of-lazy-modules.js +418 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/compat.d.ts +12 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/compat.js +75 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/import-ext.d.ts +13 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/import-ext.js +126 -0
- package/lib/steps/upgrade/twopointoh/frontend/format.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/frontend/format.js +32 -0
- package/lib/steps/upgrade/twopointoh/frontend/misc.d.ts +17 -0
- package/lib/steps/upgrade/twopointoh/frontend/misc.js +433 -0
- package/lib/steps/upgrade/twopointoh/infra.d.ts +10 -0
- package/lib/steps/upgrade/twopointoh/infra.js +51 -0
- package/lib/steps/upgrade/twopointoh/less.d.ts +12 -0
- package/lib/steps/upgrade/twopointoh/less.js +217 -0
- package/lib/utils/add-extenders.d.ts +2 -0
- package/lib/utils/add-extenders.js +115 -0
- package/lib/utils/ast.d.ts +22 -0
- package/lib/utils/ast.js +235 -0
- package/lib/utils/composer.d.ts +2 -1
- package/lib/utils/migration.js +3 -1
- package/lib/utils/model-name.d.ts +1 -0
- package/lib/utils/model-name.js +7 -3
- package/lib/utils/monorepo.d.ts +24 -0
- package/lib/utils/monorepo.js +24 -0
- package/lib/utils/validation.d.ts +6 -1
- package/lib/utils/validation.js +15 -0
- package/oclif.manifest.json +1 -1
- package/package.json +27 -14
- package/php-subsystem/composer.json +11 -9
- package/php-subsystem/composer.lock +66 -71
- package/php-subsystem/index.php +41 -6
- package/php-subsystem/src/CustomPrettyPrinter.php +1 -1
- package/php-subsystem/src/ExtenderUtil.php +7 -13
- package/php-subsystem/src/NodeUtil.php +72 -0
- package/php-subsystem/src/NodeVisitors/AddExtender.php +28 -12
- package/php-subsystem/src/NodeVisitors/AddUses.php +24 -0
- package/php-subsystem/src/NodeVisitors/ChangeSignatures.php +200 -0
- package/php-subsystem/src/NodeVisitors/ReplaceUses.php +175 -0
- package/php-subsystem/src/Upgrade/Replacement.php +51 -0
- package/php-subsystem/src/Upgrade/ReplacementResult.php +17 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/EmailViews.php +94 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/Filesystem.php +88 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/InterventionImage.php +86 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/JsonApi.php +186 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/Misc.php +564 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/PhpUnit.php +241 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/Search.php +589 -0
- package/php-subsystem/vendor/autoload.php +18 -0
- package/php-subsystem/vendor/bin/php-parse +119 -0
- package/php-subsystem/vendor/composer/ClassLoader.php +166 -32
- package/php-subsystem/vendor/composer/InstalledVersions.php +350 -209
- package/php-subsystem/vendor/composer/autoload_classmap.php +1 -1
- package/php-subsystem/vendor/composer/autoload_namespaces.php +1 -1
- package/php-subsystem/vendor/composer/autoload_psr4.php +1 -1
- package/php-subsystem/vendor/composer/autoload_real.php +3 -22
- package/php-subsystem/vendor/composer/installed.json +56 -61
- package/php-subsystem/vendor/composer/installed.php +29 -30
- package/php-subsystem/vendor/composer/platform_check.php +2 -2
- package/php-subsystem/vendor/nikic/php-parser/README.md +21 -13
- package/php-subsystem/vendor/nikic/php-parser/bin/php-parse +12 -11
- package/php-subsystem/vendor/nikic/php-parser/composer.json +41 -39
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +58 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +54 -25
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +11 -4
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +87 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +116 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +22 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +26 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +31 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +5 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +69 -26
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +47 -18
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +6 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +25 -28
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +31 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +8 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +85 -70
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +119 -71
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Comment.php +35 -67
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +3 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +17 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Error.php +24 -33
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +6 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +11 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +36 -22
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +24 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +63 -69
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +15 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +74 -92
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +11 -18
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +10 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +45 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +19 -25
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +6 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +22 -29
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +31 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +6 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +10 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +70 -491
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php +69 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +23 -24
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +13 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +5 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +13 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +12 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +1 -39
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +11 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +35 -30
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +8 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +35 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +5 -6
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +5 -6
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +12 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +34 -27
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +1 -32
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +5 -6
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +15 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +13 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +11 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +12 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +8 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +18 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +17 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +18 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +10 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +10 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +9 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +19 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +11 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +12 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +6 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +13 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +27 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +80 -53
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +47 -23
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +1 -68
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +1 -29
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +1 -28
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +1 -71
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +44 -24
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +33 -27
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +15 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +66 -71
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +48 -61
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +1 -32
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +12 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +17 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +19 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +20 -17
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +31 -27
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +16 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +18 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +13 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +35 -36
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +1 -32
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +1 -35
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +8 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +12 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +3 -4
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +10 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +1 -50
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +16 -16
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php +8 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node.php +24 -29
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +20 -20
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +169 -82
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +28 -19
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +71 -84
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +4 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +40 -24
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +8 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +59 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2011 -2058
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2717 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser.php +9 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +466 -248
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +31 -33
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +164 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +419 -338
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +587 -431
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Token.php +18 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +63 -0
- package/boilerplate/stubs/backend/api-controller/create.php +0 -53
- package/boilerplate/stubs/backend/api-controller/delete.php +0 -52
- package/boilerplate/stubs/backend/api-controller/list.php +0 -61
- package/boilerplate/stubs/backend/api-controller/normal.php +0 -29
- package/boilerplate/stubs/backend/api-controller/show.php +0 -48
- package/boilerplate/stubs/backend/api-controller/update.php +0 -54
- package/boilerplate/stubs/backend/api-serializer.php +0 -36
- package/lib/commands/make/backend/api-controller.js +0 -27
- package/lib/commands/make/backend/api-serializer-attributes.js +0 -15
- package/lib/commands/make/backend/api-serializer.js +0 -15
- package/lib/steps/extenders/api-serializer.js +0 -77
- package/lib/steps/stubs/backend/api-controller.js +0 -62
- package/lib/steps/stubs/frontend/migration.js +0 -1
- package/php-subsystem/vendor/nikic/php-parser/.editorconfig +0 -9
- package/php-subsystem/vendor/nikic/php-parser/grammar/README.md +0 -30
- package/php-subsystem/vendor/nikic/php-parser/grammar/parser.template +0 -106
- package/php-subsystem/vendor/nikic/php-parser/grammar/php5.y +0 -1026
- package/php-subsystem/vendor/nikic/php-parser/grammar/php7.y +0 -1152
- package/php-subsystem/vendor/nikic/php-parser/grammar/phpyLang.php +0 -192
- package/php-subsystem/vendor/nikic/php-parser/grammar/rebuildParsers.php +0 -81
- package/php-subsystem/vendor/nikic/php-parser/grammar/tokens.template +0 -17
- package/php-subsystem/vendor/nikic/php-parser/grammar/tokens.y +0 -115
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +0 -47
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +0 -76
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +0 -23
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +0 -105
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +0 -30
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +0 -55
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +0 -2630
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +0 -145
- /package/{lib/steps/stubs/frontend/migration.d.ts → boilerplate/skeleton/extension/js/tests/integration/.gitkeep} +0 -0
- /package/boilerplate/skeleton/extension/js/{webpack.config.js → webpack.config.cjs} +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
class Dependencies extends base_1.BaseUpgradeStep {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.type = 'Update the extension dependencies to the latest versions.';
|
|
10
|
+
}
|
|
11
|
+
replacements(file) {
|
|
12
|
+
const replacements = [];
|
|
13
|
+
switch (file) {
|
|
14
|
+
case 'composer.json':
|
|
15
|
+
replacements.push(this.updateComposerJson());
|
|
16
|
+
break;
|
|
17
|
+
case 'js/package.json':
|
|
18
|
+
replacements.push(this.updatePackageJson());
|
|
19
|
+
}
|
|
20
|
+
return replacements;
|
|
21
|
+
}
|
|
22
|
+
targets() {
|
|
23
|
+
return ['composer.json', 'js/package.json'];
|
|
24
|
+
}
|
|
25
|
+
gitCommit() {
|
|
26
|
+
return {
|
|
27
|
+
message: 'chore(2.0): update dependencies',
|
|
28
|
+
description: 'Update dependencies to Flarum 2.0 compatible versions.',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
pauseMessage() {
|
|
32
|
+
const composerInstall = chalk_1.default.bgYellowBright('composer install');
|
|
33
|
+
const composerUpdate = chalk_1.default.bgYellowBright('composer update');
|
|
34
|
+
const yarn = chalk_1.default.bgYellowBright('yarn');
|
|
35
|
+
const npm = chalk_1.default.bgYellowBright('npm install');
|
|
36
|
+
return `Dependencies updated. Please review the changes and update any other dependency versions as needed.
|
|
37
|
+
It is recommended to run ${composerInstall} or ${composerUpdate} and ${yarn} or ${npm} now.
|
|
38
|
+
But you may also leave that until the upgrade process is over.`;
|
|
39
|
+
}
|
|
40
|
+
updateComposerJson() {
|
|
41
|
+
return (_file, _code, advanced) => {
|
|
42
|
+
const composer = advanced;
|
|
43
|
+
const moves = {
|
|
44
|
+
'blomstra/gdpr': 'flarum/gdpr',
|
|
45
|
+
};
|
|
46
|
+
for (let [key, value] of Object.entries(composer.require || {})) {
|
|
47
|
+
Object.entries(moves).forEach(([from, to]) => {
|
|
48
|
+
if (key === from) {
|
|
49
|
+
composer.require[to] = value;
|
|
50
|
+
delete composer.require[key];
|
|
51
|
+
key = to;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (key.startsWith('flarum/') && value !== '*') {
|
|
55
|
+
composer.require[key] = '^2.0.0';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (let [key, value] of Object.entries(composer['require-dev'] || {})) {
|
|
59
|
+
Object.entries(moves).forEach(([from, to]) => {
|
|
60
|
+
if (key === from) {
|
|
61
|
+
composer['require-dev'][to] = value;
|
|
62
|
+
delete composer['require-dev'][key];
|
|
63
|
+
key = to;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
if (key.startsWith('flarum/') && value.startsWith('^1')) {
|
|
67
|
+
composer['require-dev'][key] = '^2.0.0';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (composer.require.php) {
|
|
71
|
+
composer.require.php = '^8.2';
|
|
72
|
+
}
|
|
73
|
+
if (composer.require['fof/extend']) {
|
|
74
|
+
composer.require['fof/extend'] = '^2.0.0';
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
updated: composer,
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
updatePackageJson() {
|
|
82
|
+
return (_file, _code, advanced) => {
|
|
83
|
+
advanced = advanced;
|
|
84
|
+
const map = {
|
|
85
|
+
'flarum-webpack-config': '^3.0.0',
|
|
86
|
+
'flarum-tsconfig': '^2.0.0',
|
|
87
|
+
};
|
|
88
|
+
const dependencies = advanced.dependencies || advanced.devDependencies;
|
|
89
|
+
for (const [key] of Object.entries(dependencies)) {
|
|
90
|
+
if (map[key]) {
|
|
91
|
+
dependencies[key] = map[key];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Remove duplicates from devDependencies
|
|
95
|
+
if (advanced.dependencies && advanced.devDependencies) {
|
|
96
|
+
for (const [key] of Object.entries(advanced.dependencies)) {
|
|
97
|
+
if (advanced.devDependencies[key]) {
|
|
98
|
+
delete advanced.devDependencies[key];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
updated: advanced,
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.default = Dependencies;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseUpgradeStep, GitCommit, Replacement } from '../../base';
|
|
2
|
+
export default class UsageOfLazyModules extends BaseUpgradeStep {
|
|
3
|
+
type: string;
|
|
4
|
+
private lazyModules;
|
|
5
|
+
private composers;
|
|
6
|
+
replacements(file: string): Replacement[];
|
|
7
|
+
targets(): string[];
|
|
8
|
+
gitCommit(): GitCommit;
|
|
9
|
+
pauseMessage(): string;
|
|
10
|
+
protected beforeHook: boolean;
|
|
11
|
+
before(file: string, code: string): void;
|
|
12
|
+
updateModalShow(): Replacement;
|
|
13
|
+
updateComposerLoad(): Replacement;
|
|
14
|
+
updateExtending(): Replacement;
|
|
15
|
+
updateMatches(): Replacement;
|
|
16
|
+
removeImportLines(): Replacement;
|
|
17
|
+
addJsDirectoryExtender(): Replacement;
|
|
18
|
+
forEachLazyModule(code: string, callback: (options: {
|
|
19
|
+
namespace: string;
|
|
20
|
+
module: string;
|
|
21
|
+
packageNamespace: string;
|
|
22
|
+
importPath: string;
|
|
23
|
+
importedAs: string;
|
|
24
|
+
importLine: string;
|
|
25
|
+
}) => void): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const base_1 = require("../../base");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const t = tslib_1.__importStar(require("@babel/types"));
|
|
7
|
+
const recast = tslib_1.__importStar(require("recast"));
|
|
8
|
+
const traverse_1 = tslib_1.__importDefault(require("@babel/traverse"));
|
|
9
|
+
class UsageOfLazyModules extends base_1.BaseUpgradeStep {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.type = 'Adapt to accessing/extending lazy loaded Flarum modules.';
|
|
13
|
+
// Array.from(flarum.reg.chunks.entries().flatMap(e => e[1].modules.map(m => e[1].namespace + ':' + m))).join('\n')
|
|
14
|
+
// core:forum/components/ReplyComposer
|
|
15
|
+
// core:forum/components/ComposerBody
|
|
16
|
+
// core:common/components/ConfirmDocumentUnload
|
|
17
|
+
// core:forum/components/LogInModal
|
|
18
|
+
// core:forum/components/ForgotPasswordModal
|
|
19
|
+
// core:forum/components/PostStream
|
|
20
|
+
// core:forum/components/LoadingPost
|
|
21
|
+
// core:forum/components/ReplyPlaceholder
|
|
22
|
+
// core:forum/components/PostStreamScrubber
|
|
23
|
+
// core:forum/components/SearchModal
|
|
24
|
+
// core:forum/components/SignUpModal
|
|
25
|
+
// core:forum/components/EditPostComposer
|
|
26
|
+
// core:forum/components/ComposerBody
|
|
27
|
+
// core:common/components/ConfirmDocumentUnload
|
|
28
|
+
// core:common/components/EditUserModal
|
|
29
|
+
// core:forum/components/DiscussionComposer
|
|
30
|
+
// core:forum/components/DiscussionsUserPage
|
|
31
|
+
// core:forum/components/SettingsPage
|
|
32
|
+
// core:forum/components/NotificationGrid
|
|
33
|
+
// core:forum/components/ChangePasswordModal
|
|
34
|
+
// core:forum/components/ChangeEmailModal
|
|
35
|
+
// core:forum/components/UserSecurityPage
|
|
36
|
+
// core:forum/components/AccessTokensList
|
|
37
|
+
// core:forum/components/NewAccessTokenModal
|
|
38
|
+
// core:forum/states/UserSecurityPageState
|
|
39
|
+
// core:common/components/LabelValue
|
|
40
|
+
// core:forum/components/NotificationsPage
|
|
41
|
+
// core:forum/components/Composer
|
|
42
|
+
// core:forum/components/ComposerButton
|
|
43
|
+
// flarum-tags:forum/components/TagDiscussionModal
|
|
44
|
+
// flarum-tags:common/components/TagSelectionModal
|
|
45
|
+
// flarum-tags:forum/components/ToggleButton
|
|
46
|
+
// flarum-emoji:forum/emojiMap
|
|
47
|
+
this.lazyModules = {
|
|
48
|
+
flarum: {
|
|
49
|
+
admin: [],
|
|
50
|
+
forum: [
|
|
51
|
+
'Composer',
|
|
52
|
+
'DiscussionsUserPage',
|
|
53
|
+
'ForgotPasswordModal',
|
|
54
|
+
'NotificationsPage',
|
|
55
|
+
'ComposerBody',
|
|
56
|
+
'ConfirmDocumentUnload',
|
|
57
|
+
'LoadingPost',
|
|
58
|
+
'ReplyPlaceholder',
|
|
59
|
+
'PostStreamScrubber',
|
|
60
|
+
'SearchModal',
|
|
61
|
+
'SignUpModal',
|
|
62
|
+
'DiscussionComposer',
|
|
63
|
+
'EditPostComposer',
|
|
64
|
+
'ComposerBody',
|
|
65
|
+
'LogInModal',
|
|
66
|
+
'PostStream',
|
|
67
|
+
'ReplyComposer',
|
|
68
|
+
'SettingsPage',
|
|
69
|
+
'NotificationGrid',
|
|
70
|
+
'ChangePasswordModal',
|
|
71
|
+
'ChangeEmailModal',
|
|
72
|
+
'UserSecurityPage',
|
|
73
|
+
'AccessTokensList',
|
|
74
|
+
'NewAccessTokenModal',
|
|
75
|
+
'UserSecurityPageState',
|
|
76
|
+
'ComposerButton',
|
|
77
|
+
],
|
|
78
|
+
common: ['EditUserModal', 'LabelValue', 'ConfirmDocumentUnload'],
|
|
79
|
+
},
|
|
80
|
+
'flarum/tags': {
|
|
81
|
+
admin: [],
|
|
82
|
+
forum: ['TagDiscussionModal', 'TagSelectionModal', 'ToggleButton'],
|
|
83
|
+
common: [],
|
|
84
|
+
},
|
|
85
|
+
'flarum/emoji': {
|
|
86
|
+
admin: [],
|
|
87
|
+
forum: ['EmojiMap'],
|
|
88
|
+
common: [],
|
|
89
|
+
},
|
|
90
|
+
current: {
|
|
91
|
+
admin: [],
|
|
92
|
+
forum: [],
|
|
93
|
+
common: [],
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
this.composers = ['ComposerBody', 'DiscussionComposer', 'ReplyComposer', 'EditPostComposer'];
|
|
97
|
+
this.beforeHook = true;
|
|
98
|
+
}
|
|
99
|
+
replacements(file) {
|
|
100
|
+
if (file.endsWith('.js') || file.endsWith('.ts') || file.endsWith('.tsx') || file.endsWith('.jsx')) {
|
|
101
|
+
return [this.updateModalShow(), this.updateComposerLoad(), this.updateExtending(), this.updateMatches(), this.removeImportLines()];
|
|
102
|
+
}
|
|
103
|
+
if (file.includes('extend.php')) {
|
|
104
|
+
return [this.addJsDirectoryExtender()];
|
|
105
|
+
}
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
targets() {
|
|
109
|
+
return ['js/src/**/*', 'extend.php'];
|
|
110
|
+
}
|
|
111
|
+
gitCommit() {
|
|
112
|
+
return {
|
|
113
|
+
message: 'chore(2.0): adapt to extending lazy modules',
|
|
114
|
+
description: 'Some Flarum modules are now lazy loaded. Extending them requires a different approach.',
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
pauseMessage() {
|
|
118
|
+
const readMore = chalk_1.default.dim('Read more about code splitting in Flarum 2.0: https://docs.flarum.org/2.x/extend/code-splitting');
|
|
119
|
+
const lazyLoaded = chalk_1.default.bgYellow.bold('lazy loaded');
|
|
120
|
+
return `Flarum 2.0 introduces code splitting functionality. Some modules are now ${lazyLoaded}. And extending them requires a different approach.
|
|
121
|
+
The tool has attempted to update your code accordingly. Please review the changes and ensure everything is correct.
|
|
122
|
+
${readMore}`;
|
|
123
|
+
}
|
|
124
|
+
before(file, code) {
|
|
125
|
+
if (!file.endsWith('.js') && !file.endsWith('.ts') && !file.endsWith('.tsx') && !file.endsWith('.jsx'))
|
|
126
|
+
return;
|
|
127
|
+
const frontend = file.split('/src/')[1].split('/')[0];
|
|
128
|
+
if (!['forum', 'admin', 'common'].includes(frontend))
|
|
129
|
+
return;
|
|
130
|
+
const lazyModules = this.lazyModules.current[frontend];
|
|
131
|
+
this.forEachLazyModule(code, ({ module, importPath }) => {
|
|
132
|
+
// If any module from this extension extends a lazy core module,
|
|
133
|
+
// then they need to be considered as modules that must be lazy loaded as well.
|
|
134
|
+
var _a;
|
|
135
|
+
if (code.includes(' extends ' + module) && code.includes(importPath)) {
|
|
136
|
+
const localModule = (_a = code.match(new RegExp('class (\\w+) extends ' + module))) === null || _a === void 0 ? void 0 : _a[1];
|
|
137
|
+
if (localModule) {
|
|
138
|
+
lazyModules.push(localModule);
|
|
139
|
+
if (this.composers.includes(module)) {
|
|
140
|
+
this.composers.push(localModule);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
this.lazyModules.current[frontend] = lazyModules;
|
|
146
|
+
}
|
|
147
|
+
updateModalShow() {
|
|
148
|
+
return (_file, code, advanced) => {
|
|
149
|
+
const ast = advanced;
|
|
150
|
+
this.forEachLazyModule(code, ({ module, importPath }) => {
|
|
151
|
+
// before = app.modal.show(${module}, { ... }, ...);
|
|
152
|
+
// after = app.modal.show(() => import('${importPath}'), { ... }, ...);
|
|
153
|
+
(0, traverse_1.default)(ast, {
|
|
154
|
+
MemberExpression(path) {
|
|
155
|
+
const node = path.node;
|
|
156
|
+
const object = node.object;
|
|
157
|
+
const call = path.parent;
|
|
158
|
+
if (!t.isMemberExpression(object))
|
|
159
|
+
return;
|
|
160
|
+
if (!t.isCallExpression(call))
|
|
161
|
+
return;
|
|
162
|
+
if (t.isIdentifier(node.property) &&
|
|
163
|
+
node.property.name === 'show' &&
|
|
164
|
+
t.isIdentifier(object.property) &&
|
|
165
|
+
object.property.name === 'modal' &&
|
|
166
|
+
t.isIdentifier(object.object) &&
|
|
167
|
+
object.object.name === 'app') {
|
|
168
|
+
const args = call.arguments;
|
|
169
|
+
if (args.length === 0)
|
|
170
|
+
return;
|
|
171
|
+
const firstArg = args[0];
|
|
172
|
+
if (t.isIdentifier(firstArg) && firstArg.name === module) {
|
|
173
|
+
args[0] = t.arrowFunctionExpression([], t.callExpression(t.import(), [t.stringLiteral(importPath)]));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
return {
|
|
180
|
+
updated: ast,
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
updateComposerLoad() {
|
|
185
|
+
return (_file, code, advanced) => {
|
|
186
|
+
const ast = advanced;
|
|
187
|
+
this.forEachLazyModule(code, ({ module, importPath }) => {
|
|
188
|
+
// before = app.composer.load(${module}, { ... }, ...);
|
|
189
|
+
// after = app.composer.load(() => import('${importPath}'), { ... }, ...);
|
|
190
|
+
const lines = [];
|
|
191
|
+
const composers = this.composers;
|
|
192
|
+
// pick up {module}.prototype... lines to add to the .then(() => { lines }) at the end of the call expression.
|
|
193
|
+
(0, traverse_1.default)(ast, {
|
|
194
|
+
ExpressionStatement(path) {
|
|
195
|
+
// collect lines, for example:
|
|
196
|
+
// {module}.prototype.attribute = 'value';
|
|
197
|
+
const node = path.node;
|
|
198
|
+
const expression = node.expression;
|
|
199
|
+
if (!t.isAssignmentExpression(expression))
|
|
200
|
+
return;
|
|
201
|
+
const left = expression.left;
|
|
202
|
+
if (!t.isMemberExpression(left))
|
|
203
|
+
return;
|
|
204
|
+
const prototypeExpression = left.object;
|
|
205
|
+
if (!t.isMemberExpression(prototypeExpression))
|
|
206
|
+
return;
|
|
207
|
+
const property = prototypeExpression.property;
|
|
208
|
+
if (!t.isIdentifier(property) || property.name !== 'prototype')
|
|
209
|
+
return;
|
|
210
|
+
const object = prototypeExpression.object;
|
|
211
|
+
if (!t.isIdentifier(object))
|
|
212
|
+
return;
|
|
213
|
+
if (object.name !== module)
|
|
214
|
+
return;
|
|
215
|
+
if (composers.includes(module)) {
|
|
216
|
+
lines.push(node);
|
|
217
|
+
path.remove();
|
|
218
|
+
}
|
|
219
|
+
else if ((t.isFunctionExpression(expression.right) || t.isArrowFunctionExpression(expression.right)) &&
|
|
220
|
+
(t.isIdentifier(left.property) || t.isStringLiteral(left.property))) {
|
|
221
|
+
// SettingsPage.prototype['draftsItems'] = ...;
|
|
222
|
+
// change to extend('flarum/forum/components/SettingsPage', 'draftItems', ...);
|
|
223
|
+
const methodName = t.isIdentifier(left.property) ? left.property.name : left.property.value;
|
|
224
|
+
const extend = t.callExpression(t.identifier('extend'), [t.stringLiteral(importPath), t.stringLiteral(methodName), expression.right]);
|
|
225
|
+
path.replaceWith(t.expressionStatement(extend));
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
const newLines = lines.map((line) => {
|
|
230
|
+
return t.isExpressionStatement(line) ? line : t.expressionStatement(line);
|
|
231
|
+
});
|
|
232
|
+
let done = false;
|
|
233
|
+
(0, traverse_1.default)(ast, {
|
|
234
|
+
CallExpression(path) {
|
|
235
|
+
var _a;
|
|
236
|
+
if (done)
|
|
237
|
+
return;
|
|
238
|
+
const call = path.node;
|
|
239
|
+
const node = call.callee;
|
|
240
|
+
if (!t.isMemberExpression(node))
|
|
241
|
+
return;
|
|
242
|
+
const object = node.object;
|
|
243
|
+
if (!t.isMemberExpression(object))
|
|
244
|
+
return;
|
|
245
|
+
if (!t.isCallExpression(call))
|
|
246
|
+
return;
|
|
247
|
+
if (t.isIdentifier(node.property) &&
|
|
248
|
+
node.property.name === 'load' &&
|
|
249
|
+
t.isIdentifier(object.property) &&
|
|
250
|
+
object.property.name === 'composer' &&
|
|
251
|
+
t.isIdentifier(object.object) &&
|
|
252
|
+
object.object.name === 'app') {
|
|
253
|
+
const args = call.arguments;
|
|
254
|
+
if (args.length === 0)
|
|
255
|
+
return;
|
|
256
|
+
const firstArg = args[0];
|
|
257
|
+
if (!t.isIdentifier(firstArg) || firstArg.name !== module) {
|
|
258
|
+
// @ts-ignore
|
|
259
|
+
call.comments = [
|
|
260
|
+
recast.types.builders.commentLine(' @TODO: Modify this to use lazy loading, checkout https://docs.flarum.org/2.x/extend/code-splitting#async-composers', true, false),
|
|
261
|
+
];
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
args[0] = t.arrowFunctionExpression([], t.callExpression(t.import(), [t.stringLiteral(importPath)]));
|
|
265
|
+
(function (path) {
|
|
266
|
+
const siblingPath = path.parentPath.getNextSibling();
|
|
267
|
+
let siblingCall = siblingPath.node;
|
|
268
|
+
if (t.isExpressionStatement(siblingCall)) {
|
|
269
|
+
siblingCall = siblingCall.expression;
|
|
270
|
+
}
|
|
271
|
+
if (!t.isCallExpression(siblingCall))
|
|
272
|
+
return;
|
|
273
|
+
const siblingNode = siblingCall.callee;
|
|
274
|
+
if (!t.isMemberExpression(siblingNode))
|
|
275
|
+
return;
|
|
276
|
+
const siblingObject = siblingNode.object;
|
|
277
|
+
if (!t.isMemberExpression(siblingObject))
|
|
278
|
+
return;
|
|
279
|
+
if (t.isIdentifier(siblingNode.property) &&
|
|
280
|
+
siblingNode.property.name === 'show' &&
|
|
281
|
+
t.isIdentifier(siblingObject.property) &&
|
|
282
|
+
siblingObject.property.name === 'composer' &&
|
|
283
|
+
t.isIdentifier(siblingObject.object) &&
|
|
284
|
+
siblingObject.object.name === 'app') {
|
|
285
|
+
newLines.push(t.expressionStatement(siblingCall));
|
|
286
|
+
siblingPath.remove();
|
|
287
|
+
}
|
|
288
|
+
})(path);
|
|
289
|
+
let lineToComment = (_a = newLines[0]) !== null && _a !== void 0 ? _a : null;
|
|
290
|
+
if (!lineToComment) {
|
|
291
|
+
lineToComment = t.expressionStatement(t.identifier(''));
|
|
292
|
+
newLines.push(lineToComment);
|
|
293
|
+
}
|
|
294
|
+
const comment = ' @TODO: Move all direct access to the module object here. Including subsequent calls to app.composer.show(), checkout https://docs.flarum.org/2.x/extend/code-splitting#async-composers';
|
|
295
|
+
// @ts-ignore
|
|
296
|
+
lineToComment.comments = [recast.types.builders.commentLine(comment, true, false)];
|
|
297
|
+
// Add (...).then(() => { lines }) to the call expression.
|
|
298
|
+
const then = t.memberExpression(path.node, t.identifier('then'));
|
|
299
|
+
const body = t.blockStatement(newLines);
|
|
300
|
+
const thenArgs = [t.arrowFunctionExpression([t.identifier(module)], body)];
|
|
301
|
+
const thenCall = t.callExpression(then, thenArgs);
|
|
302
|
+
path.replaceWith(thenCall);
|
|
303
|
+
done = true;
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
return {
|
|
309
|
+
updated: ast,
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
updateExtending() {
|
|
314
|
+
return (_file, code) => {
|
|
315
|
+
this.forEachLazyModule(code, ({ module, importPath, importedAs }) => {
|
|
316
|
+
const beforeExtend = `extend\\(${module}\\.prototype,`;
|
|
317
|
+
const afterExtend = `extend('${importPath}',`;
|
|
318
|
+
const beforeOverride = `override\\(${module}\\.prototype,`;
|
|
319
|
+
const afterOverride = `override('${importPath}',`;
|
|
320
|
+
code = code
|
|
321
|
+
// first the extend/override format.
|
|
322
|
+
.replace(new RegExp(beforeExtend, 'g'), afterExtend)
|
|
323
|
+
.replace(new RegExp(beforeOverride, 'g'), afterOverride);
|
|
324
|
+
// If there are still usages of the module apart from extend/override
|
|
325
|
+
// add a to do comment for the extension developer.
|
|
326
|
+
const match = code.match(new RegExp(`${importedAs}[^'"]`, 'g'));
|
|
327
|
+
const exists = match && match.length > 1;
|
|
328
|
+
if (exists) {
|
|
329
|
+
code = code.replace(new RegExp(`(^${importedAs}[^'"].*$)`, 'gm'), `$1 // @TODO: Check if this usage is correct. Lazy loaded modules must be loaded using the async import function. https://docs.flarum.org/2.x/extend/code-splitting`);
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
return {
|
|
333
|
+
updated: code,
|
|
334
|
+
};
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
updateMatches() {
|
|
338
|
+
return (_file, code) => {
|
|
339
|
+
this.forEachLazyModule(code, ({ module, importPath }) => {
|
|
340
|
+
code = code
|
|
341
|
+
.replace(new RegExp(`composer\\.bodyMatches\\(${module}\\)`, 'g'), `composer.bodyMatches('${importPath}')`)
|
|
342
|
+
.replace(new RegExp(`\\.state\\.bodyMatches\\(${module}\\)`, 'g'), `.state.bodyMatches('${importPath}')`)
|
|
343
|
+
.replace(new RegExp(`app\\.current\\.matches\\(${module}\\)`, 'g'), `app.current.matches('${importPath}')`);
|
|
344
|
+
});
|
|
345
|
+
return {
|
|
346
|
+
updated: code,
|
|
347
|
+
};
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
removeImportLines() {
|
|
351
|
+
return (_file, code) => {
|
|
352
|
+
this.forEachLazyModule(code, ({ module, importLine }) => {
|
|
353
|
+
if (code.includes(` extends ${module}`)) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
code = code
|
|
357
|
+
// then remove the import.
|
|
358
|
+
.replace(importLine, '');
|
|
359
|
+
});
|
|
360
|
+
return {
|
|
361
|
+
updated: code,
|
|
362
|
+
};
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
addJsDirectoryExtender() {
|
|
366
|
+
return (_file, code) => {
|
|
367
|
+
if (this.lazyModules.current.forum.length === 0 &&
|
|
368
|
+
this.lazyModules.current.admin.length === 0 &&
|
|
369
|
+
this.lazyModules.current.common.length === 0) {
|
|
370
|
+
return null;
|
|
371
|
+
}
|
|
372
|
+
['forum', 'admin', 'common'].forEach((frontend) => {
|
|
373
|
+
const modules = this.lazyModules.current[frontend];
|
|
374
|
+
if (modules.length === 0) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
const regex = new RegExp(`^(\\s+)(->js\\(__DIR__.'\\/js\\/dist\\/${frontend}\\.js'\\))`, 'gm');
|
|
378
|
+
code = regex.test(code)
|
|
379
|
+
? code.replace(regex, `$1$2\n$1->jsDirectory(__DIR__ . '/js/dist/${frontend}')`)
|
|
380
|
+
: code.replace('return [', `return [\n (new Extend\\Frontend('${frontend}'))->jsDirectory(__DIR__ . '/js/dist/${frontend}'),`);
|
|
381
|
+
});
|
|
382
|
+
return {
|
|
383
|
+
updated: code,
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
forEachLazyModule(code, callback) {
|
|
388
|
+
// eslint-disable-next-line guard-for-in
|
|
389
|
+
for (const namespace in this.lazyModules) {
|
|
390
|
+
const lazyModules = Object.values(this.lazyModules[namespace]).flat();
|
|
391
|
+
let packageNamespace = namespace === 'flarum' ? 'flarum' : `ext:${namespace}`;
|
|
392
|
+
if (namespace === 'current') {
|
|
393
|
+
packageNamespace = '\\.{1,2}';
|
|
394
|
+
}
|
|
395
|
+
for (const lazyModule of lazyModules) {
|
|
396
|
+
const regex = new RegExp(`import\\s+(.+)\\s+from '(${packageNamespace}/.+/${lazyModule})';\n`, 'gmi');
|
|
397
|
+
const importMatch = regex.exec(code);
|
|
398
|
+
const importLine = importMatch && importMatch[0];
|
|
399
|
+
// if (code.includes("import UserControls from 'flarum/forum/utils/UserControls';")) {
|
|
400
|
+
// console.log(this.lazyModules.current);
|
|
401
|
+
// }
|
|
402
|
+
//
|
|
403
|
+
// if (namespace === 'current' && code.includes("import UserControls from 'flarum/forum/utils/UserControls';")) {
|
|
404
|
+
// console.log('regex', regex);
|
|
405
|
+
// console.log('importMatch', importMatch);
|
|
406
|
+
// console.log(code)
|
|
407
|
+
// }
|
|
408
|
+
if (!importLine) {
|
|
409
|
+
continue;
|
|
410
|
+
}
|
|
411
|
+
const importPath = importMatch[2];
|
|
412
|
+
const importedAs = importMatch[1];
|
|
413
|
+
callback({ namespace, module: lazyModule, packageNamespace, importPath, importedAs, importLine });
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
exports.default = UsageOfLazyModules;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseUpgradeStep, GitCommit, Replacement } from '../../base';
|
|
2
|
+
export default class Compat extends BaseUpgradeStep {
|
|
3
|
+
type: string;
|
|
4
|
+
private importingFromExtensions;
|
|
5
|
+
private useExtensions;
|
|
6
|
+
replacements(file: string): Replacement[];
|
|
7
|
+
targets(): string[];
|
|
8
|
+
gitCommit(): GitCommit;
|
|
9
|
+
pauseMessage(): string;
|
|
10
|
+
replaceCompat(): Replacement;
|
|
11
|
+
replaceCompatUsage(): Replacement;
|
|
12
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const base_1 = require("../../base");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
class Compat extends base_1.BaseUpgradeStep {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.type = 'Replace removed compat API with simple imports.';
|
|
10
|
+
this.importingFromExtensions = [];
|
|
11
|
+
this.useExtensions = [];
|
|
12
|
+
}
|
|
13
|
+
replacements(file) {
|
|
14
|
+
if (file.includes('/compat.')) {
|
|
15
|
+
return [this.replaceCompat()];
|
|
16
|
+
}
|
|
17
|
+
if (file.includes('/index.')) {
|
|
18
|
+
return [this.replaceCompatUsage()];
|
|
19
|
+
}
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
targets() {
|
|
23
|
+
return ['js/src/common/compat.*', 'js/src/forum/compat.*', 'js/src/forum/index.*', 'js/src/admin/compat.*', 'js/src/admin/index.*'];
|
|
24
|
+
}
|
|
25
|
+
gitCommit() {
|
|
26
|
+
return {
|
|
27
|
+
message: 'chore(2.0): remove compat API',
|
|
28
|
+
description: 'The compat API has been removed. Modules from extensions are now automatically accessible from other extensions using the format ext:vendor/extension/module-path.',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
pauseMessage() {
|
|
32
|
+
const format = chalk_1.default.bgCyan.bold('ext:vendor/extension/module-path');
|
|
33
|
+
return `The compat API has been removed. Modules from extensions are now automatically accessible from other extensions using the format ${format}.
|
|
34
|
+
If you were using the compat API, it has been replaced with simple imports to ensure the modules are available for discovery.
|
|
35
|
+
Please review the changes and ensure everything is correct.`;
|
|
36
|
+
}
|
|
37
|
+
replaceCompat() {
|
|
38
|
+
return (file, code) => {
|
|
39
|
+
const parentDir = file.split('/').slice(-2, -1)[0];
|
|
40
|
+
return {
|
|
41
|
+
newPath: file.replace('compat.', parentDir + '.'),
|
|
42
|
+
updated: code
|
|
43
|
+
// import compat from '../common/compat'; => import '../common/common';
|
|
44
|
+
.replace(/^import\s+compat\s+from\s+["']\.\.\/common\/compat["'];$/gim, "import '../common/common';")
|
|
45
|
+
// import module from '...'; => import '...';
|
|
46
|
+
.replace(/^import\s+\w+\s+from\s+["'](.*)["'];$/gim, "import '$1';")
|
|
47
|
+
// export default { ... }; => ''
|
|
48
|
+
.replace(/export\s+default\s+{[^}]*};/gi, '')
|
|
49
|
+
// export default Object.assign(compat, { ... }); => ''
|
|
50
|
+
.replace(/export\s+default\s+object.assign\(compat, {[^}]*}\);/gi, ''),
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
replaceCompatUsage() {
|
|
55
|
+
return (file, code) => {
|
|
56
|
+
const parentDir = file.split('/').slice(-2, -1)[0];
|
|
57
|
+
return {
|
|
58
|
+
updated: code
|
|
59
|
+
// // Expose compat API => // Allow flarum to discover modules
|
|
60
|
+
.replace(/\/\/ expose compat api/gi, '// Allow flarum to discover modules')
|
|
61
|
+
// import $compat from 'path/common/compat'; => import 'path/common/common';
|
|
62
|
+
.replace(/^import.+from\s+["'](.*)common\/compat["'];$/gim, "import '$1common/common';")
|
|
63
|
+
// import $compat from './compat'; => import './parentDir';
|
|
64
|
+
.replace(/^import.+from\s+["']\.\/compat["'];$/gim, "import './" + parentDir + "';")
|
|
65
|
+
// import { compat } from '@flarum/core/$frontend'; => ''
|
|
66
|
+
.replace(/^import\s+{ compat }\s+from\s+["']@flarum\/core\/\w+["'];$/gim, '')
|
|
67
|
+
// Object.assign(compat, module); => ''
|
|
68
|
+
.replace(/^object.assign\(compat, \w+\);$/gim, '')
|
|
69
|
+
// Object.assign(compat, { ... }); => ''
|
|
70
|
+
.replace(/^object.assign\(compat, {[^}]*}\);$/gim, ''),
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.default = Compat;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseUpgradeStep, GitCommit, Replacement } from '../../base';
|
|
2
|
+
export default class ImportExt extends BaseUpgradeStep {
|
|
3
|
+
type: string;
|
|
4
|
+
private importingFromExtensions;
|
|
5
|
+
private useExtensions;
|
|
6
|
+
replacements(file: string): Replacement[];
|
|
7
|
+
targets(): string[];
|
|
8
|
+
gitCommit(): GitCommit;
|
|
9
|
+
pauseMessage(): string;
|
|
10
|
+
removeUseExtensionsOption(): Replacement;
|
|
11
|
+
updateImportsFromFlarumExtensions(): Replacement;
|
|
12
|
+
updateTsConfigPaths(): Replacement;
|
|
13
|
+
}
|