├── .npmignore ├── images └── logo.png ├── .gitignore ├── .prettierignore ├── composer.json ├── CHANGELOG.md ├── .vscodeignore ├── .editorconfig ├── tsconfig.json ├── src ├── test │ ├── suite │ │ ├── extension.test.ts │ │ └── index.ts │ └── runTests.ts └── extension.ts ├── renovate.json ├── .prettierrc ├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .vscode ├── tasks.json └── launch.json ├── .eslintrc.js ├── LICENSE.txt ├── README.md ├── package.json └── composer.lock /.npmignore: -------------------------------------------------------------------------------- 1 | src 2 | tsconfig.json 3 | tslint.json 4 | *.map 5 | .vscode 6 | -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mogtofu33/vscode-phpactor/master/images/logo.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out/ 2 | node_modules/ 3 | .vscode-test/ 4 | artifacts/ 5 | vendor/ 6 | phpactor.phar 7 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .vscode-test/ 2 | coverage/ 3 | out/ 4 | vendor/ 5 | package-lock.json 6 | package.json 7 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "prefer-stable": true, 3 | "minimum-stability": "dev", 4 | "require": { 5 | "phpactor/phpactor": "*" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## [1.3.0] - 2024-02-05 4 | 5 | - Bundle phpactor 2023.12.03.0 6 | 7 | ## [1.2.0] - 2023-04-10 8 | 9 | - Allow conection via. socket #42 @Rodrigo-Barros 10 | - Add `phpactor.trace.server` configuration option 11 | -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .github/** 2 | .vscode/** 3 | .vscode-test/** 4 | images/** 5 | !images/logo.png 6 | out/test/** 7 | src/** 8 | .gitignore 9 | .npmignore 10 | .prettierignore 11 | renovate.json 12 | vendor/bin/** 13 | **/tsconfig.json 14 | **/.eslintrc.json 15 | **/*.map 16 | **/*.ts 17 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 4 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "out", 5 | "target": "es2021", 6 | "module": "commonjs", 7 | "sourceMap": true, 8 | "moduleResolution": "node", 9 | "strict": true, 10 | "lib": ["es2021"], 11 | "plugins": [] 12 | }, 13 | "include": ["src", "node_modules/vscode/vscode.d.ts"], 14 | "exclude": [] 15 | } 16 | -------------------------------------------------------------------------------- /src/test/suite/extension.test.ts: -------------------------------------------------------------------------------- 1 | import * as assert from 'assert' 2 | 3 | // You can import and use all API from the 'vscode' module 4 | // as well as import your extension to test it 5 | import * as vscode from 'vscode' 6 | 7 | suite('Extension Test Suite', () => { 8 | test('Extension is present', () => { 9 | assert.ok(vscode.extensions.getExtension('phpactor.vscode-phpactor')) 10 | }) 11 | test('Extension activates', async () => { 12 | await vscode.extensions.getExtension('phpactor.vscode-phpactor')?.activate() 13 | }) 14 | }) 15 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["config:recommended"], 4 | "customManagers": [ 5 | { 6 | "customType": "regex", 7 | "fileMatch": ["^package.json$"], 8 | "matchStrings": ["download-phpactor.*download\\/(?[^\\/]+)\\/phpactor\\.phar"], 9 | "versioningTemplate": "regex:^(?\\d+)\\.(?\\d+)\\.(?\\d+)[-\\.]?(?\\w+)?$", 10 | "depNameTemplate": "phpactor/phpactor", 11 | "datasourceTemplate": "github-tags" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "tabWidth": 4, 4 | "useTabs": false, 5 | "trailingComma": "es5", 6 | "bracketSpacing": true, 7 | "singleQuote": true, 8 | "printWidth": 120, 9 | "endOfLine": "lf", 10 | "proseWrap": "preserve", 11 | "arrowParens": "avoid", 12 | "overrides": [ 13 | { 14 | "files": "{*.js?(on),*.yml,.*.yml,.prettierrc,*.md}", 15 | "options": { 16 | "tabWidth": 2 17 | } 18 | }, 19 | { 20 | "files": ".prettierrc", 21 | "options": { 22 | "parser": "json" 23 | } 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Test Extension 2 | on: 3 | push: 4 | branches: 5 | - master 6 | pull_request: 7 | branches: [master] 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v4 15 | - name: Install Node.js 16 | uses: actions/setup-node@v4 17 | with: 18 | node-version: '16.14.2' 19 | - run: mkdir artifacts 20 | - run: npm ci 21 | - name: Prettier 22 | run: npm run prettier-check 23 | - name: Lint 24 | run: npm run eslint 25 | - name: Download Phpactor 26 | run: npm run download-phpactor 27 | - run: xvfb-run -a npm test 28 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "type": "npm", 6 | "script": "watch", 7 | "group": { 8 | "kind": "build", 9 | "isDefault": true 10 | }, 11 | "problemMatcher": [], 12 | "label": "npm: watch", 13 | "detail": "tsc -watch -p ./" 14 | }, 15 | { 16 | "type": "npm", 17 | "script": "install", 18 | "problemMatcher": [], 19 | "label": "npm: install", 20 | "detail": "install dependencies from package" 21 | }, 22 | { 23 | "type": "npm", 24 | "script": "lint", 25 | "problemMatcher": [], 26 | "label": "npm: lint", 27 | "detail": "npm run eslint && npm run prettier" 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Launch Extension", 9 | "type": "extensionHost", 10 | "request": "launch", 11 | "runtimeExecutable": "${execPath}", 12 | "args": ["--extensionDevelopmentPath=${workspaceFolder}", "--disable-extensions"], 13 | "outFiles": ["${workspaceFolder}/out/**/*.js"], 14 | "sourceMaps": true 15 | }, 16 | { 17 | "name": "Listen for Xdebug", 18 | "type": "php", 19 | "request": "launch", 20 | "port": 9003 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "env": { 3 | "es6": true, 4 | "node": true 5 | }, 6 | "parser": "@typescript-eslint/parser", 7 | "parserOptions": { 8 | "project": "tsconfig.json", 9 | "sourceType": "module" 10 | }, 11 | "extends": [ 12 | 'eslint:recommended', 13 | //'plugin:jsdoc/recommended', 14 | 'plugin:@typescript-eslint/eslint-recommended', 15 | 'plugin:@typescript-eslint/recommended', 16 | 'plugin:@typescript-eslint/recommended-requiring-type-checking', 17 | 'prettier', 18 | ], 19 | "plugins": [ 20 | "eslint-plugin-jsdoc", 21 | "@typescript-eslint", 22 | ], 23 | "root": true, 24 | "rules": { 25 | '@typescript-eslint/no-unsafe-assignment': 'off', 26 | } 27 | }; 28 | -------------------------------------------------------------------------------- /src/test/runTests.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path' 2 | 3 | import { runTests } from '@vscode/test-electron' 4 | 5 | async function main(): Promise { 6 | try { 7 | // The folder containing the Extension Manifest package.json 8 | // Passed to `--extensionDevelopmentPath` 9 | const extensionDevelopmentPath = path.resolve(__dirname, '../../') 10 | 11 | // The path to the extension test script 12 | // Passed to --extensionTestsPath 13 | const extensionTestsPath = path.resolve(__dirname, './suite/index') 14 | 15 | // Download VS Code, unzip it and run the integration test 16 | await runTests({ extensionDevelopmentPath, extensionTestsPath }) 17 | } catch (err) { 18 | // tslint:disable-next-line: no-console 19 | console.error('Failed to run tests') 20 | process.exit(1) 21 | } 22 | } 23 | 24 | void main() 25 | -------------------------------------------------------------------------------- /src/test/suite/index.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path' 2 | import Mocha = require('mocha') 3 | import { glob } from 'glob' 4 | 5 | export async function run(): Promise { 6 | // Create the mocha test 7 | const mocha = new Mocha({ 8 | ui: 'tdd', 9 | timeout: 30000, 10 | }) 11 | 12 | const testsRoot = path.resolve(__dirname, '..') 13 | 14 | const files = await glob('**/**.test.js', { cwd: testsRoot }) 15 | 16 | // Add files to the test suite 17 | files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))) 18 | 19 | try { 20 | return new Promise((c, e) => { 21 | // Run the mocha test 22 | mocha.run(failures => { 23 | if (failures > 0) { 24 | e(new Error(`${failures} tests failed.`)) 25 | } else { 26 | c() 27 | } 28 | }) 29 | }) 30 | } catch (err) { 31 | console.error(err) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | on: 2 | release: 3 | types: 4 | - created 5 | 6 | name: Upload the extension 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v4 13 | - name: Install Node.js 14 | uses: actions/setup-node@v4 15 | with: 16 | node-version: '16.14.2' 17 | - run: npm ci 18 | - name: Download Phpactor 19 | run: npm run download-phpactor 20 | - run: npm run compile 21 | - run: mkdir artifacts 22 | - name: Package 23 | run: npx vsce package --no-git-tag-version --no-update-package-json --out=artifacts/phpactor.vsix ${{ github.event.release.tag_name }} 24 | - name: 'Release Extension' 25 | uses: actions/upload-release-asset@v1 26 | env: 27 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 28 | with: 29 | upload_url: ${{ github.event.release.upload_url }} 30 | asset_path: ./artifacts/phpactor.vsix 31 | asset_name: phpactor.vsix 32 | asset_content_type: application/octet-stream 33 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 Daniel Leech 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Phpactor VSCode Extension 2 | 3 | ![phpactor2sm](https://user-images.githubusercontent.com/530801/27995098-82e72c4c-64c0-11e7-96d2-f549c711ca8b.png) 4 | 5 | [![vs marketplace](https://img.shields.io/vscode-marketplace/v/phpactor.vscode-phpactor.svg?label=vs%20marketplace)](https://marketplace.visualstudio.com/items?itemName=phpactor.vscode-phpactor) [![downloads](https://img.shields.io/vscode-marketplace/d/phpactor.vscode-phpactor.svg)](https://marketplace.visualstudio.com/items?itemName=phpactor.vscode-phpactor) [![rating](https://img.shields.io/vscode-marketplace/r/phpactor.vscode-phpactor.svg)](https://marketplace.visualstudio.com/items?itemName=phpactor.vscode-phpactor) 6 | 7 | Extension which integrates [Phpactor](https://github.com/phpactor/phpactor) 8 | with [VSCode](https://github.com/neoclide/coc.nvim). 9 | 10 | ## Installation 11 | 12 | ### Normal Installation 13 | 14 | Install from Marketplace or install manually. 15 | 16 | 1. Download the `phpactor.vsix` file from the [lastest release](https://github.com/phpactor/vscode-phpactor/releases/latest) 17 | 2. Run `code --install-extension /path/to/phpactor.vsix` 18 | 19 | ### Development 20 | 21 | For development it is easier 22 | 23 | 1. Install [npm](https://www.npmjs.com/get-npm). 24 | 2. Install typescript: `npm install -g typescript` 25 | 3. Git clone this package 26 | 4. `npm install` 27 | 5. Run `composer install` 28 | 6. Open the folder in VSCode 29 | 7. Start watch compilation by selecting `Terminal / Run Build Task...` 30 | 8. Open the Run and Debug side menu, select `Launch Extension` from the debug configuration and hit run (`F5`) 31 | 9. Additionally you can also run `Listen for Xdebug` to debug the Language Server - but has to be run before the Language Server starts. 32 | 33 | Note that the Phpactor Language Server currently only runs on Linux and macOS so if you are on Windows you might need to make use of WSL or a Linux VM combined with VSCode Remote. 34 | 35 | Before submitting a PR also run `npm run lint` or `Terminal / Run Tasks... / npm: lint`. 36 | 37 | ## Commands 38 | 39 | - `phpactor.status`: Show Phpactor's status 40 | - `phpactor.reindex`: Reindex the project. 41 | - `phpactor.services.list`: List Phpactor's currently running services. 42 | - `phpactor.config.dump`: Dump Phpactor's configuratoin to the log window. 43 | 44 | ## Documentation 45 | 46 | For full documentation see [the docs](https://phpactor.readthedocs.io/en/master/index.html). 47 | -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | import { LanguageClient, ServerOptions, LanguageClientOptions, StreamInfo } from 'vscode-languageclient' 2 | 3 | import * as vscode from 'vscode' 4 | import { join } from 'path' 5 | import * as net from 'net' 6 | import * as fs from 'fs' 7 | 8 | const LanguageID = 'php' 9 | 10 | let languageClient: LanguageClient 11 | 12 | interface PhpactorConfig { 13 | path: string 14 | executablePath: string 15 | enable: boolean 16 | config: object 17 | remote: { 18 | enabled: boolean 19 | host: string 20 | port: number 21 | } 22 | launchServerArgs: string[] 23 | } 24 | 25 | export function activate(context: vscode.ExtensionContext): void { 26 | if (!checkPlatform()) { 27 | return 28 | } 29 | 30 | const workspaceConfig = vscode.workspace.getConfiguration() 31 | const config = workspaceConfig.get('phpactor') || {} 32 | const enable = config.enable 33 | 34 | if (!config.path) { 35 | config.path = context.asAbsolutePath(join('vendor', 'phpactor', 'phpactor', 'bin', 'phpactor')) 36 | if (!fs.existsSync(config.path)) { 37 | config.path = context.asAbsolutePath(join('phpactor.phar')) 38 | } 39 | } 40 | 41 | if (!config.executablePath) { 42 | const phpConfig = vscode.workspace.getConfiguration('php') 43 | config.executablePath = 44 | phpConfig.get('executablePath') || 45 | phpConfig.get('validate.executablePath') || 46 | (process.platform === 'win32' ? 'php.exe' : 'php') 47 | } 48 | 49 | if (enable === false) return 50 | 51 | languageClient = createClient(config) 52 | languageClient.start() 53 | } 54 | 55 | export function deactivate(): Promise | undefined { 56 | if (!languageClient) { 57 | return undefined 58 | } 59 | return languageClient.stop() 60 | } 61 | 62 | function checkPlatform(): boolean { 63 | if (process.platform === 'win32') { 64 | void vscode.window.showWarningMessage('Phpactor is not supported on Windows.') 65 | return false 66 | } 67 | return true 68 | } 69 | 70 | function getServerOptions(config: PhpactorConfig): ServerOptions { 71 | let serverOptions 72 | if (!config.remote.enabled) { 73 | // launch language server via stdio 74 | serverOptions = { 75 | run: { 76 | command: config.executablePath, 77 | args: [config.path, 'language-server', ...config.launchServerArgs], 78 | }, 79 | debug: { 80 | command: config.executablePath, 81 | args: ['-dxdebug.start_with_request=1', config.path, 'language-server', ...config.launchServerArgs], 82 | options: { 83 | env: { 84 | ...process.env, 85 | XDEBUG_MODE: 'debug', 86 | PHPACTOR_ALLOW_XDEBUG: '1', 87 | }, 88 | }, 89 | }, 90 | } 91 | } else { 92 | // credits: https://github.com/itemis/xtext-languageserver-example/blob/master/vscode-extension/src/extension.ts 93 | // launch language server via socket 94 | serverOptions = () => { 95 | const { host, port } = config.remote 96 | const socket = net.connect({ 97 | host, 98 | port, 99 | }) 100 | 101 | const result = { 102 | writer: socket, 103 | reader: socket, 104 | } 105 | 106 | return Promise.resolve(result) 107 | } 108 | } 109 | 110 | return serverOptions 111 | } 112 | 113 | function createClient(config: PhpactorConfig): LanguageClient { 114 | const serverOptions = getServerOptions(config) 115 | 116 | const clientOptions: LanguageClientOptions = { 117 | documentSelector: [ 118 | { language: LanguageID, scheme: 'file' }, 119 | { language: 'blade', scheme: 'file' }, 120 | { language: LanguageID, scheme: 'untitled' }, 121 | ], 122 | initializationOptions: config.config, 123 | } 124 | 125 | languageClient = new LanguageClient('phpactor', 'Phpactor Language Server', serverOptions, clientOptions) 126 | 127 | vscode.commands.registerCommand('phpactor.reindex', reindex) 128 | vscode.commands.registerCommand('phpactor.config.dump', dumpConfig) 129 | vscode.commands.registerCommand('phpactor.services.list', servicesList) 130 | vscode.commands.registerCommand('phpactor.status', status) 131 | 132 | return languageClient 133 | } 134 | 135 | function reindex(): void { 136 | if (!checkPlatform() || !languageClient) { 137 | return 138 | } 139 | 140 | void languageClient.sendRequest('indexer/reindex') 141 | } 142 | 143 | async function dumpConfig(): Promise { 144 | if (!checkPlatform() || !languageClient) { 145 | return 146 | } 147 | 148 | const channel = vscode.window.createOutputChannel('Phpactor Config') 149 | const result = await languageClient.sendRequest('phpactor/debug/config', { return: true }) 150 | channel.append(result) 151 | channel.show() 152 | } 153 | 154 | function servicesList(): void { 155 | if (!checkPlatform() || !languageClient) { 156 | return 157 | } 158 | 159 | void languageClient.sendRequest('service/running') 160 | } 161 | 162 | async function status(): Promise { 163 | if (!checkPlatform() || !languageClient) { 164 | return 165 | } 166 | 167 | const channel = vscode.window.createOutputChannel('Phpactor Status') 168 | const result = await languageClient.sendRequest('phpactor/status') 169 | channel.append(result) 170 | channel.show() 171 | } 172 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-phpactor", 3 | "version": "0.0.0-development", 4 | "description": "Phpactor PHP Language Server extension for vscode", 5 | "main": "./out/extension.js", 6 | "publisher": "phpactor", 7 | "engines": { 8 | "vscode": "^1.61.0" 9 | }, 10 | "keywords": [ 11 | "vscode", 12 | "php", 13 | "phpactor" 14 | ], 15 | "scripts": { 16 | "clean": "rimraf out", 17 | "watch": "tsc -watch -p ./", 18 | "pretest": "npm run compile", 19 | "compile": "npm run clean && tsc -p ./", 20 | "composer": "composer install", 21 | "download-phpactor": "curl -L https://github.com/phpactor/phpactor/releases/download/2023.12.03.0/phpactor.phar > phpactor.phar", 22 | "package": "npx vsce package --out=artifacts/phpactor.vsix", 23 | "lint": "npm run eslint && npm run prettier", 24 | "eslint": "eslint \"src/**/*.ts\"", 25 | "prettier": "prettier \"**/{*.json,*.yml,.*.yml,*.ts,.prettierrc,*.md}\" --write --list-different", 26 | "prettier-check": "npm run prettier -- --write=false", 27 | "test": "node ./out/test/runTests.js" 28 | }, 29 | "activationEvents": [ 30 | "onLanguage:php", 31 | "onLanguage:blade" 32 | ], 33 | "contributes": { 34 | "commands": [ 35 | { 36 | "command": "phpactor.reindex", 37 | "title": "Re-index workspace", 38 | "category": "Phpactor" 39 | }, 40 | { 41 | "command": "phpactor.config.dump", 42 | "title": "Dump the configuration", 43 | "category": "Phpactor" 44 | }, 45 | { 46 | "command": "phpactor.services.list", 47 | "title": "List currently running services", 48 | "category": "Phpactor" 49 | }, 50 | { 51 | "command": "phpactor.status", 52 | "title": "Show current status", 53 | "category": "Phpactor" 54 | } 55 | ], 56 | "configuration": { 57 | "title": "Phpactor", 58 | "properties": { 59 | "phpactor.trace.server": { 60 | "scope": "window", 61 | "type": "object", 62 | "description": "Traces the communication between VS Code and the language server.", 63 | "properties": { 64 | "verbosity": { 65 | "type": "string", 66 | "description": "Controls the verbosity of the trace.", 67 | "enum": [ 68 | "off", 69 | "message", 70 | "verbose" 71 | ], 72 | "default": "off" 73 | }, 74 | "format": { 75 | "type": "string", 76 | "description": "Controls the output format of the trace.", 77 | "enum": [ 78 | "text", 79 | "json" 80 | ], 81 | "default": "text" 82 | } 83 | } 84 | }, 85 | "phpactor.path": { 86 | "type": [ 87 | "string", 88 | "null" 89 | ], 90 | "default": null, 91 | "description": "Specifies the path to the Phpactor binary" 92 | }, 93 | "phpactor.executablePath": { 94 | "type": [ 95 | "string", 96 | "null" 97 | ], 98 | "default": null, 99 | "description": "The path to a PHP executable." 100 | }, 101 | "phpactor.enable": { 102 | "type": "boolean", 103 | "default": true, 104 | "description": "Whether to enable the language server" 105 | }, 106 | "phpactor.config": { 107 | "type": "object", 108 | "default": {}, 109 | "description": "Specifies the underlying Phpactor configuration." 110 | }, 111 | "phpactor.remote.enabled": { 112 | "type": "boolean", 113 | "default": false, 114 | "description": "Connect to language server via socket instead stdio" 115 | }, 116 | "phpactor.remote.host": { 117 | "type": "string", 118 | "default": "127.0.0.1", 119 | "description": "Host that language server is running" 120 | }, 121 | "phpactor.remote.port": { 122 | "type": "integer", 123 | "default": 9090, 124 | "description": "Port that language server is running" 125 | }, 126 | "phpactor.launchServerArgs": { 127 | "type": "array", 128 | "default": [], 129 | "description": "Arguments passeds to language server. Only applies if language server is running in stdio mode" 130 | } 131 | } 132 | } 133 | }, 134 | "icon": "images/logo.png", 135 | "author": "daniel@dantleech.com", 136 | "license": "MIT", 137 | "devDependencies": { 138 | "@types/glob": "^8.0.0", 139 | "@types/mocha": "^10.0.0", 140 | "@types/node": "^20.0.0", 141 | "@types/vscode": "^1.61.0", 142 | "@typescript-eslint/eslint-plugin": "^6.0.0", 143 | "@typescript-eslint/parser": "^6.0.0", 144 | "@vscode/test-electron": "^2.1.3", 145 | "@vscode/vsce": "^2.22.0", 146 | "eslint": "^8.51.0", 147 | "eslint-config-prettier": "^9.0.0", 148 | "eslint-plugin-jsdoc": "^46.9.0", 149 | "glob": "^10.0.0", 150 | "mocha": "^10.1.0", 151 | "prettier": "3.1.0", 152 | "rimraf": "~5.0.0", 153 | "source-map-support": "^0.5.12", 154 | "ts-loader": "~9.5.0", 155 | "tslib": "^2.1.0", 156 | "typescript": "^5.0.0" 157 | }, 158 | "dependencies": { 159 | "vscode-languageclient": "^6.1.3" 160 | }, 161 | "repository": { 162 | "type": "git", 163 | "url": "https://github.com/phpactor/vscode-phpactor" 164 | }, 165 | "sponsor": { 166 | "url": "https://github.com/sponsors/dantleech" 167 | } 168 | } 169 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "035078e5a746d500f732877ed52d51f5", 8 | "packages": [ 9 | { 10 | "name": "amphp/amp", 11 | "version": "v2.6.2", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/amphp/amp.git", 15 | "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", 20 | "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "php": ">=7.1" 25 | }, 26 | "require-dev": { 27 | "amphp/php-cs-fixer-config": "dev-master", 28 | "amphp/phpunit-util": "^1", 29 | "ext-json": "*", 30 | "jetbrains/phpstorm-stubs": "^2019.3", 31 | "phpunit/phpunit": "^7 | ^8 | ^9", 32 | "psalm/phar": "^3.11@dev", 33 | "react/promise": "^2" 34 | }, 35 | "type": "library", 36 | "extra": { 37 | "branch-alias": { 38 | "dev-master": "2.x-dev" 39 | } 40 | }, 41 | "autoload": { 42 | "files": [ 43 | "lib/functions.php", 44 | "lib/Internal/functions.php" 45 | ], 46 | "psr-4": { 47 | "Amp\\": "lib" 48 | } 49 | }, 50 | "notification-url": "https://packagist.org/downloads/", 51 | "license": [ 52 | "MIT" 53 | ], 54 | "authors": [ 55 | { 56 | "name": "Daniel Lowrey", 57 | "email": "rdlowrey@php.net" 58 | }, 59 | { 60 | "name": "Aaron Piotrowski", 61 | "email": "aaron@trowski.com" 62 | }, 63 | { 64 | "name": "Bob Weinand", 65 | "email": "bobwei9@hotmail.com" 66 | }, 67 | { 68 | "name": "Niklas Keller", 69 | "email": "me@kelunik.com" 70 | } 71 | ], 72 | "description": "A non-blocking concurrency framework for PHP applications.", 73 | "homepage": "https://amphp.org/amp", 74 | "keywords": [ 75 | "async", 76 | "asynchronous", 77 | "awaitable", 78 | "concurrency", 79 | "event", 80 | "event-loop", 81 | "future", 82 | "non-blocking", 83 | "promise" 84 | ], 85 | "support": { 86 | "irc": "irc://irc.freenode.org/amphp", 87 | "issues": "https://github.com/amphp/amp/issues", 88 | "source": "https://github.com/amphp/amp/tree/v2.6.2" 89 | }, 90 | "funding": [ 91 | { 92 | "url": "https://github.com/amphp", 93 | "type": "github" 94 | } 95 | ], 96 | "time": "2022-02-20T17:52:18+00:00" 97 | }, 98 | { 99 | "name": "amphp/byte-stream", 100 | "version": "v1.8.1", 101 | "source": { 102 | "type": "git", 103 | "url": "https://github.com/amphp/byte-stream.git", 104 | "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" 105 | }, 106 | "dist": { 107 | "type": "zip", 108 | "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", 109 | "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", 110 | "shasum": "" 111 | }, 112 | "require": { 113 | "amphp/amp": "^2", 114 | "php": ">=7.1" 115 | }, 116 | "require-dev": { 117 | "amphp/php-cs-fixer-config": "dev-master", 118 | "amphp/phpunit-util": "^1.4", 119 | "friendsofphp/php-cs-fixer": "^2.3", 120 | "jetbrains/phpstorm-stubs": "^2019.3", 121 | "phpunit/phpunit": "^6 || ^7 || ^8", 122 | "psalm/phar": "^3.11.4" 123 | }, 124 | "type": "library", 125 | "extra": { 126 | "branch-alias": { 127 | "dev-master": "1.x-dev" 128 | } 129 | }, 130 | "autoload": { 131 | "files": [ 132 | "lib/functions.php" 133 | ], 134 | "psr-4": { 135 | "Amp\\ByteStream\\": "lib" 136 | } 137 | }, 138 | "notification-url": "https://packagist.org/downloads/", 139 | "license": [ 140 | "MIT" 141 | ], 142 | "authors": [ 143 | { 144 | "name": "Aaron Piotrowski", 145 | "email": "aaron@trowski.com" 146 | }, 147 | { 148 | "name": "Niklas Keller", 149 | "email": "me@kelunik.com" 150 | } 151 | ], 152 | "description": "A stream abstraction to make working with non-blocking I/O simple.", 153 | "homepage": "http://amphp.org/byte-stream", 154 | "keywords": [ 155 | "amp", 156 | "amphp", 157 | "async", 158 | "io", 159 | "non-blocking", 160 | "stream" 161 | ], 162 | "support": { 163 | "irc": "irc://irc.freenode.org/amphp", 164 | "issues": "https://github.com/amphp/byte-stream/issues", 165 | "source": "https://github.com/amphp/byte-stream/tree/v1.8.1" 166 | }, 167 | "funding": [ 168 | { 169 | "url": "https://github.com/amphp", 170 | "type": "github" 171 | } 172 | ], 173 | "time": "2021-03-30T17:13:30+00:00" 174 | }, 175 | { 176 | "name": "amphp/cache", 177 | "version": "v1.5.0", 178 | "source": { 179 | "type": "git", 180 | "url": "https://github.com/amphp/cache.git", 181 | "reference": "2b6b5dbb70e54cc914df9952ba7c012bc4cbcd28" 182 | }, 183 | "dist": { 184 | "type": "zip", 185 | "url": "https://api.github.com/repos/amphp/cache/zipball/2b6b5dbb70e54cc914df9952ba7c012bc4cbcd28", 186 | "reference": "2b6b5dbb70e54cc914df9952ba7c012bc4cbcd28", 187 | "shasum": "" 188 | }, 189 | "require": { 190 | "amphp/amp": "^2", 191 | "amphp/serialization": "^1", 192 | "amphp/sync": "^1.2", 193 | "php": ">=7.1" 194 | }, 195 | "conflict": { 196 | "amphp/file": "<0.2 || >=3" 197 | }, 198 | "require-dev": { 199 | "amphp/file": "^1 || ^2", 200 | "amphp/php-cs-fixer-config": "dev-master", 201 | "amphp/phpunit-util": "^1.1", 202 | "phpunit/phpunit": "^6 | ^7 | ^8 | ^9", 203 | "vimeo/psalm": "^4" 204 | }, 205 | "type": "library", 206 | "autoload": { 207 | "psr-4": { 208 | "Amp\\Cache\\": "lib" 209 | } 210 | }, 211 | "notification-url": "https://packagist.org/downloads/", 212 | "license": [ 213 | "MIT" 214 | ], 215 | "authors": [ 216 | { 217 | "name": "Niklas Keller", 218 | "email": "me@kelunik.com" 219 | }, 220 | { 221 | "name": "Daniel Lowrey", 222 | "email": "rdlowrey@php.net" 223 | } 224 | ], 225 | "description": "A promise-aware caching API for Amp.", 226 | "homepage": "https://github.com/amphp/cache", 227 | "support": { 228 | "irc": "irc://irc.freenode.org/amphp", 229 | "issues": "https://github.com/amphp/cache/issues", 230 | "source": "https://github.com/amphp/cache/tree/v1.5.0" 231 | }, 232 | "funding": [ 233 | { 234 | "url": "https://github.com/amphp", 235 | "type": "github" 236 | } 237 | ], 238 | "time": "2021-06-29T17:12:43+00:00" 239 | }, 240 | { 241 | "name": "amphp/dns", 242 | "version": "v1.2.3", 243 | "source": { 244 | "type": "git", 245 | "url": "https://github.com/amphp/dns.git", 246 | "reference": "852292532294d7972c729a96b49756d781f7c59d" 247 | }, 248 | "dist": { 249 | "type": "zip", 250 | "url": "https://api.github.com/repos/amphp/dns/zipball/852292532294d7972c729a96b49756d781f7c59d", 251 | "reference": "852292532294d7972c729a96b49756d781f7c59d", 252 | "shasum": "" 253 | }, 254 | "require": { 255 | "amphp/amp": "^2", 256 | "amphp/byte-stream": "^1.1", 257 | "amphp/cache": "^1.2", 258 | "amphp/parser": "^1", 259 | "amphp/windows-registry": "^0.3", 260 | "daverandom/libdns": "^2.0.1", 261 | "ext-filter": "*", 262 | "ext-json": "*", 263 | "php": ">=7.0" 264 | }, 265 | "require-dev": { 266 | "amphp/php-cs-fixer-config": "dev-master", 267 | "amphp/phpunit-util": "^1", 268 | "phpunit/phpunit": "^6 || ^7 || ^8 || ^9" 269 | }, 270 | "type": "library", 271 | "autoload": { 272 | "files": [ 273 | "lib/functions.php" 274 | ], 275 | "psr-4": { 276 | "Amp\\Dns\\": "lib" 277 | } 278 | }, 279 | "notification-url": "https://packagist.org/downloads/", 280 | "license": [ 281 | "MIT" 282 | ], 283 | "authors": [ 284 | { 285 | "name": "Chris Wright", 286 | "email": "addr@daverandom.com" 287 | }, 288 | { 289 | "name": "Daniel Lowrey", 290 | "email": "rdlowrey@php.net" 291 | }, 292 | { 293 | "name": "Bob Weinand", 294 | "email": "bobwei9@hotmail.com" 295 | }, 296 | { 297 | "name": "Niklas Keller", 298 | "email": "me@kelunik.com" 299 | }, 300 | { 301 | "name": "Aaron Piotrowski", 302 | "email": "aaron@trowski.com" 303 | } 304 | ], 305 | "description": "Async DNS resolution for Amp.", 306 | "homepage": "https://github.com/amphp/dns", 307 | "keywords": [ 308 | "amp", 309 | "amphp", 310 | "async", 311 | "client", 312 | "dns", 313 | "resolve" 314 | ], 315 | "support": { 316 | "issues": "https://github.com/amphp/dns/issues", 317 | "source": "https://github.com/amphp/dns/tree/v1.2.3" 318 | }, 319 | "funding": [ 320 | { 321 | "url": "https://github.com/amphp", 322 | "type": "github" 323 | } 324 | ], 325 | "time": "2020-07-21T19:04:57+00:00" 326 | }, 327 | { 328 | "name": "amphp/parser", 329 | "version": "v1.1.0", 330 | "source": { 331 | "type": "git", 332 | "url": "https://github.com/amphp/parser.git", 333 | "reference": "ff1de4144726c5dad5fab97f66692ebe8de3e151" 334 | }, 335 | "dist": { 336 | "type": "zip", 337 | "url": "https://api.github.com/repos/amphp/parser/zipball/ff1de4144726c5dad5fab97f66692ebe8de3e151", 338 | "reference": "ff1de4144726c5dad5fab97f66692ebe8de3e151", 339 | "shasum": "" 340 | }, 341 | "require": { 342 | "php": ">=7.4" 343 | }, 344 | "require-dev": { 345 | "amphp/php-cs-fixer-config": "^2", 346 | "phpunit/phpunit": "^9", 347 | "psalm/phar": "^5.4" 348 | }, 349 | "type": "library", 350 | "autoload": { 351 | "psr-4": { 352 | "Amp\\Parser\\": "src" 353 | } 354 | }, 355 | "notification-url": "https://packagist.org/downloads/", 356 | "license": [ 357 | "MIT" 358 | ], 359 | "authors": [ 360 | { 361 | "name": "Aaron Piotrowski", 362 | "email": "aaron@trowski.com" 363 | }, 364 | { 365 | "name": "Niklas Keller", 366 | "email": "me@kelunik.com" 367 | } 368 | ], 369 | "description": "A generator parser to make streaming parsers simple.", 370 | "homepage": "https://github.com/amphp/parser", 371 | "keywords": [ 372 | "async", 373 | "non-blocking", 374 | "parser", 375 | "stream" 376 | ], 377 | "support": { 378 | "issues": "https://github.com/amphp/parser/issues", 379 | "source": "https://github.com/amphp/parser/tree/v1.1.0" 380 | }, 381 | "funding": [ 382 | { 383 | "url": "https://github.com/amphp", 384 | "type": "github" 385 | } 386 | ], 387 | "time": "2022-12-30T18:08:47+00:00" 388 | }, 389 | { 390 | "name": "amphp/process", 391 | "version": "v1.1.4", 392 | "source": { 393 | "type": "git", 394 | "url": "https://github.com/amphp/process.git", 395 | "reference": "76e9495fd6818b43a20167cb11d8a67f7744ee0f" 396 | }, 397 | "dist": { 398 | "type": "zip", 399 | "url": "https://api.github.com/repos/amphp/process/zipball/76e9495fd6818b43a20167cb11d8a67f7744ee0f", 400 | "reference": "76e9495fd6818b43a20167cb11d8a67f7744ee0f", 401 | "shasum": "" 402 | }, 403 | "require": { 404 | "amphp/amp": "^2", 405 | "amphp/byte-stream": "^1.4", 406 | "php": ">=7" 407 | }, 408 | "require-dev": { 409 | "amphp/php-cs-fixer-config": "dev-master", 410 | "amphp/phpunit-util": "^1", 411 | "phpunit/phpunit": "^6" 412 | }, 413 | "type": "library", 414 | "autoload": { 415 | "files": [ 416 | "lib/functions.php" 417 | ], 418 | "psr-4": { 419 | "Amp\\Process\\": "lib" 420 | } 421 | }, 422 | "notification-url": "https://packagist.org/downloads/", 423 | "license": [ 424 | "MIT" 425 | ], 426 | "authors": [ 427 | { 428 | "name": "Bob Weinand", 429 | "email": "bobwei9@hotmail.com" 430 | }, 431 | { 432 | "name": "Aaron Piotrowski", 433 | "email": "aaron@trowski.com" 434 | }, 435 | { 436 | "name": "Niklas Keller", 437 | "email": "me@kelunik.com" 438 | } 439 | ], 440 | "description": "Asynchronous process manager.", 441 | "homepage": "https://github.com/amphp/process", 442 | "support": { 443 | "issues": "https://github.com/amphp/process/issues", 444 | "source": "https://github.com/amphp/process/tree/v1.1.4" 445 | }, 446 | "funding": [ 447 | { 448 | "url": "https://github.com/amphp", 449 | "type": "github" 450 | } 451 | ], 452 | "time": "2022-07-06T23:50:12+00:00" 453 | }, 454 | { 455 | "name": "amphp/serialization", 456 | "version": "v1.0.0", 457 | "source": { 458 | "type": "git", 459 | "url": "https://github.com/amphp/serialization.git", 460 | "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" 461 | }, 462 | "dist": { 463 | "type": "zip", 464 | "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", 465 | "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", 466 | "shasum": "" 467 | }, 468 | "require": { 469 | "php": ">=7.1" 470 | }, 471 | "require-dev": { 472 | "amphp/php-cs-fixer-config": "dev-master", 473 | "phpunit/phpunit": "^9 || ^8 || ^7" 474 | }, 475 | "type": "library", 476 | "autoload": { 477 | "files": [ 478 | "src/functions.php" 479 | ], 480 | "psr-4": { 481 | "Amp\\Serialization\\": "src" 482 | } 483 | }, 484 | "notification-url": "https://packagist.org/downloads/", 485 | "license": [ 486 | "MIT" 487 | ], 488 | "authors": [ 489 | { 490 | "name": "Aaron Piotrowski", 491 | "email": "aaron@trowski.com" 492 | }, 493 | { 494 | "name": "Niklas Keller", 495 | "email": "me@kelunik.com" 496 | } 497 | ], 498 | "description": "Serialization tools for IPC and data storage in PHP.", 499 | "homepage": "https://github.com/amphp/serialization", 500 | "keywords": [ 501 | "async", 502 | "asynchronous", 503 | "serialization", 504 | "serialize" 505 | ], 506 | "support": { 507 | "issues": "https://github.com/amphp/serialization/issues", 508 | "source": "https://github.com/amphp/serialization/tree/master" 509 | }, 510 | "time": "2020-03-25T21:39:07+00:00" 511 | }, 512 | { 513 | "name": "amphp/socket", 514 | "version": "v1.2.0", 515 | "source": { 516 | "type": "git", 517 | "url": "https://github.com/amphp/socket.git", 518 | "reference": "a8af9f5d0a66c5fe9567da45a51509e592788fe6" 519 | }, 520 | "dist": { 521 | "type": "zip", 522 | "url": "https://api.github.com/repos/amphp/socket/zipball/a8af9f5d0a66c5fe9567da45a51509e592788fe6", 523 | "reference": "a8af9f5d0a66c5fe9567da45a51509e592788fe6", 524 | "shasum": "" 525 | }, 526 | "require": { 527 | "amphp/amp": "^2", 528 | "amphp/byte-stream": "^1.6", 529 | "amphp/dns": "^1 || ^0.9", 530 | "ext-openssl": "*", 531 | "kelunik/certificate": "^1.1", 532 | "league/uri-parser": "^1.4", 533 | "php": ">=7.1" 534 | }, 535 | "require-dev": { 536 | "amphp/php-cs-fixer-config": "dev-master", 537 | "amphp/phpunit-util": "^1", 538 | "phpunit/phpunit": "^6 || ^7 || ^8", 539 | "vimeo/psalm": "^3.9@dev" 540 | }, 541 | "type": "library", 542 | "extra": { 543 | "branch-alias": { 544 | "dev-master": "1.x-dev" 545 | } 546 | }, 547 | "autoload": { 548 | "files": [ 549 | "src/functions.php", 550 | "src/Internal/functions.php" 551 | ], 552 | "psr-4": { 553 | "Amp\\Socket\\": "src" 554 | } 555 | }, 556 | "notification-url": "https://packagist.org/downloads/", 557 | "license": [ 558 | "MIT" 559 | ], 560 | "authors": [ 561 | { 562 | "name": "Daniel Lowrey", 563 | "email": "rdlowrey@gmail.com" 564 | }, 565 | { 566 | "name": "Aaron Piotrowski", 567 | "email": "aaron@trowski.com" 568 | }, 569 | { 570 | "name": "Niklas Keller", 571 | "email": "me@kelunik.com" 572 | } 573 | ], 574 | "description": "Async socket connection / server tools for Amp.", 575 | "homepage": "https://github.com/amphp/socket", 576 | "keywords": [ 577 | "amp", 578 | "async", 579 | "encryption", 580 | "non-blocking", 581 | "sockets", 582 | "tcp", 583 | "tls" 584 | ], 585 | "support": { 586 | "issues": "https://github.com/amphp/socket/issues", 587 | "source": "https://github.com/amphp/socket/tree/v1.2.0" 588 | }, 589 | "funding": [ 590 | { 591 | "url": "https://github.com/amphp", 592 | "type": "github" 593 | } 594 | ], 595 | "time": "2021-07-09T18:18:48+00:00" 596 | }, 597 | { 598 | "name": "amphp/sync", 599 | "version": "v1.4.2", 600 | "source": { 601 | "type": "git", 602 | "url": "https://github.com/amphp/sync.git", 603 | "reference": "85ab06764f4f36d63b1356b466df6111cf4b89cf" 604 | }, 605 | "dist": { 606 | "type": "zip", 607 | "url": "https://api.github.com/repos/amphp/sync/zipball/85ab06764f4f36d63b1356b466df6111cf4b89cf", 608 | "reference": "85ab06764f4f36d63b1356b466df6111cf4b89cf", 609 | "shasum": "" 610 | }, 611 | "require": { 612 | "amphp/amp": "^2.2", 613 | "php": ">=7.1" 614 | }, 615 | "require-dev": { 616 | "amphp/php-cs-fixer-config": "dev-master", 617 | "amphp/phpunit-util": "^1.1", 618 | "phpunit/phpunit": "^9 || ^8 || ^7" 619 | }, 620 | "type": "library", 621 | "autoload": { 622 | "files": [ 623 | "src/functions.php", 624 | "src/ConcurrentIterator/functions.php" 625 | ], 626 | "psr-4": { 627 | "Amp\\Sync\\": "src" 628 | } 629 | }, 630 | "notification-url": "https://packagist.org/downloads/", 631 | "license": [ 632 | "MIT" 633 | ], 634 | "authors": [ 635 | { 636 | "name": "Aaron Piotrowski", 637 | "email": "aaron@trowski.com" 638 | }, 639 | { 640 | "name": "Stephen Coakley", 641 | "email": "me@stephencoakley.com" 642 | } 643 | ], 644 | "description": "Mutex, Semaphore, and other synchronization tools for Amp.", 645 | "homepage": "https://github.com/amphp/sync", 646 | "keywords": [ 647 | "async", 648 | "asynchronous", 649 | "mutex", 650 | "semaphore", 651 | "synchronization" 652 | ], 653 | "support": { 654 | "issues": "https://github.com/amphp/sync/issues", 655 | "source": "https://github.com/amphp/sync/tree/v1.4.2" 656 | }, 657 | "funding": [ 658 | { 659 | "url": "https://github.com/amphp", 660 | "type": "github" 661 | } 662 | ], 663 | "time": "2021-10-25T18:29:10+00:00" 664 | }, 665 | { 666 | "name": "amphp/windows-registry", 667 | "version": "v0.3.3", 668 | "source": { 669 | "type": "git", 670 | "url": "https://github.com/amphp/windows-registry.git", 671 | "reference": "0f56438b9197e224325e88f305346f0221df1f71" 672 | }, 673 | "dist": { 674 | "type": "zip", 675 | "url": "https://api.github.com/repos/amphp/windows-registry/zipball/0f56438b9197e224325e88f305346f0221df1f71", 676 | "reference": "0f56438b9197e224325e88f305346f0221df1f71", 677 | "shasum": "" 678 | }, 679 | "require": { 680 | "amphp/amp": "^2", 681 | "amphp/byte-stream": "^1.4", 682 | "amphp/process": "^1" 683 | }, 684 | "require-dev": { 685 | "amphp/php-cs-fixer-config": "dev-master" 686 | }, 687 | "type": "library", 688 | "autoload": { 689 | "psr-4": { 690 | "Amp\\WindowsRegistry\\": "lib" 691 | } 692 | }, 693 | "notification-url": "https://packagist.org/downloads/", 694 | "license": [ 695 | "MIT" 696 | ], 697 | "authors": [ 698 | { 699 | "name": "Niklas Keller", 700 | "email": "me@kelunik.com" 701 | } 702 | ], 703 | "description": "Windows Registry Reader.", 704 | "support": { 705 | "issues": "https://github.com/amphp/windows-registry/issues", 706 | "source": "https://github.com/amphp/windows-registry/tree/master" 707 | }, 708 | "funding": [ 709 | { 710 | "url": "https://github.com/amphp", 711 | "type": "github" 712 | } 713 | ], 714 | "time": "2020-07-10T16:13:29+00:00" 715 | }, 716 | { 717 | "name": "brick/math", 718 | "version": "0.11.0", 719 | "source": { 720 | "type": "git", 721 | "url": "https://github.com/brick/math.git", 722 | "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" 723 | }, 724 | "dist": { 725 | "type": "zip", 726 | "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", 727 | "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", 728 | "shasum": "" 729 | }, 730 | "require": { 731 | "php": "^8.0" 732 | }, 733 | "require-dev": { 734 | "php-coveralls/php-coveralls": "^2.2", 735 | "phpunit/phpunit": "^9.0", 736 | "vimeo/psalm": "5.0.0" 737 | }, 738 | "type": "library", 739 | "autoload": { 740 | "psr-4": { 741 | "Brick\\Math\\": "src/" 742 | } 743 | }, 744 | "notification-url": "https://packagist.org/downloads/", 745 | "license": [ 746 | "MIT" 747 | ], 748 | "description": "Arbitrary-precision arithmetic library", 749 | "keywords": [ 750 | "Arbitrary-precision", 751 | "BigInteger", 752 | "BigRational", 753 | "arithmetic", 754 | "bigdecimal", 755 | "bignum", 756 | "brick", 757 | "math" 758 | ], 759 | "support": { 760 | "issues": "https://github.com/brick/math/issues", 761 | "source": "https://github.com/brick/math/tree/0.11.0" 762 | }, 763 | "funding": [ 764 | { 765 | "url": "https://github.com/BenMorel", 766 | "type": "github" 767 | } 768 | ], 769 | "time": "2023-01-15T23:15:59+00:00" 770 | }, 771 | { 772 | "name": "composer/package-versions-deprecated", 773 | "version": "1.11.99.5", 774 | "source": { 775 | "type": "git", 776 | "url": "https://github.com/composer/package-versions-deprecated.git", 777 | "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d" 778 | }, 779 | "dist": { 780 | "type": "zip", 781 | "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d", 782 | "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d", 783 | "shasum": "" 784 | }, 785 | "require": { 786 | "composer-plugin-api": "^1.1.0 || ^2.0", 787 | "php": "^7 || ^8" 788 | }, 789 | "replace": { 790 | "ocramius/package-versions": "1.11.99" 791 | }, 792 | "require-dev": { 793 | "composer/composer": "^1.9.3 || ^2.0@dev", 794 | "ext-zip": "^1.13", 795 | "phpunit/phpunit": "^6.5 || ^7" 796 | }, 797 | "type": "composer-plugin", 798 | "extra": { 799 | "class": "PackageVersions\\Installer", 800 | "branch-alias": { 801 | "dev-master": "1.x-dev" 802 | } 803 | }, 804 | "autoload": { 805 | "psr-4": { 806 | "PackageVersions\\": "src/PackageVersions" 807 | } 808 | }, 809 | "notification-url": "https://packagist.org/downloads/", 810 | "license": [ 811 | "MIT" 812 | ], 813 | "authors": [ 814 | { 815 | "name": "Marco Pivetta", 816 | "email": "ocramius@gmail.com" 817 | }, 818 | { 819 | "name": "Jordi Boggiano", 820 | "email": "j.boggiano@seld.be" 821 | } 822 | ], 823 | "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", 824 | "support": { 825 | "issues": "https://github.com/composer/package-versions-deprecated/issues", 826 | "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5" 827 | }, 828 | "funding": [ 829 | { 830 | "url": "https://packagist.com", 831 | "type": "custom" 832 | }, 833 | { 834 | "url": "https://github.com/composer", 835 | "type": "github" 836 | }, 837 | { 838 | "url": "https://tidelift.com/funding/github/packagist/composer/composer", 839 | "type": "tidelift" 840 | } 841 | ], 842 | "time": "2022-01-17T14:14:24+00:00" 843 | }, 844 | { 845 | "name": "composer/pcre", 846 | "version": "3.1.1", 847 | "source": { 848 | "type": "git", 849 | "url": "https://github.com/composer/pcre.git", 850 | "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" 851 | }, 852 | "dist": { 853 | "type": "zip", 854 | "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", 855 | "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", 856 | "shasum": "" 857 | }, 858 | "require": { 859 | "php": "^7.4 || ^8.0" 860 | }, 861 | "require-dev": { 862 | "phpstan/phpstan": "^1.3", 863 | "phpstan/phpstan-strict-rules": "^1.1", 864 | "symfony/phpunit-bridge": "^5" 865 | }, 866 | "type": "library", 867 | "extra": { 868 | "branch-alias": { 869 | "dev-main": "3.x-dev" 870 | } 871 | }, 872 | "autoload": { 873 | "psr-4": { 874 | "Composer\\Pcre\\": "src" 875 | } 876 | }, 877 | "notification-url": "https://packagist.org/downloads/", 878 | "license": [ 879 | "MIT" 880 | ], 881 | "authors": [ 882 | { 883 | "name": "Jordi Boggiano", 884 | "email": "j.boggiano@seld.be", 885 | "homepage": "http://seld.be" 886 | } 887 | ], 888 | "description": "PCRE wrapping library that offers type-safe preg_* replacements.", 889 | "keywords": [ 890 | "PCRE", 891 | "preg", 892 | "regex", 893 | "regular expression" 894 | ], 895 | "support": { 896 | "issues": "https://github.com/composer/pcre/issues", 897 | "source": "https://github.com/composer/pcre/tree/3.1.1" 898 | }, 899 | "funding": [ 900 | { 901 | "url": "https://packagist.com", 902 | "type": "custom" 903 | }, 904 | { 905 | "url": "https://github.com/composer", 906 | "type": "github" 907 | }, 908 | { 909 | "url": "https://tidelift.com/funding/github/packagist/composer/composer", 910 | "type": "tidelift" 911 | } 912 | ], 913 | "time": "2023-10-11T07:11:09+00:00" 914 | }, 915 | { 916 | "name": "composer/xdebug-handler", 917 | "version": "3.0.3", 918 | "source": { 919 | "type": "git", 920 | "url": "https://github.com/composer/xdebug-handler.git", 921 | "reference": "ced299686f41dce890debac69273b47ffe98a40c" 922 | }, 923 | "dist": { 924 | "type": "zip", 925 | "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", 926 | "reference": "ced299686f41dce890debac69273b47ffe98a40c", 927 | "shasum": "" 928 | }, 929 | "require": { 930 | "composer/pcre": "^1 || ^2 || ^3", 931 | "php": "^7.2.5 || ^8.0", 932 | "psr/log": "^1 || ^2 || ^3" 933 | }, 934 | "require-dev": { 935 | "phpstan/phpstan": "^1.0", 936 | "phpstan/phpstan-strict-rules": "^1.1", 937 | "symfony/phpunit-bridge": "^6.0" 938 | }, 939 | "type": "library", 940 | "autoload": { 941 | "psr-4": { 942 | "Composer\\XdebugHandler\\": "src" 943 | } 944 | }, 945 | "notification-url": "https://packagist.org/downloads/", 946 | "license": [ 947 | "MIT" 948 | ], 949 | "authors": [ 950 | { 951 | "name": "John Stevenson", 952 | "email": "john-stevenson@blueyonder.co.uk" 953 | } 954 | ], 955 | "description": "Restarts a process without Xdebug.", 956 | "keywords": [ 957 | "Xdebug", 958 | "performance" 959 | ], 960 | "support": { 961 | "irc": "irc://irc.freenode.org/composer", 962 | "issues": "https://github.com/composer/xdebug-handler/issues", 963 | "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" 964 | }, 965 | "funding": [ 966 | { 967 | "url": "https://packagist.com", 968 | "type": "custom" 969 | }, 970 | { 971 | "url": "https://github.com/composer", 972 | "type": "github" 973 | }, 974 | { 975 | "url": "https://tidelift.com/funding/github/packagist/composer/composer", 976 | "type": "tidelift" 977 | } 978 | ], 979 | "time": "2022-02-25T21:32:43+00:00" 980 | }, 981 | { 982 | "name": "dantleech/argument-resolver", 983 | "version": "1.1.0", 984 | "source": { 985 | "type": "git", 986 | "url": "https://gitlab.com/dantleech/argument-resolver.git", 987 | "reference": "e34fabf7d6e53e5194f745ad069c4a87cc4b34cc" 988 | }, 989 | "dist": { 990 | "type": "zip", 991 | "url": "https://gitlab.com/api/v4/projects/dantleech%2Fargument-resolver/repository/archive.zip?sha=e34fabf7d6e53e5194f745ad069c4a87cc4b34cc", 992 | "reference": "e34fabf7d6e53e5194f745ad069c4a87cc4b34cc", 993 | "shasum": "" 994 | }, 995 | "require-dev": { 996 | "friendsofphp/php-cs-fixer": "^2.16", 997 | "phpstan/phpstan": "^0.10.1", 998 | "phpunit/phpunit": "^7.2" 999 | }, 1000 | "type": "library", 1001 | "extra": { 1002 | "branch-alias": { 1003 | "dev-master": "1.0-dev" 1004 | } 1005 | }, 1006 | "autoload": { 1007 | "psr-4": { 1008 | "DTL\\ArgumentResolver\\": "lib/" 1009 | } 1010 | }, 1011 | "notification-url": "https://packagist.org/downloads/", 1012 | "license": [ 1013 | "MIT" 1014 | ], 1015 | "authors": [ 1016 | { 1017 | "name": "Daniel Leech", 1018 | "email": "daniel@dantleech.com" 1019 | } 1020 | ], 1021 | "description": "Resolve method arguments from an associative array", 1022 | "support": { 1023 | "issues": "https://gitlab.com/api/v4/projects/7322320/issues" 1024 | }, 1025 | "time": "2020-04-09T09:32:31+00:00" 1026 | }, 1027 | { 1028 | "name": "dantleech/invoke", 1029 | "version": "2.0.0", 1030 | "source": { 1031 | "type": "git", 1032 | "url": "https://github.com/dantleech/invoke.git", 1033 | "reference": "9b002d746d2c1b86cfa63a47bb5909cee58ef50c" 1034 | }, 1035 | "dist": { 1036 | "type": "zip", 1037 | "url": "https://api.github.com/repos/dantleech/invoke/zipball/9b002d746d2c1b86cfa63a47bb5909cee58ef50c", 1038 | "reference": "9b002d746d2c1b86cfa63a47bb5909cee58ef50c", 1039 | "shasum": "" 1040 | }, 1041 | "require": { 1042 | "php": "^7.2||^8.0" 1043 | }, 1044 | "require-dev": { 1045 | "friendsofphp/php-cs-fixer": "^2.13", 1046 | "phpbench/phpbench": "^1.0", 1047 | "phpstan/phpstan": "^0.12.0", 1048 | "phpunit/phpunit": "^8.0" 1049 | }, 1050 | "type": "library", 1051 | "extra": { 1052 | "branch-alias": { 1053 | "dev-master": "1.2-dev" 1054 | } 1055 | }, 1056 | "autoload": { 1057 | "psr-4": { 1058 | "DTL\\Invoke\\": "src/" 1059 | } 1060 | }, 1061 | "notification-url": "https://packagist.org/downloads/", 1062 | "license": [ 1063 | "MIT" 1064 | ], 1065 | "authors": [ 1066 | { 1067 | "name": "daniel leech", 1068 | "email": "daniel@dantleech.com" 1069 | } 1070 | ], 1071 | "description": "Emulate named parameters", 1072 | "support": { 1073 | "issues": "https://github.com/dantleech/invoke/issues", 1074 | "source": "https://github.com/dantleech/invoke/tree/2.0.0" 1075 | }, 1076 | "time": "2021-05-01T17:22:58+00:00" 1077 | }, 1078 | { 1079 | "name": "dantleech/object-renderer", 1080 | "version": "0.1.1", 1081 | "source": { 1082 | "type": "git", 1083 | "url": "https://github.com/dantleech/object-renderer.git", 1084 | "reference": "942ad54a22e5ffb9ac3421d7bb06fa76bc45ad30" 1085 | }, 1086 | "dist": { 1087 | "type": "zip", 1088 | "url": "https://api.github.com/repos/dantleech/object-renderer/zipball/942ad54a22e5ffb9ac3421d7bb06fa76bc45ad30", 1089 | "reference": "942ad54a22e5ffb9ac3421d7bb06fa76bc45ad30", 1090 | "shasum": "" 1091 | }, 1092 | "require": { 1093 | "php": "^7.3 || ^8.0", 1094 | "psr/container": "^1.0@dev", 1095 | "twig/twig": "^2.0||^3.0" 1096 | }, 1097 | "require-dev": { 1098 | "friendsofphp/php-cs-fixer": "^2.15.0", 1099 | "phpactor/test-utils": "^1.1", 1100 | "phpstan/phpstan": "^0.12.0", 1101 | "phpunit/phpunit": "^8.0" 1102 | }, 1103 | "type": "library", 1104 | "extra": { 1105 | "branch-alias": { 1106 | "dev-master": "0.1.x-dev" 1107 | } 1108 | }, 1109 | "autoload": { 1110 | "psr-4": { 1111 | "Phpactor\\ObjectRenderer\\": "lib/" 1112 | } 1113 | }, 1114 | "notification-url": "https://packagist.org/downloads/", 1115 | "license": [ 1116 | "MIT" 1117 | ], 1118 | "authors": [ 1119 | { 1120 | "name": "Daniel Leech", 1121 | "email": "daniel@dantleech.com" 1122 | } 1123 | ], 1124 | "description": "Render/pretty-print objects", 1125 | "support": { 1126 | "issues": "https://github.com/dantleech/object-renderer/issues", 1127 | "source": "https://github.com/dantleech/object-renderer/tree/0.1.1" 1128 | }, 1129 | "time": "2021-01-31T18:57:08+00:00" 1130 | }, 1131 | { 1132 | "name": "daverandom/libdns", 1133 | "version": "v2.0.3", 1134 | "source": { 1135 | "type": "git", 1136 | "url": "https://github.com/DaveRandom/LibDNS.git", 1137 | "reference": "42c2d700d1178c9f9e78664793463f7f1aea248c" 1138 | }, 1139 | "dist": { 1140 | "type": "zip", 1141 | "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/42c2d700d1178c9f9e78664793463f7f1aea248c", 1142 | "reference": "42c2d700d1178c9f9e78664793463f7f1aea248c", 1143 | "shasum": "" 1144 | }, 1145 | "require": { 1146 | "ext-ctype": "*", 1147 | "php": ">=7.0" 1148 | }, 1149 | "suggest": { 1150 | "ext-intl": "Required for IDN support" 1151 | }, 1152 | "type": "library", 1153 | "autoload": { 1154 | "files": [ 1155 | "src/functions.php" 1156 | ], 1157 | "psr-4": { 1158 | "LibDNS\\": "src/" 1159 | } 1160 | }, 1161 | "notification-url": "https://packagist.org/downloads/", 1162 | "license": [ 1163 | "MIT" 1164 | ], 1165 | "description": "DNS protocol implementation written in pure PHP", 1166 | "keywords": [ 1167 | "dns" 1168 | ], 1169 | "support": { 1170 | "issues": "https://github.com/DaveRandom/LibDNS/issues", 1171 | "source": "https://github.com/DaveRandom/LibDNS/tree/v2.0.3" 1172 | }, 1173 | "time": "2022-09-20T18:15:38+00:00" 1174 | }, 1175 | { 1176 | "name": "dnoegel/php-xdg-base-dir", 1177 | "version": "v0.1.1", 1178 | "source": { 1179 | "type": "git", 1180 | "url": "https://github.com/dnoegel/php-xdg-base-dir.git", 1181 | "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" 1182 | }, 1183 | "dist": { 1184 | "type": "zip", 1185 | "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", 1186 | "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", 1187 | "shasum": "" 1188 | }, 1189 | "require": { 1190 | "php": ">=5.3.2" 1191 | }, 1192 | "require-dev": { 1193 | "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" 1194 | }, 1195 | "type": "library", 1196 | "autoload": { 1197 | "psr-4": { 1198 | "XdgBaseDir\\": "src/" 1199 | } 1200 | }, 1201 | "notification-url": "https://packagist.org/downloads/", 1202 | "license": [ 1203 | "MIT" 1204 | ], 1205 | "description": "implementation of xdg base directory specification for php", 1206 | "support": { 1207 | "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", 1208 | "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" 1209 | }, 1210 | "time": "2019-12-04T15:06:13+00:00" 1211 | }, 1212 | { 1213 | "name": "jetbrains/phpstorm-stubs", 1214 | "version": "dev-master", 1215 | "source": { 1216 | "type": "git", 1217 | "url": "https://github.com/JetBrains/phpstorm-stubs.git", 1218 | "reference": "26462cb5c09c983cfd9beb78ec47b75f5cb8c162" 1219 | }, 1220 | "dist": { 1221 | "type": "zip", 1222 | "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/26462cb5c09c983cfd9beb78ec47b75f5cb8c162", 1223 | "reference": "26462cb5c09c983cfd9beb78ec47b75f5cb8c162", 1224 | "shasum": "" 1225 | }, 1226 | "require-dev": { 1227 | "friendsofphp/php-cs-fixer": "@stable", 1228 | "nikic/php-parser": "@stable", 1229 | "php": "^8.0", 1230 | "phpdocumentor/reflection-docblock": "@stable", 1231 | "phpunit/phpunit": "^9.6" 1232 | }, 1233 | "default-branch": true, 1234 | "type": "library", 1235 | "autoload": { 1236 | "files": [ 1237 | "PhpStormStubsMap.php" 1238 | ] 1239 | }, 1240 | "notification-url": "https://packagist.org/downloads/", 1241 | "license": [ 1242 | "Apache-2.0" 1243 | ], 1244 | "description": "PHP runtime & extensions header files for PhpStorm", 1245 | "homepage": "https://www.jetbrains.com/phpstorm", 1246 | "keywords": [ 1247 | "autocomplete", 1248 | "code", 1249 | "inference", 1250 | "inspection", 1251 | "jetbrains", 1252 | "phpstorm", 1253 | "stubs", 1254 | "type" 1255 | ], 1256 | "support": { 1257 | "source": "https://github.com/JetBrains/phpstorm-stubs/tree/master" 1258 | }, 1259 | "time": "2023-10-16T20:47:10+00:00" 1260 | }, 1261 | { 1262 | "name": "kelunik/certificate", 1263 | "version": "v1.1.3", 1264 | "source": { 1265 | "type": "git", 1266 | "url": "https://github.com/kelunik/certificate.git", 1267 | "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e" 1268 | }, 1269 | "dist": { 1270 | "type": "zip", 1271 | "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e", 1272 | "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e", 1273 | "shasum": "" 1274 | }, 1275 | "require": { 1276 | "ext-openssl": "*", 1277 | "php": ">=7.0" 1278 | }, 1279 | "require-dev": { 1280 | "amphp/php-cs-fixer-config": "^2", 1281 | "phpunit/phpunit": "^6 | 7 | ^8 | ^9" 1282 | }, 1283 | "type": "library", 1284 | "extra": { 1285 | "branch-alias": { 1286 | "dev-master": "1.x-dev" 1287 | } 1288 | }, 1289 | "autoload": { 1290 | "psr-4": { 1291 | "Kelunik\\Certificate\\": "src" 1292 | } 1293 | }, 1294 | "notification-url": "https://packagist.org/downloads/", 1295 | "license": [ 1296 | "MIT" 1297 | ], 1298 | "authors": [ 1299 | { 1300 | "name": "Niklas Keller", 1301 | "email": "me@kelunik.com" 1302 | } 1303 | ], 1304 | "description": "Access certificate details and transform between different formats.", 1305 | "keywords": [ 1306 | "DER", 1307 | "certificate", 1308 | "certificates", 1309 | "openssl", 1310 | "pem", 1311 | "x509" 1312 | ], 1313 | "support": { 1314 | "issues": "https://github.com/kelunik/certificate/issues", 1315 | "source": "https://github.com/kelunik/certificate/tree/v1.1.3" 1316 | }, 1317 | "time": "2023-02-03T21:26:53+00:00" 1318 | }, 1319 | { 1320 | "name": "league/uri-parser", 1321 | "version": "1.4.1", 1322 | "source": { 1323 | "type": "git", 1324 | "url": "https://github.com/thephpleague/uri-parser.git", 1325 | "reference": "671548427e4c932352d9b9279fdfa345bf63fa00" 1326 | }, 1327 | "dist": { 1328 | "type": "zip", 1329 | "url": "https://api.github.com/repos/thephpleague/uri-parser/zipball/671548427e4c932352d9b9279fdfa345bf63fa00", 1330 | "reference": "671548427e4c932352d9b9279fdfa345bf63fa00", 1331 | "shasum": "" 1332 | }, 1333 | "require": { 1334 | "php": ">=7.0.0" 1335 | }, 1336 | "require-dev": { 1337 | "friendsofphp/php-cs-fixer": "^2.0", 1338 | "phpstan/phpstan": "^0.9.2", 1339 | "phpstan/phpstan-phpunit": "^0.9.4", 1340 | "phpstan/phpstan-strict-rules": "^0.9.0", 1341 | "phpunit/phpunit": "^6.0" 1342 | }, 1343 | "suggest": { 1344 | "ext-intl": "Allow parsing RFC3987 compliant hosts", 1345 | "league/uri-schemes": "Allow validating and normalizing URI parsing results" 1346 | }, 1347 | "type": "library", 1348 | "extra": { 1349 | "branch-alias": { 1350 | "dev-master": "1.x-dev" 1351 | } 1352 | }, 1353 | "autoload": { 1354 | "files": [ 1355 | "src/functions_include.php" 1356 | ], 1357 | "psr-4": { 1358 | "League\\Uri\\": "src" 1359 | } 1360 | }, 1361 | "notification-url": "https://packagist.org/downloads/", 1362 | "license": [ 1363 | "MIT" 1364 | ], 1365 | "authors": [ 1366 | { 1367 | "name": "Ignace Nyamagana Butera", 1368 | "email": "nyamsprod@gmail.com", 1369 | "homepage": "https://nyamsprod.com" 1370 | } 1371 | ], 1372 | "description": "userland URI parser RFC 3986 compliant", 1373 | "homepage": "https://github.com/thephpleague/uri-parser", 1374 | "keywords": [ 1375 | "parse_url", 1376 | "parser", 1377 | "rfc3986", 1378 | "rfc3987", 1379 | "uri", 1380 | "url" 1381 | ], 1382 | "support": { 1383 | "issues": "https://github.com/thephpleague/uri-parser/issues", 1384 | "source": "https://github.com/thephpleague/uri-parser/tree/master" 1385 | }, 1386 | "abandoned": true, 1387 | "time": "2018-11-22T07:55:51+00:00" 1388 | }, 1389 | { 1390 | "name": "monolog/monolog", 1391 | "version": "1.27.1", 1392 | "source": { 1393 | "type": "git", 1394 | "url": "https://github.com/Seldaek/monolog.git", 1395 | "reference": "904713c5929655dc9b97288b69cfeedad610c9a1" 1396 | }, 1397 | "dist": { 1398 | "type": "zip", 1399 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1", 1400 | "reference": "904713c5929655dc9b97288b69cfeedad610c9a1", 1401 | "shasum": "" 1402 | }, 1403 | "require": { 1404 | "php": ">=5.3.0", 1405 | "psr/log": "~1.0" 1406 | }, 1407 | "provide": { 1408 | "psr/log-implementation": "1.0.0" 1409 | }, 1410 | "require-dev": { 1411 | "aws/aws-sdk-php": "^2.4.9 || ^3.0", 1412 | "doctrine/couchdb": "~1.0@dev", 1413 | "graylog2/gelf-php": "~1.0", 1414 | "php-amqplib/php-amqplib": "~2.4", 1415 | "php-console/php-console": "^3.1.3", 1416 | "phpstan/phpstan": "^0.12.59", 1417 | "phpunit/phpunit": "~4.5", 1418 | "ruflin/elastica": ">=0.90 <3.0", 1419 | "sentry/sentry": "^0.13", 1420 | "swiftmailer/swiftmailer": "^5.3|^6.0" 1421 | }, 1422 | "suggest": { 1423 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", 1424 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server", 1425 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", 1426 | "ext-mongo": "Allow sending log messages to a MongoDB server", 1427 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", 1428 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", 1429 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", 1430 | "php-console/php-console": "Allow sending log messages to Google Chrome", 1431 | "rollbar/rollbar": "Allow sending log messages to Rollbar", 1432 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server", 1433 | "sentry/sentry": "Allow sending log messages to a Sentry server" 1434 | }, 1435 | "type": "library", 1436 | "autoload": { 1437 | "psr-4": { 1438 | "Monolog\\": "src/Monolog" 1439 | } 1440 | }, 1441 | "notification-url": "https://packagist.org/downloads/", 1442 | "license": [ 1443 | "MIT" 1444 | ], 1445 | "authors": [ 1446 | { 1447 | "name": "Jordi Boggiano", 1448 | "email": "j.boggiano@seld.be", 1449 | "homepage": "http://seld.be" 1450 | } 1451 | ], 1452 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services", 1453 | "homepage": "http://github.com/Seldaek/monolog", 1454 | "keywords": [ 1455 | "log", 1456 | "logging", 1457 | "psr-3" 1458 | ], 1459 | "support": { 1460 | "issues": "https://github.com/Seldaek/monolog/issues", 1461 | "source": "https://github.com/Seldaek/monolog/tree/1.27.1" 1462 | }, 1463 | "funding": [ 1464 | { 1465 | "url": "https://github.com/Seldaek", 1466 | "type": "github" 1467 | }, 1468 | { 1469 | "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", 1470 | "type": "tidelift" 1471 | } 1472 | ], 1473 | "time": "2022-06-09T08:53:42+00:00" 1474 | }, 1475 | { 1476 | "name": "phpactor/amp-fswatch", 1477 | "version": "0.3.0", 1478 | "source": { 1479 | "type": "git", 1480 | "url": "https://github.com/phpactor/amp-fswatch.git", 1481 | "reference": "8b79e76b451d40a3367aae460883d90455dbeb1a" 1482 | }, 1483 | "dist": { 1484 | "type": "zip", 1485 | "url": "https://api.github.com/repos/phpactor/amp-fswatch/zipball/8b79e76b451d40a3367aae460883d90455dbeb1a", 1486 | "reference": "8b79e76b451d40a3367aae460883d90455dbeb1a", 1487 | "shasum": "" 1488 | }, 1489 | "require": { 1490 | "amphp/amp": "^2.4", 1491 | "amphp/process": "^1.1", 1492 | "php": "^8.0", 1493 | "psr/log": "^1.1", 1494 | "symfony/filesystem": "^5.0|^6.0", 1495 | "webmozart/glob": "^4.4" 1496 | }, 1497 | "require-dev": { 1498 | "amphp/phpunit-util": "^1.3", 1499 | "ergebnis/composer-normalize": "^2.0", 1500 | "friendsofphp/php-cs-fixer": "^3.15", 1501 | "jangregor/phpstan-prophecy": "^1.0", 1502 | "phpactor/test-utils": "~1.1.3", 1503 | "phpspec/prophecy-phpunit": "^2.0", 1504 | "phpstan/phpstan": "^1.1", 1505 | "phpunit/phpunit": "^9.0", 1506 | "symfony/var-dumper": "^5.0|^6.3" 1507 | }, 1508 | "type": "library", 1509 | "extra": { 1510 | "branch-alias": { 1511 | "dev-master": "0.2.x-dev" 1512 | } 1513 | }, 1514 | "autoload": { 1515 | "psr-4": { 1516 | "Phpactor\\AmpFsWatch\\": "src/" 1517 | } 1518 | }, 1519 | "notification-url": "https://packagist.org/downloads/", 1520 | "license": [ 1521 | "MIT" 1522 | ], 1523 | "authors": [ 1524 | { 1525 | "name": "Daniel Leech", 1526 | "email": "daniel@dantleech.com" 1527 | } 1528 | ], 1529 | "description": "Async Filesystem Watcher for Amphp", 1530 | "support": { 1531 | "issues": "https://github.com/phpactor/amp-fswatch/issues", 1532 | "source": "https://github.com/phpactor/amp-fswatch/tree/0.3.0" 1533 | }, 1534 | "time": "2023-08-12T15:51:57+00:00" 1535 | }, 1536 | { 1537 | "name": "phpactor/class-to-file", 1538 | "version": "0.5.2", 1539 | "source": { 1540 | "type": "git", 1541 | "url": "https://github.com/phpactor/class-to-file.git", 1542 | "reference": "290dabd216a5486c3faff32e5f84742e6c038108" 1543 | }, 1544 | "dist": { 1545 | "type": "zip", 1546 | "url": "https://api.github.com/repos/phpactor/class-to-file/zipball/290dabd216a5486c3faff32e5f84742e6c038108", 1547 | "reference": "290dabd216a5486c3faff32e5f84742e6c038108", 1548 | "shasum": "" 1549 | }, 1550 | "require": { 1551 | "php": "^7.4 || ^8.0", 1552 | "psr/log": "^1.0 || ^2.0 || ^3.0", 1553 | "symfony/filesystem": "^4.2 || ^5.0 || ^6.0" 1554 | }, 1555 | "require-dev": { 1556 | "ergebnis/composer-normalize": "^2.0", 1557 | "friendsofphp/php-cs-fixer": "^3.0", 1558 | "phpspec/prophecy-phpunit": "^2.0", 1559 | "phpstan/phpstan": "^1.0", 1560 | "phpunit/phpunit": "^9.0", 1561 | "symfony/var-dumper": "^6.0 || ^5.0" 1562 | }, 1563 | "type": "library", 1564 | "extra": { 1565 | "branch-alias": { 1566 | "dev-master": "0.4.x-dev" 1567 | } 1568 | }, 1569 | "autoload": { 1570 | "psr-4": { 1571 | "Phpactor\\ClassFileConverter\\": "lib/" 1572 | } 1573 | }, 1574 | "notification-url": "https://packagist.org/downloads/", 1575 | "license": [ 1576 | "MIT" 1577 | ], 1578 | "authors": [ 1579 | { 1580 | "name": "Daniel Leech", 1581 | "email": "daniel@dantleech.com" 1582 | } 1583 | ], 1584 | "description": "Library to covert class names to file paths and vice-versa", 1585 | "support": { 1586 | "source": "https://github.com/phpactor/class-to-file/tree/0.5.2" 1587 | }, 1588 | "time": "2022-10-08T08:32:21+00:00" 1589 | }, 1590 | { 1591 | "name": "phpactor/container", 1592 | "version": "2.2.1", 1593 | "source": { 1594 | "type": "git", 1595 | "url": "https://github.com/phpactor/container.git", 1596 | "reference": "8a9665ec70e654ea100d842f7f77e52ecde5d613" 1597 | }, 1598 | "dist": { 1599 | "type": "zip", 1600 | "url": "https://api.github.com/repos/phpactor/container/zipball/8a9665ec70e654ea100d842f7f77e52ecde5d613", 1601 | "reference": "8a9665ec70e654ea100d842f7f77e52ecde5d613", 1602 | "shasum": "" 1603 | }, 1604 | "require": { 1605 | "php": "^8.0", 1606 | "phpactor/map-resolver": "^1.4", 1607 | "psr/container": "^1.0" 1608 | }, 1609 | "require-dev": { 1610 | "ergebnis/composer-normalize": "^2.0", 1611 | "friendsofphp/php-cs-fixer": "^3.0", 1612 | "phpspec/prophecy-phpunit": "^2.0", 1613 | "phpstan/phpstan": "^1.0", 1614 | "phpunit/phpunit": "^9.0" 1615 | }, 1616 | "type": "library", 1617 | "extra": { 1618 | "branch-alias": { 1619 | "dev-master": "2.0.x-dev" 1620 | } 1621 | }, 1622 | "autoload": { 1623 | "psr-4": { 1624 | "Phpactor\\Container\\": "lib/" 1625 | } 1626 | }, 1627 | "notification-url": "https://packagist.org/downloads/", 1628 | "license": [ 1629 | "MIT" 1630 | ], 1631 | "authors": [ 1632 | { 1633 | "name": "Daniel Leech", 1634 | "email": "daniel@dantleech.com" 1635 | } 1636 | ], 1637 | "description": "Phpactor's DI Container", 1638 | "support": { 1639 | "issues": "https://github.com/phpactor/container/issues", 1640 | "source": "https://github.com/phpactor/container/tree/2.2.1" 1641 | }, 1642 | "time": "2023-03-19T19:13:59+00:00" 1643 | }, 1644 | { 1645 | "name": "phpactor/language-server", 1646 | "version": "6.1.1", 1647 | "source": { 1648 | "type": "git", 1649 | "url": "https://github.com/phpactor/language-server.git", 1650 | "reference": "4898945e315d9894d3495736d93793670ec0980e" 1651 | }, 1652 | "dist": { 1653 | "type": "zip", 1654 | "url": "https://api.github.com/repos/phpactor/language-server/zipball/4898945e315d9894d3495736d93793670ec0980e", 1655 | "reference": "4898945e315d9894d3495736d93793670ec0980e", 1656 | "shasum": "" 1657 | }, 1658 | "require": { 1659 | "amphp/socket": "^1.1", 1660 | "dantleech/argument-resolver": "^1.1", 1661 | "dantleech/invoke": "^2.0", 1662 | "php": "^8.0", 1663 | "phpactor/language-server-protocol": "^3.17", 1664 | "psr/event-dispatcher": "^1.0", 1665 | "psr/log": "^1.0", 1666 | "ramsey/uuid": "^4.0", 1667 | "thecodingmachine/safe": "^1.1" 1668 | }, 1669 | "require-dev": { 1670 | "amphp/phpunit-util": "^1.3", 1671 | "ergebnis/composer-normalize": "^2.0", 1672 | "friendsofphp/php-cs-fixer": "^3.0", 1673 | "jangregor/phpstan-prophecy": "^1.0", 1674 | "phpactor/phly-event-dispatcher": "~2.0.0", 1675 | "phpactor/test-utils": "~1.1.3", 1676 | "phpspec/prophecy-phpunit": "^2.0", 1677 | "phpstan/extension-installer": "^1.1", 1678 | "phpstan/phpstan": "^1.0", 1679 | "phpunit/phpunit": "^9.0", 1680 | "symfony/var-dumper": "^5.1" 1681 | }, 1682 | "type": "library", 1683 | "extra": { 1684 | "branch-alias": { 1685 | "dev-master": "1.x-dev" 1686 | } 1687 | }, 1688 | "autoload": { 1689 | "psr-4": { 1690 | "Phpactor\\LanguageServer\\": "lib/" 1691 | } 1692 | }, 1693 | "notification-url": "https://packagist.org/downloads/", 1694 | "license": [ 1695 | "MIT" 1696 | ], 1697 | "authors": [ 1698 | { 1699 | "name": "Daniel Leech", 1700 | "email": "daniel@dantleech.com" 1701 | } 1702 | ], 1703 | "description": "Generic Language Server Platform", 1704 | "support": { 1705 | "issues": "https://github.com/phpactor/language-server/issues", 1706 | "source": "https://github.com/phpactor/language-server/tree/6.1.1" 1707 | }, 1708 | "time": "2023-09-22T08:53:04+00:00" 1709 | }, 1710 | { 1711 | "name": "phpactor/language-server-protocol", 1712 | "version": "3.17.3", 1713 | "source": { 1714 | "type": "git", 1715 | "url": "https://github.com/phpactor/language-server-protocol.git", 1716 | "reference": "065fc70b6a26a8d78e034f7db92c8872367356df" 1717 | }, 1718 | "dist": { 1719 | "type": "zip", 1720 | "url": "https://api.github.com/repos/phpactor/language-server-protocol/zipball/065fc70b6a26a8d78e034f7db92c8872367356df", 1721 | "reference": "065fc70b6a26a8d78e034f7db92c8872367356df", 1722 | "shasum": "" 1723 | }, 1724 | "require": { 1725 | "dantleech/invoke": "^2.0", 1726 | "php": "^7.3 || ^8.0" 1727 | }, 1728 | "require-dev": { 1729 | "ergebnis/composer-normalize": "^2.0", 1730 | "friendsofphp/php-cs-fixer": "^2.17", 1731 | "phpstan/phpstan": "~0.12.0", 1732 | "phpunit/phpunit": "^9.2" 1733 | }, 1734 | "type": "library", 1735 | "extra": { 1736 | "branch-alias": { 1737 | "dev-master": "0.3.x-dev" 1738 | } 1739 | }, 1740 | "autoload": { 1741 | "psr-4": { 1742 | "Phpactor\\LanguageServerProtocol\\": "src/" 1743 | } 1744 | }, 1745 | "notification-url": "https://packagist.org/downloads/", 1746 | "license": [ 1747 | "MIT" 1748 | ], 1749 | "authors": [ 1750 | { 1751 | "name": "Daniel Leech", 1752 | "email": "daniel@dantleech.com" 1753 | } 1754 | ], 1755 | "description": "Langauge Server Protocol for PHP (transpiled)", 1756 | "support": { 1757 | "issues": "https://github.com/phpactor/language-server-protocol/issues", 1758 | "source": "https://github.com/phpactor/language-server-protocol/tree/3.17.3" 1759 | }, 1760 | "time": "2023-03-11T13:19:45+00:00" 1761 | }, 1762 | { 1763 | "name": "phpactor/map-resolver", 1764 | "version": "1.6.0", 1765 | "source": { 1766 | "type": "git", 1767 | "url": "https://github.com/phpactor/map-resolver.git", 1768 | "reference": "c15205f54bbb802a3c70eaa46d61be1d06ba8185" 1769 | }, 1770 | "dist": { 1771 | "type": "zip", 1772 | "url": "https://api.github.com/repos/phpactor/map-resolver/zipball/c15205f54bbb802a3c70eaa46d61be1d06ba8185", 1773 | "reference": "c15205f54bbb802a3c70eaa46d61be1d06ba8185", 1774 | "shasum": "" 1775 | }, 1776 | "require": { 1777 | "php": "^7.3 || ^8.0" 1778 | }, 1779 | "require-dev": { 1780 | "ergebnis/composer-normalize": "^2.0", 1781 | "friendsofphp/php-cs-fixer": "^2.17", 1782 | "infection/infection": "^0.18.0", 1783 | "phpstan/phpstan": "~0.12.0", 1784 | "phpunit/phpunit": "^9.0", 1785 | "symfony/var-dumper": "^6.1" 1786 | }, 1787 | "type": "library", 1788 | "extra": { 1789 | "branch-alias": { 1790 | "dev-master": "1.3.x-dev" 1791 | } 1792 | }, 1793 | "autoload": { 1794 | "psr-4": { 1795 | "Phpactor\\MapResolver\\": "lib/" 1796 | } 1797 | }, 1798 | "notification-url": "https://packagist.org/downloads/", 1799 | "license": [ 1800 | "MIT" 1801 | ], 1802 | "authors": [ 1803 | { 1804 | "name": "Daniel Leech", 1805 | "email": "daniel@dantleech.com" 1806 | } 1807 | ], 1808 | "description": "Map Resolver", 1809 | "support": { 1810 | "issues": "https://github.com/phpactor/map-resolver/issues", 1811 | "source": "https://github.com/phpactor/map-resolver/tree/1.6.0" 1812 | }, 1813 | "time": "2022-10-21T21:25:53+00:00" 1814 | }, 1815 | { 1816 | "name": "phpactor/phly-event-dispatcher", 1817 | "version": "2.0.0", 1818 | "source": { 1819 | "type": "git", 1820 | "url": "https://github.com/phpactor/phly-event-dispatcher.git", 1821 | "reference": "5519ac1a5df8a1db72df82e11367b23443f2a0fe" 1822 | }, 1823 | "dist": { 1824 | "type": "zip", 1825 | "url": "https://api.github.com/repos/phpactor/phly-event-dispatcher/zipball/5519ac1a5df8a1db72df82e11367b23443f2a0fe", 1826 | "reference": "5519ac1a5df8a1db72df82e11367b23443f2a0fe", 1827 | "shasum": "" 1828 | }, 1829 | "require": { 1830 | "php": "^7.3||^8.0", 1831 | "psr/container": "^1.0", 1832 | "psr/event-dispatcher": "^1.0" 1833 | }, 1834 | "conflict": { 1835 | "phpspec/prophecy": "<1.7.5" 1836 | }, 1837 | "provide": { 1838 | "psr/event-dispatcher-implementation": "^1.0" 1839 | }, 1840 | "require-dev": { 1841 | "fig/event-dispatcher-util": "^1.0", 1842 | "friendsofphp/php-cs-fixer": "^2.17", 1843 | "phpspec/prophecy-phpunit": "^2.0", 1844 | "phpstan/phpstan": "~0.12.0", 1845 | "phpunit/phpunit": "^9.0.0", 1846 | "zendframework/zend-coding-standard": "~1.0.0" 1847 | }, 1848 | "type": "library", 1849 | "extra": { 1850 | "branch-alias": { 1851 | "dev-master": "2.0.x-dev" 1852 | } 1853 | }, 1854 | "autoload": { 1855 | "files": [ 1856 | "src/functions/lazy_listener.php" 1857 | ], 1858 | "psr-4": { 1859 | "Phly\\EventDispatcher\\": "src/" 1860 | } 1861 | }, 1862 | "notification-url": "https://packagist.org/downloads/", 1863 | "license": [ 1864 | "BSD-3-Clause" 1865 | ], 1866 | "description": "Experimental event dispatcher for PSR-14", 1867 | "keywords": [ 1868 | "components", 1869 | "event-dispatcher", 1870 | "psr-14" 1871 | ], 1872 | "support": { 1873 | "issues": "https://github.com/phly/phly-event-dispatcher/issues", 1874 | "rss": "https://github.com/phly/phly-event-dispatcher/releases.atom", 1875 | "source": "https://github.com/phly/phly-event-dispatcher" 1876 | }, 1877 | "time": "2021-02-06T14:38:57+00:00" 1878 | }, 1879 | { 1880 | "name": "phpactor/phpactor", 1881 | "version": "2023.08.06-1", 1882 | "source": { 1883 | "type": "git", 1884 | "url": "https://github.com/phpactor/phpactor.git", 1885 | "reference": "2f0909c94967fc711ccf43451974e8a51d084a13" 1886 | }, 1887 | "dist": { 1888 | "type": "zip", 1889 | "url": "https://api.github.com/repos/phpactor/phpactor/zipball/2f0909c94967fc711ccf43451974e8a51d084a13", 1890 | "reference": "2f0909c94967fc711ccf43451974e8a51d084a13", 1891 | "shasum": "" 1892 | }, 1893 | "require": { 1894 | "composer/package-versions-deprecated": "^1.0", 1895 | "composer/xdebug-handler": "^3.0", 1896 | "dantleech/invoke": "^2.0", 1897 | "dantleech/object-renderer": "^0.1.1", 1898 | "dnoegel/php-xdg-base-dir": "^0.1.0", 1899 | "ext-pcntl": "*", 1900 | "ext-posix": "*", 1901 | "jetbrains/phpstorm-stubs": "dev-master", 1902 | "monolog/monolog": "^1.23", 1903 | "php": "^8.0", 1904 | "phpactor/amp-fswatch": "^0.3.0", 1905 | "phpactor/class-to-file": "~0.5", 1906 | "phpactor/container": "^2.2.0", 1907 | "phpactor/language-server": "^6.0.2", 1908 | "phpactor/language-server-protocol": "^3.17.3", 1909 | "phpactor/map-resolver": "^1.5.0", 1910 | "phpactor/phly-event-dispatcher": "^2.0.0", 1911 | "phpactor/tolerant-php-parser": "dev-main", 1912 | "sebastian/diff": "^4.0", 1913 | "symfony/console": "^5.0", 1914 | "symfony/filesystem": "^5.4", 1915 | "symfony/process": "^5.4", 1916 | "symfony/yaml": "^5.1", 1917 | "thecodingmachine/safe": "^1.0", 1918 | "twig/twig": "^2.4", 1919 | "webmozart/assert": "^1.11", 1920 | "webmozart/glob": "^4.4", 1921 | "webmozart/path-util": "^2.3" 1922 | }, 1923 | "replace": { 1924 | "phpactor/class-mover": "0.2.0", 1925 | "phpactor/class-to-file-extension": "0.2.2", 1926 | "phpactor/code-builder": "0.4.3", 1927 | "phpactor/code-transform": "0.4.3", 1928 | "phpactor/code-transform-extension": "0.2.2", 1929 | "phpactor/completion": "*", 1930 | "phpactor/completion-extension": "0.2.5", 1931 | "phpactor/completion-rpc-extension": "0.2.3", 1932 | "phpactor/completion-worse-extension": "0.2.4", 1933 | "phpactor/composer-autoloader-extension": "0.2.3", 1934 | "phpactor/config-loader": "0.1.2", 1935 | "phpactor/console-extension": "0.1.6", 1936 | "phpactor/debug-extension": "*", 1937 | "phpactor/file-path-resolver": "0.8.3", 1938 | "phpactor/file-path-resolver-extension": "0.3.4", 1939 | "phpactor/indexer-extension": "0.3.3", 1940 | "phpactor/language-server-extension": "0.6.4", 1941 | "phpactor/language-server-phpactor-extensions": "0.5.3", 1942 | "phpactor/logging-extension": "0.3.4", 1943 | "phpactor/name": "0.1.1", 1944 | "phpactor/path-finder": "0.1.2", 1945 | "phpactor/php-extension": "0.1.1", 1946 | "phpactor/reference-finder": "0.1.6", 1947 | "phpactor/reference-finder-extension": "0.1.7", 1948 | "phpactor/reference-finder-rpc-extension": "0.1.5", 1949 | "phpactor/rpc-extension": "0.2.4", 1950 | "phpactor/source-code-filesystem": "0.1.8", 1951 | "phpactor/source-code-filesystem-extension": "0.1.5", 1952 | "phpactor/worse-reference-finder": "0.2.6", 1953 | "phpactor/worse-reference-finder-extension": "0.1.6", 1954 | "phpactor/worse-reflection-extension": "0.2.5" 1955 | }, 1956 | "require-dev": { 1957 | "blackfire/php-sdk": "^1.31", 1958 | "dantleech/what-changed": "~0.4", 1959 | "dms/phpunit-arraysubset-asserts": "dev-master", 1960 | "friendsofphp/php-cs-fixer": "^3.15", 1961 | "jangregor/phpstan-prophecy": "^1.0", 1962 | "phpactor/test-utils": "^1.1.4", 1963 | "phpbench/phpbench": "^1.1", 1964 | "phpspec/prophecy-phpunit": "^2.0", 1965 | "phpstan/extension-installer": "^1.1", 1966 | "phpstan/phpstan": "^1.0", 1967 | "phpstan/phpstan-phpunit": "^1.0", 1968 | "phpunit/phpunit": "^9.0", 1969 | "psr/log": "^1.1", 1970 | "symfony/var-dumper": "^5.2", 1971 | "vimeo/psalm": "^4.22" 1972 | }, 1973 | "bin": [ 1974 | "bin/phpactor" 1975 | ], 1976 | "type": "library", 1977 | "autoload": { 1978 | "psr-4": { 1979 | "Phpactor\\": "lib/" 1980 | } 1981 | }, 1982 | "notification-url": "https://packagist.org/downloads/", 1983 | "license": [ 1984 | "MIT" 1985 | ], 1986 | "description": "PHP refactoring and intellisense tool for text editors", 1987 | "support": { 1988 | "issues": "https://github.com/phpactor/phpactor/issues", 1989 | "source": "https://github.com/phpactor/phpactor/tree/2023.08.06-1" 1990 | }, 1991 | "funding": [ 1992 | { 1993 | "url": "https://github.com/dantleech", 1994 | "type": "github" 1995 | } 1996 | ], 1997 | "time": "2023-08-12T15:59:21+00:00" 1998 | }, 1999 | { 2000 | "name": "phpactor/tolerant-php-parser", 2001 | "version": "dev-main", 2002 | "source": { 2003 | "type": "git", 2004 | "url": "https://github.com/phpactor/tolerant-php-parser.git", 2005 | "reference": "41b24b0ce10dddbf731cdfe5d9242dba165bde88" 2006 | }, 2007 | "dist": { 2008 | "type": "zip", 2009 | "url": "https://api.github.com/repos/phpactor/tolerant-php-parser/zipball/41b24b0ce10dddbf731cdfe5d9242dba165bde88", 2010 | "reference": "41b24b0ce10dddbf731cdfe5d9242dba165bde88", 2011 | "shasum": "" 2012 | }, 2013 | "require": { 2014 | "php": ">=7.2" 2015 | }, 2016 | "require-dev": { 2017 | "phpstan/phpstan": "^1.8", 2018 | "phpunit/phpunit": "^8.5.15" 2019 | }, 2020 | "default-branch": true, 2021 | "type": "library", 2022 | "autoload": { 2023 | "psr-4": { 2024 | "Microsoft\\PhpParser\\": [ 2025 | "src/" 2026 | ] 2027 | } 2028 | }, 2029 | "notification-url": "https://packagist.org/downloads/", 2030 | "license": [ 2031 | "MIT" 2032 | ], 2033 | "authors": [ 2034 | { 2035 | "name": "Rob Lourens", 2036 | "email": "roblou@microsoft.com" 2037 | } 2038 | ], 2039 | "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios", 2040 | "support": { 2041 | "source": "https://github.com/phpactor/tolerant-php-parser/tree/main" 2042 | }, 2043 | "time": "2023-04-20T20:49:26+00:00" 2044 | }, 2045 | { 2046 | "name": "psr/container", 2047 | "version": "1.1.2", 2048 | "source": { 2049 | "type": "git", 2050 | "url": "https://github.com/php-fig/container.git", 2051 | "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" 2052 | }, 2053 | "dist": { 2054 | "type": "zip", 2055 | "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", 2056 | "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", 2057 | "shasum": "" 2058 | }, 2059 | "require": { 2060 | "php": ">=7.4.0" 2061 | }, 2062 | "type": "library", 2063 | "autoload": { 2064 | "psr-4": { 2065 | "Psr\\Container\\": "src/" 2066 | } 2067 | }, 2068 | "notification-url": "https://packagist.org/downloads/", 2069 | "license": [ 2070 | "MIT" 2071 | ], 2072 | "authors": [ 2073 | { 2074 | "name": "PHP-FIG", 2075 | "homepage": "https://www.php-fig.org/" 2076 | } 2077 | ], 2078 | "description": "Common Container Interface (PHP FIG PSR-11)", 2079 | "homepage": "https://github.com/php-fig/container", 2080 | "keywords": [ 2081 | "PSR-11", 2082 | "container", 2083 | "container-interface", 2084 | "container-interop", 2085 | "psr" 2086 | ], 2087 | "support": { 2088 | "issues": "https://github.com/php-fig/container/issues", 2089 | "source": "https://github.com/php-fig/container/tree/1.1.2" 2090 | }, 2091 | "time": "2021-11-05T16:50:12+00:00" 2092 | }, 2093 | { 2094 | "name": "psr/event-dispatcher", 2095 | "version": "1.0.0", 2096 | "source": { 2097 | "type": "git", 2098 | "url": "https://github.com/php-fig/event-dispatcher.git", 2099 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" 2100 | }, 2101 | "dist": { 2102 | "type": "zip", 2103 | "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", 2104 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", 2105 | "shasum": "" 2106 | }, 2107 | "require": { 2108 | "php": ">=7.2.0" 2109 | }, 2110 | "type": "library", 2111 | "extra": { 2112 | "branch-alias": { 2113 | "dev-master": "1.0.x-dev" 2114 | } 2115 | }, 2116 | "autoload": { 2117 | "psr-4": { 2118 | "Psr\\EventDispatcher\\": "src/" 2119 | } 2120 | }, 2121 | "notification-url": "https://packagist.org/downloads/", 2122 | "license": [ 2123 | "MIT" 2124 | ], 2125 | "authors": [ 2126 | { 2127 | "name": "PHP-FIG", 2128 | "homepage": "http://www.php-fig.org/" 2129 | } 2130 | ], 2131 | "description": "Standard interfaces for event handling.", 2132 | "keywords": [ 2133 | "events", 2134 | "psr", 2135 | "psr-14" 2136 | ], 2137 | "support": { 2138 | "issues": "https://github.com/php-fig/event-dispatcher/issues", 2139 | "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" 2140 | }, 2141 | "time": "2019-01-08T18:20:26+00:00" 2142 | }, 2143 | { 2144 | "name": "psr/log", 2145 | "version": "1.1.4", 2146 | "source": { 2147 | "type": "git", 2148 | "url": "https://github.com/php-fig/log.git", 2149 | "reference": "d49695b909c3b7628b6289db5479a1c204601f11" 2150 | }, 2151 | "dist": { 2152 | "type": "zip", 2153 | "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", 2154 | "reference": "d49695b909c3b7628b6289db5479a1c204601f11", 2155 | "shasum": "" 2156 | }, 2157 | "require": { 2158 | "php": ">=5.3.0" 2159 | }, 2160 | "type": "library", 2161 | "extra": { 2162 | "branch-alias": { 2163 | "dev-master": "1.1.x-dev" 2164 | } 2165 | }, 2166 | "autoload": { 2167 | "psr-4": { 2168 | "Psr\\Log\\": "Psr/Log/" 2169 | } 2170 | }, 2171 | "notification-url": "https://packagist.org/downloads/", 2172 | "license": [ 2173 | "MIT" 2174 | ], 2175 | "authors": [ 2176 | { 2177 | "name": "PHP-FIG", 2178 | "homepage": "https://www.php-fig.org/" 2179 | } 2180 | ], 2181 | "description": "Common interface for logging libraries", 2182 | "homepage": "https://github.com/php-fig/log", 2183 | "keywords": [ 2184 | "log", 2185 | "psr", 2186 | "psr-3" 2187 | ], 2188 | "support": { 2189 | "source": "https://github.com/php-fig/log/tree/1.1.4" 2190 | }, 2191 | "time": "2021-05-03T11:20:27+00:00" 2192 | }, 2193 | { 2194 | "name": "ramsey/collection", 2195 | "version": "2.0.0", 2196 | "source": { 2197 | "type": "git", 2198 | "url": "https://github.com/ramsey/collection.git", 2199 | "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" 2200 | }, 2201 | "dist": { 2202 | "type": "zip", 2203 | "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", 2204 | "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", 2205 | "shasum": "" 2206 | }, 2207 | "require": { 2208 | "php": "^8.1" 2209 | }, 2210 | "require-dev": { 2211 | "captainhook/plugin-composer": "^5.3", 2212 | "ergebnis/composer-normalize": "^2.28.3", 2213 | "fakerphp/faker": "^1.21", 2214 | "hamcrest/hamcrest-php": "^2.0", 2215 | "jangregor/phpstan-prophecy": "^1.0", 2216 | "mockery/mockery": "^1.5", 2217 | "php-parallel-lint/php-console-highlighter": "^1.0", 2218 | "php-parallel-lint/php-parallel-lint": "^1.3", 2219 | "phpcsstandards/phpcsutils": "^1.0.0-rc1", 2220 | "phpspec/prophecy-phpunit": "^2.0", 2221 | "phpstan/extension-installer": "^1.2", 2222 | "phpstan/phpstan": "^1.9", 2223 | "phpstan/phpstan-mockery": "^1.1", 2224 | "phpstan/phpstan-phpunit": "^1.3", 2225 | "phpunit/phpunit": "^9.5", 2226 | "psalm/plugin-mockery": "^1.1", 2227 | "psalm/plugin-phpunit": "^0.18.4", 2228 | "ramsey/coding-standard": "^2.0.3", 2229 | "ramsey/conventional-commits": "^1.3", 2230 | "vimeo/psalm": "^5.4" 2231 | }, 2232 | "type": "library", 2233 | "extra": { 2234 | "captainhook": { 2235 | "force-install": true 2236 | }, 2237 | "ramsey/conventional-commits": { 2238 | "configFile": "conventional-commits.json" 2239 | } 2240 | }, 2241 | "autoload": { 2242 | "psr-4": { 2243 | "Ramsey\\Collection\\": "src/" 2244 | } 2245 | }, 2246 | "notification-url": "https://packagist.org/downloads/", 2247 | "license": [ 2248 | "MIT" 2249 | ], 2250 | "authors": [ 2251 | { 2252 | "name": "Ben Ramsey", 2253 | "email": "ben@benramsey.com", 2254 | "homepage": "https://benramsey.com" 2255 | } 2256 | ], 2257 | "description": "A PHP library for representing and manipulating collections.", 2258 | "keywords": [ 2259 | "array", 2260 | "collection", 2261 | "hash", 2262 | "map", 2263 | "queue", 2264 | "set" 2265 | ], 2266 | "support": { 2267 | "issues": "https://github.com/ramsey/collection/issues", 2268 | "source": "https://github.com/ramsey/collection/tree/2.0.0" 2269 | }, 2270 | "funding": [ 2271 | { 2272 | "url": "https://github.com/ramsey", 2273 | "type": "github" 2274 | }, 2275 | { 2276 | "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", 2277 | "type": "tidelift" 2278 | } 2279 | ], 2280 | "time": "2022-12-31T21:50:55+00:00" 2281 | }, 2282 | { 2283 | "name": "ramsey/uuid", 2284 | "version": "4.7.4", 2285 | "source": { 2286 | "type": "git", 2287 | "url": "https://github.com/ramsey/uuid.git", 2288 | "reference": "60a4c63ab724854332900504274f6150ff26d286" 2289 | }, 2290 | "dist": { 2291 | "type": "zip", 2292 | "url": "https://api.github.com/repos/ramsey/uuid/zipball/60a4c63ab724854332900504274f6150ff26d286", 2293 | "reference": "60a4c63ab724854332900504274f6150ff26d286", 2294 | "shasum": "" 2295 | }, 2296 | "require": { 2297 | "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", 2298 | "ext-json": "*", 2299 | "php": "^8.0", 2300 | "ramsey/collection": "^1.2 || ^2.0" 2301 | }, 2302 | "replace": { 2303 | "rhumsaa/uuid": "self.version" 2304 | }, 2305 | "require-dev": { 2306 | "captainhook/captainhook": "^5.10", 2307 | "captainhook/plugin-composer": "^5.3", 2308 | "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", 2309 | "doctrine/annotations": "^1.8", 2310 | "ergebnis/composer-normalize": "^2.15", 2311 | "mockery/mockery": "^1.3", 2312 | "paragonie/random-lib": "^2", 2313 | "php-mock/php-mock": "^2.2", 2314 | "php-mock/php-mock-mockery": "^1.3", 2315 | "php-parallel-lint/php-parallel-lint": "^1.1", 2316 | "phpbench/phpbench": "^1.0", 2317 | "phpstan/extension-installer": "^1.1", 2318 | "phpstan/phpstan": "^1.8", 2319 | "phpstan/phpstan-mockery": "^1.1", 2320 | "phpstan/phpstan-phpunit": "^1.1", 2321 | "phpunit/phpunit": "^8.5 || ^9", 2322 | "ramsey/composer-repl": "^1.4", 2323 | "slevomat/coding-standard": "^8.4", 2324 | "squizlabs/php_codesniffer": "^3.5", 2325 | "vimeo/psalm": "^4.9" 2326 | }, 2327 | "suggest": { 2328 | "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", 2329 | "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", 2330 | "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", 2331 | "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", 2332 | "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." 2333 | }, 2334 | "type": "library", 2335 | "extra": { 2336 | "captainhook": { 2337 | "force-install": true 2338 | } 2339 | }, 2340 | "autoload": { 2341 | "files": [ 2342 | "src/functions.php" 2343 | ], 2344 | "psr-4": { 2345 | "Ramsey\\Uuid\\": "src/" 2346 | } 2347 | }, 2348 | "notification-url": "https://packagist.org/downloads/", 2349 | "license": [ 2350 | "MIT" 2351 | ], 2352 | "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", 2353 | "keywords": [ 2354 | "guid", 2355 | "identifier", 2356 | "uuid" 2357 | ], 2358 | "support": { 2359 | "issues": "https://github.com/ramsey/uuid/issues", 2360 | "source": "https://github.com/ramsey/uuid/tree/4.7.4" 2361 | }, 2362 | "funding": [ 2363 | { 2364 | "url": "https://github.com/ramsey", 2365 | "type": "github" 2366 | }, 2367 | { 2368 | "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", 2369 | "type": "tidelift" 2370 | } 2371 | ], 2372 | "time": "2023-04-15T23:01:58+00:00" 2373 | }, 2374 | { 2375 | "name": "sebastian/diff", 2376 | "version": "4.0.5", 2377 | "source": { 2378 | "type": "git", 2379 | "url": "https://github.com/sebastianbergmann/diff.git", 2380 | "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" 2381 | }, 2382 | "dist": { 2383 | "type": "zip", 2384 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", 2385 | "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", 2386 | "shasum": "" 2387 | }, 2388 | "require": { 2389 | "php": ">=7.3" 2390 | }, 2391 | "require-dev": { 2392 | "phpunit/phpunit": "^9.3", 2393 | "symfony/process": "^4.2 || ^5" 2394 | }, 2395 | "type": "library", 2396 | "extra": { 2397 | "branch-alias": { 2398 | "dev-master": "4.0-dev" 2399 | } 2400 | }, 2401 | "autoload": { 2402 | "classmap": [ 2403 | "src/" 2404 | ] 2405 | }, 2406 | "notification-url": "https://packagist.org/downloads/", 2407 | "license": [ 2408 | "BSD-3-Clause" 2409 | ], 2410 | "authors": [ 2411 | { 2412 | "name": "Sebastian Bergmann", 2413 | "email": "sebastian@phpunit.de" 2414 | }, 2415 | { 2416 | "name": "Kore Nordmann", 2417 | "email": "mail@kore-nordmann.de" 2418 | } 2419 | ], 2420 | "description": "Diff implementation", 2421 | "homepage": "https://github.com/sebastianbergmann/diff", 2422 | "keywords": [ 2423 | "diff", 2424 | "udiff", 2425 | "unidiff", 2426 | "unified diff" 2427 | ], 2428 | "support": { 2429 | "issues": "https://github.com/sebastianbergmann/diff/issues", 2430 | "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" 2431 | }, 2432 | "funding": [ 2433 | { 2434 | "url": "https://github.com/sebastianbergmann", 2435 | "type": "github" 2436 | } 2437 | ], 2438 | "time": "2023-05-07T05:35:17+00:00" 2439 | }, 2440 | { 2441 | "name": "symfony/console", 2442 | "version": "v5.4.28", 2443 | "source": { 2444 | "type": "git", 2445 | "url": "https://github.com/symfony/console.git", 2446 | "reference": "f4f71842f24c2023b91237c72a365306f3c58827" 2447 | }, 2448 | "dist": { 2449 | "type": "zip", 2450 | "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827", 2451 | "reference": "f4f71842f24c2023b91237c72a365306f3c58827", 2452 | "shasum": "" 2453 | }, 2454 | "require": { 2455 | "php": ">=7.2.5", 2456 | "symfony/deprecation-contracts": "^2.1|^3", 2457 | "symfony/polyfill-mbstring": "~1.0", 2458 | "symfony/polyfill-php73": "^1.9", 2459 | "symfony/polyfill-php80": "^1.16", 2460 | "symfony/service-contracts": "^1.1|^2|^3", 2461 | "symfony/string": "^5.1|^6.0" 2462 | }, 2463 | "conflict": { 2464 | "psr/log": ">=3", 2465 | "symfony/dependency-injection": "<4.4", 2466 | "symfony/dotenv": "<5.1", 2467 | "symfony/event-dispatcher": "<4.4", 2468 | "symfony/lock": "<4.4", 2469 | "symfony/process": "<4.4" 2470 | }, 2471 | "provide": { 2472 | "psr/log-implementation": "1.0|2.0" 2473 | }, 2474 | "require-dev": { 2475 | "psr/log": "^1|^2", 2476 | "symfony/config": "^4.4|^5.0|^6.0", 2477 | "symfony/dependency-injection": "^4.4|^5.0|^6.0", 2478 | "symfony/event-dispatcher": "^4.4|^5.0|^6.0", 2479 | "symfony/lock": "^4.4|^5.0|^6.0", 2480 | "symfony/process": "^4.4|^5.0|^6.0", 2481 | "symfony/var-dumper": "^4.4|^5.0|^6.0" 2482 | }, 2483 | "suggest": { 2484 | "psr/log": "For using the console logger", 2485 | "symfony/event-dispatcher": "", 2486 | "symfony/lock": "", 2487 | "symfony/process": "" 2488 | }, 2489 | "type": "library", 2490 | "autoload": { 2491 | "psr-4": { 2492 | "Symfony\\Component\\Console\\": "" 2493 | }, 2494 | "exclude-from-classmap": [ 2495 | "/Tests/" 2496 | ] 2497 | }, 2498 | "notification-url": "https://packagist.org/downloads/", 2499 | "license": [ 2500 | "MIT" 2501 | ], 2502 | "authors": [ 2503 | { 2504 | "name": "Fabien Potencier", 2505 | "email": "fabien@symfony.com" 2506 | }, 2507 | { 2508 | "name": "Symfony Community", 2509 | "homepage": "https://symfony.com/contributors" 2510 | } 2511 | ], 2512 | "description": "Eases the creation of beautiful and testable command line interfaces", 2513 | "homepage": "https://symfony.com", 2514 | "keywords": [ 2515 | "cli", 2516 | "command-line", 2517 | "console", 2518 | "terminal" 2519 | ], 2520 | "support": { 2521 | "source": "https://github.com/symfony/console/tree/v5.4.28" 2522 | }, 2523 | "funding": [ 2524 | { 2525 | "url": "https://symfony.com/sponsor", 2526 | "type": "custom" 2527 | }, 2528 | { 2529 | "url": "https://github.com/fabpot", 2530 | "type": "github" 2531 | }, 2532 | { 2533 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2534 | "type": "tidelift" 2535 | } 2536 | ], 2537 | "time": "2023-08-07T06:12:30+00:00" 2538 | }, 2539 | { 2540 | "name": "symfony/deprecation-contracts", 2541 | "version": "v3.3.0", 2542 | "source": { 2543 | "type": "git", 2544 | "url": "https://github.com/symfony/deprecation-contracts.git", 2545 | "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" 2546 | }, 2547 | "dist": { 2548 | "type": "zip", 2549 | "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", 2550 | "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", 2551 | "shasum": "" 2552 | }, 2553 | "require": { 2554 | "php": ">=8.1" 2555 | }, 2556 | "type": "library", 2557 | "extra": { 2558 | "branch-alias": { 2559 | "dev-main": "3.4-dev" 2560 | }, 2561 | "thanks": { 2562 | "name": "symfony/contracts", 2563 | "url": "https://github.com/symfony/contracts" 2564 | } 2565 | }, 2566 | "autoload": { 2567 | "files": [ 2568 | "function.php" 2569 | ] 2570 | }, 2571 | "notification-url": "https://packagist.org/downloads/", 2572 | "license": [ 2573 | "MIT" 2574 | ], 2575 | "authors": [ 2576 | { 2577 | "name": "Nicolas Grekas", 2578 | "email": "p@tchwork.com" 2579 | }, 2580 | { 2581 | "name": "Symfony Community", 2582 | "homepage": "https://symfony.com/contributors" 2583 | } 2584 | ], 2585 | "description": "A generic function and convention to trigger deprecation notices", 2586 | "homepage": "https://symfony.com", 2587 | "support": { 2588 | "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" 2589 | }, 2590 | "funding": [ 2591 | { 2592 | "url": "https://symfony.com/sponsor", 2593 | "type": "custom" 2594 | }, 2595 | { 2596 | "url": "https://github.com/fabpot", 2597 | "type": "github" 2598 | }, 2599 | { 2600 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2601 | "type": "tidelift" 2602 | } 2603 | ], 2604 | "time": "2023-05-23T14:45:45+00:00" 2605 | }, 2606 | { 2607 | "name": "symfony/filesystem", 2608 | "version": "v5.4.25", 2609 | "source": { 2610 | "type": "git", 2611 | "url": "https://github.com/symfony/filesystem.git", 2612 | "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364" 2613 | }, 2614 | "dist": { 2615 | "type": "zip", 2616 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", 2617 | "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", 2618 | "shasum": "" 2619 | }, 2620 | "require": { 2621 | "php": ">=7.2.5", 2622 | "symfony/polyfill-ctype": "~1.8", 2623 | "symfony/polyfill-mbstring": "~1.8", 2624 | "symfony/polyfill-php80": "^1.16" 2625 | }, 2626 | "type": "library", 2627 | "autoload": { 2628 | "psr-4": { 2629 | "Symfony\\Component\\Filesystem\\": "" 2630 | }, 2631 | "exclude-from-classmap": [ 2632 | "/Tests/" 2633 | ] 2634 | }, 2635 | "notification-url": "https://packagist.org/downloads/", 2636 | "license": [ 2637 | "MIT" 2638 | ], 2639 | "authors": [ 2640 | { 2641 | "name": "Fabien Potencier", 2642 | "email": "fabien@symfony.com" 2643 | }, 2644 | { 2645 | "name": "Symfony Community", 2646 | "homepage": "https://symfony.com/contributors" 2647 | } 2648 | ], 2649 | "description": "Provides basic utilities for the filesystem", 2650 | "homepage": "https://symfony.com", 2651 | "support": { 2652 | "source": "https://github.com/symfony/filesystem/tree/v5.4.25" 2653 | }, 2654 | "funding": [ 2655 | { 2656 | "url": "https://symfony.com/sponsor", 2657 | "type": "custom" 2658 | }, 2659 | { 2660 | "url": "https://github.com/fabpot", 2661 | "type": "github" 2662 | }, 2663 | { 2664 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2665 | "type": "tidelift" 2666 | } 2667 | ], 2668 | "time": "2023-05-31T13:04:02+00:00" 2669 | }, 2670 | { 2671 | "name": "symfony/polyfill-ctype", 2672 | "version": "v1.28.0", 2673 | "source": { 2674 | "type": "git", 2675 | "url": "https://github.com/symfony/polyfill-ctype.git", 2676 | "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" 2677 | }, 2678 | "dist": { 2679 | "type": "zip", 2680 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", 2681 | "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", 2682 | "shasum": "" 2683 | }, 2684 | "require": { 2685 | "php": ">=7.1" 2686 | }, 2687 | "provide": { 2688 | "ext-ctype": "*" 2689 | }, 2690 | "suggest": { 2691 | "ext-ctype": "For best performance" 2692 | }, 2693 | "type": "library", 2694 | "extra": { 2695 | "branch-alias": { 2696 | "dev-main": "1.28-dev" 2697 | }, 2698 | "thanks": { 2699 | "name": "symfony/polyfill", 2700 | "url": "https://github.com/symfony/polyfill" 2701 | } 2702 | }, 2703 | "autoload": { 2704 | "files": [ 2705 | "bootstrap.php" 2706 | ], 2707 | "psr-4": { 2708 | "Symfony\\Polyfill\\Ctype\\": "" 2709 | } 2710 | }, 2711 | "notification-url": "https://packagist.org/downloads/", 2712 | "license": [ 2713 | "MIT" 2714 | ], 2715 | "authors": [ 2716 | { 2717 | "name": "Gert de Pagter", 2718 | "email": "BackEndTea@gmail.com" 2719 | }, 2720 | { 2721 | "name": "Symfony Community", 2722 | "homepage": "https://symfony.com/contributors" 2723 | } 2724 | ], 2725 | "description": "Symfony polyfill for ctype functions", 2726 | "homepage": "https://symfony.com", 2727 | "keywords": [ 2728 | "compatibility", 2729 | "ctype", 2730 | "polyfill", 2731 | "portable" 2732 | ], 2733 | "support": { 2734 | "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" 2735 | }, 2736 | "funding": [ 2737 | { 2738 | "url": "https://symfony.com/sponsor", 2739 | "type": "custom" 2740 | }, 2741 | { 2742 | "url": "https://github.com/fabpot", 2743 | "type": "github" 2744 | }, 2745 | { 2746 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2747 | "type": "tidelift" 2748 | } 2749 | ], 2750 | "time": "2023-01-26T09:26:14+00:00" 2751 | }, 2752 | { 2753 | "name": "symfony/polyfill-intl-grapheme", 2754 | "version": "v1.28.0", 2755 | "source": { 2756 | "type": "git", 2757 | "url": "https://github.com/symfony/polyfill-intl-grapheme.git", 2758 | "reference": "875e90aeea2777b6f135677f618529449334a612" 2759 | }, 2760 | "dist": { 2761 | "type": "zip", 2762 | "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", 2763 | "reference": "875e90aeea2777b6f135677f618529449334a612", 2764 | "shasum": "" 2765 | }, 2766 | "require": { 2767 | "php": ">=7.1" 2768 | }, 2769 | "suggest": { 2770 | "ext-intl": "For best performance" 2771 | }, 2772 | "type": "library", 2773 | "extra": { 2774 | "branch-alias": { 2775 | "dev-main": "1.28-dev" 2776 | }, 2777 | "thanks": { 2778 | "name": "symfony/polyfill", 2779 | "url": "https://github.com/symfony/polyfill" 2780 | } 2781 | }, 2782 | "autoload": { 2783 | "files": [ 2784 | "bootstrap.php" 2785 | ], 2786 | "psr-4": { 2787 | "Symfony\\Polyfill\\Intl\\Grapheme\\": "" 2788 | } 2789 | }, 2790 | "notification-url": "https://packagist.org/downloads/", 2791 | "license": [ 2792 | "MIT" 2793 | ], 2794 | "authors": [ 2795 | { 2796 | "name": "Nicolas Grekas", 2797 | "email": "p@tchwork.com" 2798 | }, 2799 | { 2800 | "name": "Symfony Community", 2801 | "homepage": "https://symfony.com/contributors" 2802 | } 2803 | ], 2804 | "description": "Symfony polyfill for intl's grapheme_* functions", 2805 | "homepage": "https://symfony.com", 2806 | "keywords": [ 2807 | "compatibility", 2808 | "grapheme", 2809 | "intl", 2810 | "polyfill", 2811 | "portable", 2812 | "shim" 2813 | ], 2814 | "support": { 2815 | "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" 2816 | }, 2817 | "funding": [ 2818 | { 2819 | "url": "https://symfony.com/sponsor", 2820 | "type": "custom" 2821 | }, 2822 | { 2823 | "url": "https://github.com/fabpot", 2824 | "type": "github" 2825 | }, 2826 | { 2827 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2828 | "type": "tidelift" 2829 | } 2830 | ], 2831 | "time": "2023-01-26T09:26:14+00:00" 2832 | }, 2833 | { 2834 | "name": "symfony/polyfill-intl-normalizer", 2835 | "version": "v1.28.0", 2836 | "source": { 2837 | "type": "git", 2838 | "url": "https://github.com/symfony/polyfill-intl-normalizer.git", 2839 | "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" 2840 | }, 2841 | "dist": { 2842 | "type": "zip", 2843 | "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", 2844 | "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", 2845 | "shasum": "" 2846 | }, 2847 | "require": { 2848 | "php": ">=7.1" 2849 | }, 2850 | "suggest": { 2851 | "ext-intl": "For best performance" 2852 | }, 2853 | "type": "library", 2854 | "extra": { 2855 | "branch-alias": { 2856 | "dev-main": "1.28-dev" 2857 | }, 2858 | "thanks": { 2859 | "name": "symfony/polyfill", 2860 | "url": "https://github.com/symfony/polyfill" 2861 | } 2862 | }, 2863 | "autoload": { 2864 | "files": [ 2865 | "bootstrap.php" 2866 | ], 2867 | "psr-4": { 2868 | "Symfony\\Polyfill\\Intl\\Normalizer\\": "" 2869 | }, 2870 | "classmap": [ 2871 | "Resources/stubs" 2872 | ] 2873 | }, 2874 | "notification-url": "https://packagist.org/downloads/", 2875 | "license": [ 2876 | "MIT" 2877 | ], 2878 | "authors": [ 2879 | { 2880 | "name": "Nicolas Grekas", 2881 | "email": "p@tchwork.com" 2882 | }, 2883 | { 2884 | "name": "Symfony Community", 2885 | "homepage": "https://symfony.com/contributors" 2886 | } 2887 | ], 2888 | "description": "Symfony polyfill for intl's Normalizer class and related functions", 2889 | "homepage": "https://symfony.com", 2890 | "keywords": [ 2891 | "compatibility", 2892 | "intl", 2893 | "normalizer", 2894 | "polyfill", 2895 | "portable", 2896 | "shim" 2897 | ], 2898 | "support": { 2899 | "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" 2900 | }, 2901 | "funding": [ 2902 | { 2903 | "url": "https://symfony.com/sponsor", 2904 | "type": "custom" 2905 | }, 2906 | { 2907 | "url": "https://github.com/fabpot", 2908 | "type": "github" 2909 | }, 2910 | { 2911 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2912 | "type": "tidelift" 2913 | } 2914 | ], 2915 | "time": "2023-01-26T09:26:14+00:00" 2916 | }, 2917 | { 2918 | "name": "symfony/polyfill-mbstring", 2919 | "version": "v1.28.0", 2920 | "source": { 2921 | "type": "git", 2922 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2923 | "reference": "42292d99c55abe617799667f454222c54c60e229" 2924 | }, 2925 | "dist": { 2926 | "type": "zip", 2927 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", 2928 | "reference": "42292d99c55abe617799667f454222c54c60e229", 2929 | "shasum": "" 2930 | }, 2931 | "require": { 2932 | "php": ">=7.1" 2933 | }, 2934 | "provide": { 2935 | "ext-mbstring": "*" 2936 | }, 2937 | "suggest": { 2938 | "ext-mbstring": "For best performance" 2939 | }, 2940 | "type": "library", 2941 | "extra": { 2942 | "branch-alias": { 2943 | "dev-main": "1.28-dev" 2944 | }, 2945 | "thanks": { 2946 | "name": "symfony/polyfill", 2947 | "url": "https://github.com/symfony/polyfill" 2948 | } 2949 | }, 2950 | "autoload": { 2951 | "files": [ 2952 | "bootstrap.php" 2953 | ], 2954 | "psr-4": { 2955 | "Symfony\\Polyfill\\Mbstring\\": "" 2956 | } 2957 | }, 2958 | "notification-url": "https://packagist.org/downloads/", 2959 | "license": [ 2960 | "MIT" 2961 | ], 2962 | "authors": [ 2963 | { 2964 | "name": "Nicolas Grekas", 2965 | "email": "p@tchwork.com" 2966 | }, 2967 | { 2968 | "name": "Symfony Community", 2969 | "homepage": "https://symfony.com/contributors" 2970 | } 2971 | ], 2972 | "description": "Symfony polyfill for the Mbstring extension", 2973 | "homepage": "https://symfony.com", 2974 | "keywords": [ 2975 | "compatibility", 2976 | "mbstring", 2977 | "polyfill", 2978 | "portable", 2979 | "shim" 2980 | ], 2981 | "support": { 2982 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" 2983 | }, 2984 | "funding": [ 2985 | { 2986 | "url": "https://symfony.com/sponsor", 2987 | "type": "custom" 2988 | }, 2989 | { 2990 | "url": "https://github.com/fabpot", 2991 | "type": "github" 2992 | }, 2993 | { 2994 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2995 | "type": "tidelift" 2996 | } 2997 | ], 2998 | "time": "2023-07-28T09:04:16+00:00" 2999 | }, 3000 | { 3001 | "name": "symfony/polyfill-php72", 3002 | "version": "v1.28.0", 3003 | "source": { 3004 | "type": "git", 3005 | "url": "https://github.com/symfony/polyfill-php72.git", 3006 | "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" 3007 | }, 3008 | "dist": { 3009 | "type": "zip", 3010 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", 3011 | "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", 3012 | "shasum": "" 3013 | }, 3014 | "require": { 3015 | "php": ">=7.1" 3016 | }, 3017 | "type": "library", 3018 | "extra": { 3019 | "branch-alias": { 3020 | "dev-main": "1.28-dev" 3021 | }, 3022 | "thanks": { 3023 | "name": "symfony/polyfill", 3024 | "url": "https://github.com/symfony/polyfill" 3025 | } 3026 | }, 3027 | "autoload": { 3028 | "files": [ 3029 | "bootstrap.php" 3030 | ], 3031 | "psr-4": { 3032 | "Symfony\\Polyfill\\Php72\\": "" 3033 | } 3034 | }, 3035 | "notification-url": "https://packagist.org/downloads/", 3036 | "license": [ 3037 | "MIT" 3038 | ], 3039 | "authors": [ 3040 | { 3041 | "name": "Nicolas Grekas", 3042 | "email": "p@tchwork.com" 3043 | }, 3044 | { 3045 | "name": "Symfony Community", 3046 | "homepage": "https://symfony.com/contributors" 3047 | } 3048 | ], 3049 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 3050 | "homepage": "https://symfony.com", 3051 | "keywords": [ 3052 | "compatibility", 3053 | "polyfill", 3054 | "portable", 3055 | "shim" 3056 | ], 3057 | "support": { 3058 | "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" 3059 | }, 3060 | "funding": [ 3061 | { 3062 | "url": "https://symfony.com/sponsor", 3063 | "type": "custom" 3064 | }, 3065 | { 3066 | "url": "https://github.com/fabpot", 3067 | "type": "github" 3068 | }, 3069 | { 3070 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3071 | "type": "tidelift" 3072 | } 3073 | ], 3074 | "time": "2023-01-26T09:26:14+00:00" 3075 | }, 3076 | { 3077 | "name": "symfony/polyfill-php73", 3078 | "version": "v1.28.0", 3079 | "source": { 3080 | "type": "git", 3081 | "url": "https://github.com/symfony/polyfill-php73.git", 3082 | "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" 3083 | }, 3084 | "dist": { 3085 | "type": "zip", 3086 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", 3087 | "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", 3088 | "shasum": "" 3089 | }, 3090 | "require": { 3091 | "php": ">=7.1" 3092 | }, 3093 | "type": "library", 3094 | "extra": { 3095 | "branch-alias": { 3096 | "dev-main": "1.28-dev" 3097 | }, 3098 | "thanks": { 3099 | "name": "symfony/polyfill", 3100 | "url": "https://github.com/symfony/polyfill" 3101 | } 3102 | }, 3103 | "autoload": { 3104 | "files": [ 3105 | "bootstrap.php" 3106 | ], 3107 | "psr-4": { 3108 | "Symfony\\Polyfill\\Php73\\": "" 3109 | }, 3110 | "classmap": [ 3111 | "Resources/stubs" 3112 | ] 3113 | }, 3114 | "notification-url": "https://packagist.org/downloads/", 3115 | "license": [ 3116 | "MIT" 3117 | ], 3118 | "authors": [ 3119 | { 3120 | "name": "Nicolas Grekas", 3121 | "email": "p@tchwork.com" 3122 | }, 3123 | { 3124 | "name": "Symfony Community", 3125 | "homepage": "https://symfony.com/contributors" 3126 | } 3127 | ], 3128 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", 3129 | "homepage": "https://symfony.com", 3130 | "keywords": [ 3131 | "compatibility", 3132 | "polyfill", 3133 | "portable", 3134 | "shim" 3135 | ], 3136 | "support": { 3137 | "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" 3138 | }, 3139 | "funding": [ 3140 | { 3141 | "url": "https://symfony.com/sponsor", 3142 | "type": "custom" 3143 | }, 3144 | { 3145 | "url": "https://github.com/fabpot", 3146 | "type": "github" 3147 | }, 3148 | { 3149 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3150 | "type": "tidelift" 3151 | } 3152 | ], 3153 | "time": "2023-01-26T09:26:14+00:00" 3154 | }, 3155 | { 3156 | "name": "symfony/polyfill-php80", 3157 | "version": "v1.28.0", 3158 | "source": { 3159 | "type": "git", 3160 | "url": "https://github.com/symfony/polyfill-php80.git", 3161 | "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" 3162 | }, 3163 | "dist": { 3164 | "type": "zip", 3165 | "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", 3166 | "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", 3167 | "shasum": "" 3168 | }, 3169 | "require": { 3170 | "php": ">=7.1" 3171 | }, 3172 | "type": "library", 3173 | "extra": { 3174 | "branch-alias": { 3175 | "dev-main": "1.28-dev" 3176 | }, 3177 | "thanks": { 3178 | "name": "symfony/polyfill", 3179 | "url": "https://github.com/symfony/polyfill" 3180 | } 3181 | }, 3182 | "autoload": { 3183 | "files": [ 3184 | "bootstrap.php" 3185 | ], 3186 | "psr-4": { 3187 | "Symfony\\Polyfill\\Php80\\": "" 3188 | }, 3189 | "classmap": [ 3190 | "Resources/stubs" 3191 | ] 3192 | }, 3193 | "notification-url": "https://packagist.org/downloads/", 3194 | "license": [ 3195 | "MIT" 3196 | ], 3197 | "authors": [ 3198 | { 3199 | "name": "Ion Bazan", 3200 | "email": "ion.bazan@gmail.com" 3201 | }, 3202 | { 3203 | "name": "Nicolas Grekas", 3204 | "email": "p@tchwork.com" 3205 | }, 3206 | { 3207 | "name": "Symfony Community", 3208 | "homepage": "https://symfony.com/contributors" 3209 | } 3210 | ], 3211 | "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", 3212 | "homepage": "https://symfony.com", 3213 | "keywords": [ 3214 | "compatibility", 3215 | "polyfill", 3216 | "portable", 3217 | "shim" 3218 | ], 3219 | "support": { 3220 | "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" 3221 | }, 3222 | "funding": [ 3223 | { 3224 | "url": "https://symfony.com/sponsor", 3225 | "type": "custom" 3226 | }, 3227 | { 3228 | "url": "https://github.com/fabpot", 3229 | "type": "github" 3230 | }, 3231 | { 3232 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3233 | "type": "tidelift" 3234 | } 3235 | ], 3236 | "time": "2023-01-26T09:26:14+00:00" 3237 | }, 3238 | { 3239 | "name": "symfony/process", 3240 | "version": "v5.4.28", 3241 | "source": { 3242 | "type": "git", 3243 | "url": "https://github.com/symfony/process.git", 3244 | "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b" 3245 | }, 3246 | "dist": { 3247 | "type": "zip", 3248 | "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", 3249 | "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", 3250 | "shasum": "" 3251 | }, 3252 | "require": { 3253 | "php": ">=7.2.5", 3254 | "symfony/polyfill-php80": "^1.16" 3255 | }, 3256 | "type": "library", 3257 | "autoload": { 3258 | "psr-4": { 3259 | "Symfony\\Component\\Process\\": "" 3260 | }, 3261 | "exclude-from-classmap": [ 3262 | "/Tests/" 3263 | ] 3264 | }, 3265 | "notification-url": "https://packagist.org/downloads/", 3266 | "license": [ 3267 | "MIT" 3268 | ], 3269 | "authors": [ 3270 | { 3271 | "name": "Fabien Potencier", 3272 | "email": "fabien@symfony.com" 3273 | }, 3274 | { 3275 | "name": "Symfony Community", 3276 | "homepage": "https://symfony.com/contributors" 3277 | } 3278 | ], 3279 | "description": "Executes commands in sub-processes", 3280 | "homepage": "https://symfony.com", 3281 | "support": { 3282 | "source": "https://github.com/symfony/process/tree/v5.4.28" 3283 | }, 3284 | "funding": [ 3285 | { 3286 | "url": "https://symfony.com/sponsor", 3287 | "type": "custom" 3288 | }, 3289 | { 3290 | "url": "https://github.com/fabpot", 3291 | "type": "github" 3292 | }, 3293 | { 3294 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3295 | "type": "tidelift" 3296 | } 3297 | ], 3298 | "time": "2023-08-07T10:36:04+00:00" 3299 | }, 3300 | { 3301 | "name": "symfony/service-contracts", 3302 | "version": "v2.5.2", 3303 | "source": { 3304 | "type": "git", 3305 | "url": "https://github.com/symfony/service-contracts.git", 3306 | "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" 3307 | }, 3308 | "dist": { 3309 | "type": "zip", 3310 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", 3311 | "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", 3312 | "shasum": "" 3313 | }, 3314 | "require": { 3315 | "php": ">=7.2.5", 3316 | "psr/container": "^1.1", 3317 | "symfony/deprecation-contracts": "^2.1|^3" 3318 | }, 3319 | "conflict": { 3320 | "ext-psr": "<1.1|>=2" 3321 | }, 3322 | "suggest": { 3323 | "symfony/service-implementation": "" 3324 | }, 3325 | "type": "library", 3326 | "extra": { 3327 | "branch-alias": { 3328 | "dev-main": "2.5-dev" 3329 | }, 3330 | "thanks": { 3331 | "name": "symfony/contracts", 3332 | "url": "https://github.com/symfony/contracts" 3333 | } 3334 | }, 3335 | "autoload": { 3336 | "psr-4": { 3337 | "Symfony\\Contracts\\Service\\": "" 3338 | } 3339 | }, 3340 | "notification-url": "https://packagist.org/downloads/", 3341 | "license": [ 3342 | "MIT" 3343 | ], 3344 | "authors": [ 3345 | { 3346 | "name": "Nicolas Grekas", 3347 | "email": "p@tchwork.com" 3348 | }, 3349 | { 3350 | "name": "Symfony Community", 3351 | "homepage": "https://symfony.com/contributors" 3352 | } 3353 | ], 3354 | "description": "Generic abstractions related to writing services", 3355 | "homepage": "https://symfony.com", 3356 | "keywords": [ 3357 | "abstractions", 3358 | "contracts", 3359 | "decoupling", 3360 | "interfaces", 3361 | "interoperability", 3362 | "standards" 3363 | ], 3364 | "support": { 3365 | "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" 3366 | }, 3367 | "funding": [ 3368 | { 3369 | "url": "https://symfony.com/sponsor", 3370 | "type": "custom" 3371 | }, 3372 | { 3373 | "url": "https://github.com/fabpot", 3374 | "type": "github" 3375 | }, 3376 | { 3377 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3378 | "type": "tidelift" 3379 | } 3380 | ], 3381 | "time": "2022-05-30T19:17:29+00:00" 3382 | }, 3383 | { 3384 | "name": "symfony/string", 3385 | "version": "v6.3.5", 3386 | "source": { 3387 | "type": "git", 3388 | "url": "https://github.com/symfony/string.git", 3389 | "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" 3390 | }, 3391 | "dist": { 3392 | "type": "zip", 3393 | "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", 3394 | "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", 3395 | "shasum": "" 3396 | }, 3397 | "require": { 3398 | "php": ">=8.1", 3399 | "symfony/polyfill-ctype": "~1.8", 3400 | "symfony/polyfill-intl-grapheme": "~1.0", 3401 | "symfony/polyfill-intl-normalizer": "~1.0", 3402 | "symfony/polyfill-mbstring": "~1.0" 3403 | }, 3404 | "conflict": { 3405 | "symfony/translation-contracts": "<2.5" 3406 | }, 3407 | "require-dev": { 3408 | "symfony/error-handler": "^5.4|^6.0", 3409 | "symfony/http-client": "^5.4|^6.0", 3410 | "symfony/intl": "^6.2", 3411 | "symfony/translation-contracts": "^2.5|^3.0", 3412 | "symfony/var-exporter": "^5.4|^6.0" 3413 | }, 3414 | "type": "library", 3415 | "autoload": { 3416 | "files": [ 3417 | "Resources/functions.php" 3418 | ], 3419 | "psr-4": { 3420 | "Symfony\\Component\\String\\": "" 3421 | }, 3422 | "exclude-from-classmap": [ 3423 | "/Tests/" 3424 | ] 3425 | }, 3426 | "notification-url": "https://packagist.org/downloads/", 3427 | "license": [ 3428 | "MIT" 3429 | ], 3430 | "authors": [ 3431 | { 3432 | "name": "Nicolas Grekas", 3433 | "email": "p@tchwork.com" 3434 | }, 3435 | { 3436 | "name": "Symfony Community", 3437 | "homepage": "https://symfony.com/contributors" 3438 | } 3439 | ], 3440 | "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", 3441 | "homepage": "https://symfony.com", 3442 | "keywords": [ 3443 | "grapheme", 3444 | "i18n", 3445 | "string", 3446 | "unicode", 3447 | "utf-8", 3448 | "utf8" 3449 | ], 3450 | "support": { 3451 | "source": "https://github.com/symfony/string/tree/v6.3.5" 3452 | }, 3453 | "funding": [ 3454 | { 3455 | "url": "https://symfony.com/sponsor", 3456 | "type": "custom" 3457 | }, 3458 | { 3459 | "url": "https://github.com/fabpot", 3460 | "type": "github" 3461 | }, 3462 | { 3463 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3464 | "type": "tidelift" 3465 | } 3466 | ], 3467 | "time": "2023-09-18T10:38:32+00:00" 3468 | }, 3469 | { 3470 | "name": "symfony/yaml", 3471 | "version": "v5.4.23", 3472 | "source": { 3473 | "type": "git", 3474 | "url": "https://github.com/symfony/yaml.git", 3475 | "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b" 3476 | }, 3477 | "dist": { 3478 | "type": "zip", 3479 | "url": "https://api.github.com/repos/symfony/yaml/zipball/4cd2e3ea301aadd76a4172756296fe552fb45b0b", 3480 | "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b", 3481 | "shasum": "" 3482 | }, 3483 | "require": { 3484 | "php": ">=7.2.5", 3485 | "symfony/deprecation-contracts": "^2.1|^3", 3486 | "symfony/polyfill-ctype": "^1.8" 3487 | }, 3488 | "conflict": { 3489 | "symfony/console": "<5.3" 3490 | }, 3491 | "require-dev": { 3492 | "symfony/console": "^5.3|^6.0" 3493 | }, 3494 | "suggest": { 3495 | "symfony/console": "For validating YAML files using the lint command" 3496 | }, 3497 | "bin": [ 3498 | "Resources/bin/yaml-lint" 3499 | ], 3500 | "type": "library", 3501 | "autoload": { 3502 | "psr-4": { 3503 | "Symfony\\Component\\Yaml\\": "" 3504 | }, 3505 | "exclude-from-classmap": [ 3506 | "/Tests/" 3507 | ] 3508 | }, 3509 | "notification-url": "https://packagist.org/downloads/", 3510 | "license": [ 3511 | "MIT" 3512 | ], 3513 | "authors": [ 3514 | { 3515 | "name": "Fabien Potencier", 3516 | "email": "fabien@symfony.com" 3517 | }, 3518 | { 3519 | "name": "Symfony Community", 3520 | "homepage": "https://symfony.com/contributors" 3521 | } 3522 | ], 3523 | "description": "Loads and dumps YAML files", 3524 | "homepage": "https://symfony.com", 3525 | "support": { 3526 | "source": "https://github.com/symfony/yaml/tree/v5.4.23" 3527 | }, 3528 | "funding": [ 3529 | { 3530 | "url": "https://symfony.com/sponsor", 3531 | "type": "custom" 3532 | }, 3533 | { 3534 | "url": "https://github.com/fabpot", 3535 | "type": "github" 3536 | }, 3537 | { 3538 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3539 | "type": "tidelift" 3540 | } 3541 | ], 3542 | "time": "2023-04-23T19:33:36+00:00" 3543 | }, 3544 | { 3545 | "name": "thecodingmachine/safe", 3546 | "version": "v1.3.3", 3547 | "source": { 3548 | "type": "git", 3549 | "url": "https://github.com/thecodingmachine/safe.git", 3550 | "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc" 3551 | }, 3552 | "dist": { 3553 | "type": "zip", 3554 | "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/a8ab0876305a4cdaef31b2350fcb9811b5608dbc", 3555 | "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc", 3556 | "shasum": "" 3557 | }, 3558 | "require": { 3559 | "php": ">=7.2" 3560 | }, 3561 | "require-dev": { 3562 | "phpstan/phpstan": "^0.12", 3563 | "squizlabs/php_codesniffer": "^3.2", 3564 | "thecodingmachine/phpstan-strict-rules": "^0.12" 3565 | }, 3566 | "type": "library", 3567 | "extra": { 3568 | "branch-alias": { 3569 | "dev-master": "0.1-dev" 3570 | } 3571 | }, 3572 | "autoload": { 3573 | "files": [ 3574 | "deprecated/apc.php", 3575 | "deprecated/libevent.php", 3576 | "deprecated/mssql.php", 3577 | "deprecated/stats.php", 3578 | "lib/special_cases.php", 3579 | "generated/apache.php", 3580 | "generated/apcu.php", 3581 | "generated/array.php", 3582 | "generated/bzip2.php", 3583 | "generated/calendar.php", 3584 | "generated/classobj.php", 3585 | "generated/com.php", 3586 | "generated/cubrid.php", 3587 | "generated/curl.php", 3588 | "generated/datetime.php", 3589 | "generated/dir.php", 3590 | "generated/eio.php", 3591 | "generated/errorfunc.php", 3592 | "generated/exec.php", 3593 | "generated/fileinfo.php", 3594 | "generated/filesystem.php", 3595 | "generated/filter.php", 3596 | "generated/fpm.php", 3597 | "generated/ftp.php", 3598 | "generated/funchand.php", 3599 | "generated/gmp.php", 3600 | "generated/gnupg.php", 3601 | "generated/hash.php", 3602 | "generated/ibase.php", 3603 | "generated/ibmDb2.php", 3604 | "generated/iconv.php", 3605 | "generated/image.php", 3606 | "generated/imap.php", 3607 | "generated/info.php", 3608 | "generated/ingres-ii.php", 3609 | "generated/inotify.php", 3610 | "generated/json.php", 3611 | "generated/ldap.php", 3612 | "generated/libxml.php", 3613 | "generated/lzf.php", 3614 | "generated/mailparse.php", 3615 | "generated/mbstring.php", 3616 | "generated/misc.php", 3617 | "generated/msql.php", 3618 | "generated/mysql.php", 3619 | "generated/mysqli.php", 3620 | "generated/mysqlndMs.php", 3621 | "generated/mysqlndQc.php", 3622 | "generated/network.php", 3623 | "generated/oci8.php", 3624 | "generated/opcache.php", 3625 | "generated/openssl.php", 3626 | "generated/outcontrol.php", 3627 | "generated/password.php", 3628 | "generated/pcntl.php", 3629 | "generated/pcre.php", 3630 | "generated/pdf.php", 3631 | "generated/pgsql.php", 3632 | "generated/posix.php", 3633 | "generated/ps.php", 3634 | "generated/pspell.php", 3635 | "generated/readline.php", 3636 | "generated/rpminfo.php", 3637 | "generated/rrd.php", 3638 | "generated/sem.php", 3639 | "generated/session.php", 3640 | "generated/shmop.php", 3641 | "generated/simplexml.php", 3642 | "generated/sockets.php", 3643 | "generated/sodium.php", 3644 | "generated/solr.php", 3645 | "generated/spl.php", 3646 | "generated/sqlsrv.php", 3647 | "generated/ssdeep.php", 3648 | "generated/ssh2.php", 3649 | "generated/stream.php", 3650 | "generated/strings.php", 3651 | "generated/swoole.php", 3652 | "generated/uodbc.php", 3653 | "generated/uopz.php", 3654 | "generated/url.php", 3655 | "generated/var.php", 3656 | "generated/xdiff.php", 3657 | "generated/xml.php", 3658 | "generated/xmlrpc.php", 3659 | "generated/yaml.php", 3660 | "generated/yaz.php", 3661 | "generated/zip.php", 3662 | "generated/zlib.php" 3663 | ], 3664 | "psr-4": { 3665 | "Safe\\": [ 3666 | "lib/", 3667 | "deprecated/", 3668 | "generated/" 3669 | ] 3670 | } 3671 | }, 3672 | "notification-url": "https://packagist.org/downloads/", 3673 | "license": [ 3674 | "MIT" 3675 | ], 3676 | "description": "PHP core functions that throw exceptions instead of returning FALSE on error", 3677 | "support": { 3678 | "issues": "https://github.com/thecodingmachine/safe/issues", 3679 | "source": "https://github.com/thecodingmachine/safe/tree/v1.3.3" 3680 | }, 3681 | "time": "2020-10-28T17:51:34+00:00" 3682 | }, 3683 | { 3684 | "name": "twig/twig", 3685 | "version": "v2.15.5", 3686 | "source": { 3687 | "type": "git", 3688 | "url": "https://github.com/twigphp/Twig.git", 3689 | "reference": "fc02a6af3eeb97c4bf5650debc76c2eda85ac22e" 3690 | }, 3691 | "dist": { 3692 | "type": "zip", 3693 | "url": "https://api.github.com/repos/twigphp/Twig/zipball/fc02a6af3eeb97c4bf5650debc76c2eda85ac22e", 3694 | "reference": "fc02a6af3eeb97c4bf5650debc76c2eda85ac22e", 3695 | "shasum": "" 3696 | }, 3697 | "require": { 3698 | "php": ">=7.1.3", 3699 | "symfony/polyfill-ctype": "^1.8", 3700 | "symfony/polyfill-mbstring": "^1.3", 3701 | "symfony/polyfill-php72": "^1.8" 3702 | }, 3703 | "require-dev": { 3704 | "psr/container": "^1.0", 3705 | "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" 3706 | }, 3707 | "type": "library", 3708 | "extra": { 3709 | "branch-alias": { 3710 | "dev-master": "2.15-dev" 3711 | } 3712 | }, 3713 | "autoload": { 3714 | "psr-0": { 3715 | "Twig_": "lib/" 3716 | }, 3717 | "psr-4": { 3718 | "Twig\\": "src/" 3719 | } 3720 | }, 3721 | "notification-url": "https://packagist.org/downloads/", 3722 | "license": [ 3723 | "BSD-3-Clause" 3724 | ], 3725 | "authors": [ 3726 | { 3727 | "name": "Fabien Potencier", 3728 | "email": "fabien@symfony.com", 3729 | "homepage": "http://fabien.potencier.org", 3730 | "role": "Lead Developer" 3731 | }, 3732 | { 3733 | "name": "Twig Team", 3734 | "role": "Contributors" 3735 | }, 3736 | { 3737 | "name": "Armin Ronacher", 3738 | "email": "armin.ronacher@active-4.com", 3739 | "role": "Project Founder" 3740 | } 3741 | ], 3742 | "description": "Twig, the flexible, fast, and secure template language for PHP", 3743 | "homepage": "https://twig.symfony.com", 3744 | "keywords": [ 3745 | "templating" 3746 | ], 3747 | "support": { 3748 | "issues": "https://github.com/twigphp/Twig/issues", 3749 | "source": "https://github.com/twigphp/Twig/tree/v2.15.5" 3750 | }, 3751 | "funding": [ 3752 | { 3753 | "url": "https://github.com/fabpot", 3754 | "type": "github" 3755 | }, 3756 | { 3757 | "url": "https://tidelift.com/funding/github/packagist/twig/twig", 3758 | "type": "tidelift" 3759 | } 3760 | ], 3761 | "time": "2023-05-03T17:49:41+00:00" 3762 | }, 3763 | { 3764 | "name": "webmozart/assert", 3765 | "version": "1.11.0", 3766 | "source": { 3767 | "type": "git", 3768 | "url": "https://github.com/webmozarts/assert.git", 3769 | "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" 3770 | }, 3771 | "dist": { 3772 | "type": "zip", 3773 | "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", 3774 | "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", 3775 | "shasum": "" 3776 | }, 3777 | "require": { 3778 | "ext-ctype": "*", 3779 | "php": "^7.2 || ^8.0" 3780 | }, 3781 | "conflict": { 3782 | "phpstan/phpstan": "<0.12.20", 3783 | "vimeo/psalm": "<4.6.1 || 4.6.2" 3784 | }, 3785 | "require-dev": { 3786 | "phpunit/phpunit": "^8.5.13" 3787 | }, 3788 | "type": "library", 3789 | "extra": { 3790 | "branch-alias": { 3791 | "dev-master": "1.10-dev" 3792 | } 3793 | }, 3794 | "autoload": { 3795 | "psr-4": { 3796 | "Webmozart\\Assert\\": "src/" 3797 | } 3798 | }, 3799 | "notification-url": "https://packagist.org/downloads/", 3800 | "license": [ 3801 | "MIT" 3802 | ], 3803 | "authors": [ 3804 | { 3805 | "name": "Bernhard Schussek", 3806 | "email": "bschussek@gmail.com" 3807 | } 3808 | ], 3809 | "description": "Assertions to validate method input/output with nice error messages.", 3810 | "keywords": [ 3811 | "assert", 3812 | "check", 3813 | "validate" 3814 | ], 3815 | "support": { 3816 | "issues": "https://github.com/webmozarts/assert/issues", 3817 | "source": "https://github.com/webmozarts/assert/tree/1.11.0" 3818 | }, 3819 | "time": "2022-06-03T18:03:27+00:00" 3820 | }, 3821 | { 3822 | "name": "webmozart/glob", 3823 | "version": "4.6.0", 3824 | "source": { 3825 | "type": "git", 3826 | "url": "https://github.com/webmozarts/glob.git", 3827 | "reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655" 3828 | }, 3829 | "dist": { 3830 | "type": "zip", 3831 | "url": "https://api.github.com/repos/webmozarts/glob/zipball/3c17f7dec3d9d0e87b575026011f2e75a56ed655", 3832 | "reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655", 3833 | "shasum": "" 3834 | }, 3835 | "require": { 3836 | "php": "^7.3 || ^8.0.0" 3837 | }, 3838 | "require-dev": { 3839 | "phpunit/phpunit": "^9.5", 3840 | "symfony/filesystem": "^5.3" 3841 | }, 3842 | "type": "library", 3843 | "extra": { 3844 | "branch-alias": { 3845 | "dev-master": "4.1-dev" 3846 | } 3847 | }, 3848 | "autoload": { 3849 | "psr-4": { 3850 | "Webmozart\\Glob\\": "src/" 3851 | } 3852 | }, 3853 | "notification-url": "https://packagist.org/downloads/", 3854 | "license": [ 3855 | "MIT" 3856 | ], 3857 | "authors": [ 3858 | { 3859 | "name": "Bernhard Schussek", 3860 | "email": "bschussek@gmail.com" 3861 | } 3862 | ], 3863 | "description": "A PHP implementation of Ant's glob.", 3864 | "support": { 3865 | "issues": "https://github.com/webmozarts/glob/issues", 3866 | "source": "https://github.com/webmozarts/glob/tree/4.6.0" 3867 | }, 3868 | "time": "2022-05-24T19:45:58+00:00" 3869 | }, 3870 | { 3871 | "name": "webmozart/path-util", 3872 | "version": "2.3.0", 3873 | "source": { 3874 | "type": "git", 3875 | "url": "https://github.com/webmozart/path-util.git", 3876 | "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" 3877 | }, 3878 | "dist": { 3879 | "type": "zip", 3880 | "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", 3881 | "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", 3882 | "shasum": "" 3883 | }, 3884 | "require": { 3885 | "php": ">=5.3.3", 3886 | "webmozart/assert": "~1.0" 3887 | }, 3888 | "require-dev": { 3889 | "phpunit/phpunit": "^4.6", 3890 | "sebastian/version": "^1.0.1" 3891 | }, 3892 | "type": "library", 3893 | "extra": { 3894 | "branch-alias": { 3895 | "dev-master": "2.3-dev" 3896 | } 3897 | }, 3898 | "autoload": { 3899 | "psr-4": { 3900 | "Webmozart\\PathUtil\\": "src/" 3901 | } 3902 | }, 3903 | "notification-url": "https://packagist.org/downloads/", 3904 | "license": [ 3905 | "MIT" 3906 | ], 3907 | "authors": [ 3908 | { 3909 | "name": "Bernhard Schussek", 3910 | "email": "bschussek@gmail.com" 3911 | } 3912 | ], 3913 | "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", 3914 | "support": { 3915 | "issues": "https://github.com/webmozart/path-util/issues", 3916 | "source": "https://github.com/webmozart/path-util/tree/2.3.0" 3917 | }, 3918 | "abandoned": "symfony/filesystem", 3919 | "time": "2015-12-17T08:42:14+00:00" 3920 | } 3921 | ], 3922 | "packages-dev": [], 3923 | "aliases": [], 3924 | "minimum-stability": "dev", 3925 | "stability-flags": [], 3926 | "prefer-stable": true, 3927 | "prefer-lowest": false, 3928 | "platform": [], 3929 | "platform-dev": [], 3930 | "plugin-api-version": "2.2.0" 3931 | } 3932 | --------------------------------------------------------------------------------