Website: https://phcode.dev
Phoenix is a modern open-source and free software code editor for the web, built for the browser.
AGPL/Libre license guards your right to audit and change code that handles your data. Phoenix usually loads up in under one second and loading it faster at the expense of making it hard to read and develop is a noop. We prioritize simplicity and eaze of development.
sudo npm install -g gulp-cli
npm install -g gulp-cli
npm install
npm run build
- generate builds close to release builds locally.npm run build:debug
to build debug builds for development with more debug symbols.npm run serve
in the terminal.SonarLint static code analysis checker is not yet available as a Brackets extension. Use sonarLint plugin for webstorm or any of the available IDEs from this link before raising a pull request: https://www.sonarlint.org/
npm install
npm run release:dev
, npm run release:staging
, npm run release:prod
dist
folder.This is the easiest and preferred way to run Phoenix tests.
npm run build
in the terminal.
Debug > Phoenix Code Diagnostic Tools > Run Phoenix Code Tests
To open the test runner.reset and reload tests
option in the test runner.We use Playwright to run the headless version of our tests. Please note that we do not use Playwright as our actual test framework, but as a headless browser(chrome and firefox) to run our tests written in Jasmine/Mocha.
npm run test<*>
in the terminal to run the unit tests run in GitHub actions. Eg. npm run testChromium
.npm run test<*>Debug
. Eg. npm run testFirefoxDebug
. However, we recommend using the
above Running tests in browser
section to actually fix/debug tests that are failing in the pipeline.
It has much better debug UX and fixing it directly in the browser will almost certainly fix it in playwright.npx cross-env TEST_ENV=<integration suite name> npm run test<*>
integration, LegacyInteg, mainview, livepreview
.
You can get these suite names from the test runner.npx cross-env TEST_ENV=integration npm run testChromium
npx cross-env TEST_ENV=<integration suite name> npm run test<*>Debug
npx cross-env TEST_ENV=mainview npm run testChromiumDebug
npm run release:<stage>
. Eg: npm run release:dev
npm run test<*>Dist
. Eg. npm run testChromiumDist
.npx cross-env TEST_ENV=<integration suite name> npm run test<*>Dist
. Eg. npx cross-env TEST_ENV=mainview npm run testChromiumDist
.To view/edit the files in the browser virtual file system in Phoenix:
debug menu> Open Virtual File System
npm run clean
One a pull request is merged, it will be automatically deployed to dev.phcode.dev . To view the changes:
enable dev.phcode.dev
. only needs to be done once.The process is the same for staging.phcode.dev
. Builds that are verified in development will be pushed
periodically to staging. To view staging:
enable staging.phcode.dev
. only needs to be done once.staging
branch in this repo with a pull request.prod
branch.Discussion: https://github.com/phcode-dev/phoenix/issues/184
GNU AGPL-3.0 License
Copyright (c) 2021 - present Core.ai
Based on Backets, Copyright (c) 2012 Adobe Systems Incorporated and the brackets.io community
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://opensource.org/licenses/AGPL-3.0.