Skip to content

Commit

Permalink
🚀 v0.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
cdosoftei committed Jan 30, 2023
1 parent 46e4e18 commit aa27632
Show file tree
Hide file tree
Showing 134 changed files with 7,083 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .gitattributes
@@ -0,0 +1,5 @@
/.gitattributes export-ignore
/.github export-ignore
/.gitignore export-ignore
/etc/phpstan.neon export-ignore
/etc/psalm.xml export-ignore
6 changes: 6 additions & 0 deletions .github/dependabot.yml
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "daily"
24 changes: 24 additions & 0 deletions .github/workflows/ci.yaml
@@ -0,0 +1,24 @@
name: CI

on:
push:
pull_request:

jobs:
StaticAnalysis:
name: StaticAnalysis (PHP ${{ matrix.php }} on ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-20.04
php:
- 8.1
steps:
- uses: actions/checkout@v2
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
- run: composer install
- run: composer phpstan
- run: composer psalm -- --output-format=github --shepherd
5 changes: 5 additions & 0 deletions .gitignore
@@ -0,0 +1,5 @@
.editorconfig
.phpunit.result.cache
reports
vendor
composer.lock
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
@@ -0,0 +1,36 @@
# Contributing

Contributions are welcome, and they are greatly appreciated!

## Ways to Contribute

There are many different ways, in which you may contribute to this project, including:

* Opening issues by using the [issue tracker](https://github.com/rtckit/ficore/issues)
* Commenting and expanding on open issues
* Propose fixes to open issues via a pull request

We suggest that you create an issue on GitHub before starting to work on a pull request, as this gives us a better overview, and allows us to start a conversation about the issue.

We also encourage you to separate unrelated contributions into different pull requests. This makes it easier for us to understand your individual contributions and faster at reviewing them.

## Terms of Service For Contributors

For all contributions to this repository (software, bug fixes, configuration changes, documentation, or any other materials), we emphasize that this happens under GitHubs general Terms of Service and the license of this repository.

### Contributing as an individual

If you are contributing as an individual you must make sure to adhere to:

The [GitHub Terms of Service](https://help.github.com/en/github/site-policy/github-terms-of-service) __*Section D. User-Generated Content,*__ [Subsection: 6. Contributions Under Repository License](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license):

_"Whenever you make a contribution to a repository containing notice of a license, you license your contribution under the same terms, and you agree that you have the right to license your contribution under those terms. If you have a separate agreement to license your contributions under different terms, such as a contributor license agreement, that agreement will supersede.
Isn't this just how it works already? Yep. This is widely accepted as the norm in the open-source community; it's commonly referred to by the shorthand "inbound=outbound". We're just making it explicit."_

### Contributing on behalf of a Corporation

If you are contributing on behalf of a Corporation you must make sure to adhere to:

The [GitHub Corporate Terms of Service](https://help.github.com/en/github/site-policy/github-corporate-terms-of-service) _**Section D. Content Responsibility; Ownership; License Rights,**_ [subsection 5. Contributions Under Repository License](https://help.github.com/en/github/site-policy/github-corporate-terms-of-service#5-contributions-under-repository-license):

_"Whenever Customer makes a contribution to a repository containing notice of a license, it licenses such contributions under the same terms and agrees that it has the right to license such contributions under those terms. If Customer has a separate agreement to license its contributions under different terms, such as a contributor license agreement, that agreement will supersede."_
2 changes: 1 addition & 1 deletion LICENSE
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 rtckit
Copyright (c) 2023 Ciprian Dosoftei

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
1 change: 1 addition & 0 deletions README.md
@@ -0,0 +1 @@
### FreeSWITCH Integration Core
71 changes: 71 additions & 0 deletions composer.json
@@ -0,0 +1,71 @@
{
"name": "rtckit/ficore",
"description": "FreeSWITCH Integration Core",
"version": "0.0.1",
"keywords": [
"telecommunications",
"voip",
"telephony",
"telco",
"voice",
"freeswitch"
],
"homepage": "https://github.com/rtckit/ficore",
"license": "MIT",
"authors": [
{
"name": "Ciprian Dosoftei"
}
],
"support": {
"email": "hello@rtckit.io",
"issues": "https://github.com/rtckit/ficore/issues"
},
"require": {
"php": ">=8.1.0",
"ext-filter": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-pcre": "*",
"ext-simplexml": "*",
"monolog/monolog": "^3.2",
"ramsey/uuid": "^4.4",
"react/event-loop": "^1.3",
"react/promise": "^2.9",
"rtckit/esl": "^0.8",
"rtckit/react-esl": "^0.8",
"rtckit/sip": "^0.7",
"wyrihaximus/react-psr-3-stdio": "^3.0"
},
"require-dev": {
"phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^9.5",
"vimeo/psalm": "^5.6"
},
"suggest": {
"ext-pcntl": "Enables daemonization support",
"ext-posix": "Enables UID/GID manipulation"
},
"autoload": {
"psr-4": {
"RTCKit\\FiCore\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"RTCKit\\FiCore\\Tests\\": "tests/"
}
},
"config": {
"allow-plugins": false,
"platform": {
"php": "8.1"
}
},
"scripts": {
"phpstan": "php -d memory_limit=-1 ./vendor/bin/phpstan analyse -c ./etc/phpstan.neon -n -vvv --ansi --level=max src",
"psalm": "php -d memory_limit=-1 ./vendor/bin/psalm --config=./etc/psalm.xml --show-info=true",
"phpunit": "php -d memory_limit=-1 ./vendor/bin/phpunit --debug -c ./etc/phpunit.xml.dist",
"coverage": "php -d memory_limit=-1 ./vendor/bin/phpunit --debug -c ./etc/phpunit.xml.dist --coverage-text --coverage-html=reports/coverage"
}
}
6 changes: 6 additions & 0 deletions etc/phpstan.neon
@@ -0,0 +1,6 @@
includes:
- ../vendor/phpstan/phpstan/conf/bleedingEdge.neon
parameters:
checkGenericClassInNonGenericObjectType: false
ignoreErrors:
- '#Call to an undefined method React\\Promise\\PromiseInterface::otherwise\(\)#'
19 changes: 19 additions & 0 deletions etc/phpunit.xml.dist
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- PHPUnit configuration file with new format for PHPUnit 9.3+ -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
bootstrap="../vendor/autoload.php"
colors="true"
cacheResult="false">
<testsuites>
<testsuite name="ficore unit test suite">
<directory>../tests/</directory>
</testsuite>
</testsuites>
<coverage>
<include>
<directory>../src/</directory>
</include>
</coverage>
</phpunit>
43 changes: 43 additions & 0 deletions etc/psalm.xml
@@ -0,0 +1,43 @@
<?xml version="1.0"?>
<psalm
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
reportMixedIssues="false"
findUnusedCode="false"
findUnusedBaselineEntry="false"
findUnusedVariablesAndParams="false"
>
<projectFiles>
<directory name="../src" />
<ignoreFiles>
<directory name="../vendor" />
</ignoreFiles>
</projectFiles>

<issueHandlers>
<PropertyNotSetInConstructor errorLevel="suppress" />
<TypeDoesNotContainType errorLevel="suppress" />
<PossiblyUnusedReturnValue errorLevel="suppress" />
<UnusedForeachValue errorLevel="suppress" />

<!-- https://github.com/vimeo/psalm/issues/4823 -->
<RedundantPropertyInitializationCheck errorLevel="suppress" />
<RedundantCondition errorLevel="suppress" />
<UndefinedInterfaceMethod>
<errorLevel type="suppress">
<referencedMethod name="React\Promise\PromiseInterface::otherwise" />
</errorLevel>
</UndefinedInterfaceMethod>
<PossiblyUndefinedMethod>
<errorLevel type="suppress">
<referencedMethod name="React\Promise\PromiseInterface::otherwise" />
</errorLevel>
</PossiblyUndefinedMethod>
<PossiblyUnusedMethod>
<errorLevel type="suppress">
<file name="../src/AbstractApp.php" />
</errorLevel>
</PossiblyUnusedMethod>
</issueHandlers>
</psalm>

0 comments on commit aa27632

Please sign in to comment.