This extension help you better test your project and better understand how it behave during its usage.
need gif
need gif
need gif
need gif
need gif
need gif
It was only tested on Arch linux.
You need docker-compose
, vscode and npm.
And for now your project need to use Babeljs for the instrumentation, and Jest for unit tests.
For now it is not packaged, so it's better to use vscode itself to launch the extension.
So first clone this repository with git clone https://github.com/quentinLeDilavrec/behavior-analysis.git
,
then open it with vscode using code vscode-behavior-analysis
,
compile it with npm run compile
and launch it in a new instance of vscode with F5
.
You can now open your own projects in this new augmented instance of vscode.
You can use this fork of gutenberg as an example for some of the results of the following instructions
If you aim at producing traces, the instrumentation need to be integrated to the compilation pipeline of your project.
npm i git+https://[email protected]/quentinLeDilavrec/behavior-code-processing.git
- Copy the basic extended babel plugin and preset in your project with the vscode command
install basic preset
- In your Babeljs config set
passPerPreset
totrue
, prepends the path of the preset file topresets
andstartLine
to1
. - Compile your project
- In
.vscode/settings.json
, setbehaviorAnalysis.experimentation.startPage
to the url or your application - Compile your project and launch the server side
- Execute the vscode command
launch instrumented browser
- In your jest config, set
testEnvironment
to<rootDir>/node_modules/behavior-code-processing/out/environment.js
and add a new entry totestEnvironmentOptions
namedoutput_dir
and containing output path where traces will be saved - Then you can launch your unit tests
- Execute the vscode command
create data base
- Reload the window so that the extension can log itself to the database
This extension contributes the following settings:
behaviorAnalysis.extendedBabelPlugin
: Path to the extended babel plugin in charge of manipulating actual codebehaviorAnalysis.interception.interceptDeclaredFunctions
: Intercept functions declared in the current packagebehaviorAnalysis.interception.automateInstrumentation
: Automatically setup instrumentationbehaviorAnalysis.database.identification
: The data necessary to connect to the database containing the tracesbehaviorAnalysis.database.stackFile
: the file containing the stack for docker composebehaviorAnalysis.database.mappingFile
: Mapping old and new position of instrumented rangesbehaviorAnalysis.experimentation.startPage
: The start page of the instrumented browserbehaviorAnalysis.experimentation.tracesOutputDirectory
: The output directory where traces will be stored
Calling out known issues can help limit users opening duplicate issues against your extension.
Users appreciate release notes as you update your extension.
Initial release: