@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
59 lines (52 loc) โข 2.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WikiOnboarding = void 0;
const doc_files_1 = require("./doc-util/doc-files");
const doc_code_1 = require("./doc-util/doc-code");
const doc_maker_1 = require("./wiki-mk/doc-maker");
/**
* https://github.com/flowr-analysis/flowr/wiki/Onboarding
*/
class WikiOnboarding extends doc_maker_1.DocMaker {
constructor() {
super('wiki/Onboarding.md', module.filename, 'developer onboarding process');
}
text({ ctx }) {
return `To get started developing on *flowR*, we recommend carefully reading the following pages:
- ๐ป ${ctx.linkPage('wiki/Setup', 'Setting up the *flowR* development environment', '-building-from-scratch')}.\\
This page explains how to install **R** and **Node.js**.
- ๐ [Contributing guidelines](${doc_files_1.FlowrGithubBaseRef}/flowr/tree/main/.github/CONTRIBUTING.md).\\
This page also includes information about how to set up **git-lfs** and several **git hooks**.
Once you are set up, these pages explain the parts you are most likely to touch:
- ๐ฌ ${ctx.linkPage('wiki/Core')} walks through the pipeline from parsing to the dataflow graph.
- ๐ฅ๏ธ ${ctx.linkPage('wiki/Interface')} covers the REPL, the server, and the API.
- ๐งช ${ctx.linkPage('wiki/Linting and Testing')} explains which tests exist and how to run them.
If you have any questions, please check out the ${ctx.linkPage('wiki/FAQ')} first, but if the question
is not answered there (or in the wiki in general), feel free to ask a question.
The ${ctx.linkPage('wiki/FAQ')} also includes information about how you can configure your editor.
## โ TL;DR
After installing **R** and **Node.js**, a single command sets everything up:
${(0, doc_code_1.codeBlock)('shell', 'npm run setup:dev')}
It installs the dependencies, checks your **node** version, tells you whether **R** and **git-lfs** are available,
configures the git hooks, tests them, and closes with the pages and commands you will need next.
Missing **R** or **git-lfs** are reported as notes instead of aborting the setup, so you can start with the
${ctx.linkPage('wiki/Engines', '`tree-sitter` engine')} right away and add them later.
If you want to execute the steps manually, please follow the instructions below:
${(0, doc_code_1.codeBlock)('shell', `
# Installing git-lfs for your current user (if you haven't already)
git lfs install
# Cloning the repository
git clone https://github.com/flowr-analysis/flowr.git
# Installing dependencies
npm ci
# Configuring git hooks
git config --local core.hooksPath .githooks/
# Test if the git hooks are working correctly
# Running this command should lint the code
git push --dry-run
`)}
`.trim();
}
}
exports.WikiOnboarding = WikiOnboarding;
//# sourceMappingURL=wiki-onboarding.js.map