Skip to content

Commit

Permalink
Merge pull request #7 from gobstones/other_technologies_guidelines
Browse files Browse the repository at this point in the history
Other technologies guidelines
  • Loading branch information
alanrodas authored Dec 7, 2023
2 parents 8659c92 + afb836d commit fdad9e2
Showing 1 changed file with 110 additions and 1 deletion.
111 changes: 110 additions & 1 deletion sections/technologies/technologies.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
<!--- ------- --->
<!--- Node.js --->
<!--- ------- --->

### Node.js
In order to contribute to the development, you need to have `Node.js` and some package manager installed in your system, and understand how to use it with a given repository.
<details>
<summary>Expand to view more about <code>Node.js</code>.</summary>
Expand All @@ -20,6 +22,8 @@ A good starting point to know the basics on `Node.js` is [`nodejs.org`](https://
<!--- ------- --->
<!--- npm --->
<!--- ------- --->

### Packet Manager: `npm`
Associated with `Node.js` you will be using some package manager, to help you download, install, and administer all the packages needed for effective development.
The most common package managers is `npm` (Node Package Manager), installed together with `Node.js`, but there are others.
<details>
Expand All @@ -33,6 +37,8 @@ A good starting point to know the basics on `npm` is [`npmjs.com`](https://docs.
<!--- ---------- --->
<!--- Typescript --->
<!--- ---------- --->

### Typescript
Finally, we use `Typescript` for most of the development of new packages.
<details>
<summary>Expand to view more about <code>TypeScript</code>.</summary>
Expand All @@ -47,6 +53,8 @@ A good starting point to know the basics on `Typescript` is [`typescriptlang.org
<!--- ------- --->
<!--- VSC --->
<!--- ------- --->

### Visual Studio Code
One important addition for helping on the development is the IDE (Integrated Development Environment).
Again, there are several ones, but many of us use **Visual Studio Code** (`VSCode`).
<details>
Expand All @@ -64,7 +72,108 @@ If you need help on installing these elements in your system, [consult our short

## Other technologies

_< TO BE DONE: explain rollup, nps, jest, prettier, eslint, editorconfig, typedoc... >_
<!--- ---------- --->
<!--- Rollup --->
<!--- ---------- --->

### Rollup
As a means to bundle and compile code from the project modules, we rely on `rollup.js`. This tool is designed for modern JavaScript development applications, focusing on creating efficient and optimized bundles for the web.
<details>
<summary>Expand to view more about <b>rollup.js</b></summary>

A good starting point to know the basics on `rollup.js` is [`rollupjs.org`](https://rollupjs.org/).
</details>

---

<!--- ---------- --->
<!--- nps --->
<!--- ---------- --->

### Package Scripts: `nps`
To define and execute custom scripts within `Node.js`, our project uses a `npm` feature called `nps` (Node Package Scripts) which can automate various tasks, such as building, testing, deploying, and more.
<details>
<summary>Expand to view more about <b>nps</b></summary>

A good starting point to know the basics on `nps` is [`npmjs.com`](https://www.npmjs.com/package/nps).
</details>

---

<!--- ---------- --->
<!--- Prettier --->
<!--- ---------- --->

### Prettier
To ensure uniformity in coding style, we integrate the opinionated code formatter `Prettier` to automatically enforce a standardized set of styling rules.
<details>
<summary>Expand to view more about <b>Prettier</b></summary>

A good starting point to know the basics on `Prettier` is [`prettier.io`](https://prettier.io/).
</details>

---

<!--- ---------- --->
<!--- ESLint --->
<!--- ---------- --->

### ESLint
In addition to `Prettier` for maintainability of codebase throughout our project, `ESLint` statically analyzes the code for common errors, stylistic issues, and potential pitfalls, thus providing actionable feedback to fix such problems for both `Javascript` and `Typescript`, ensuring the code's quality and reliability.
<details>
<summary>Expand to view more about <b>ESLint</b></summary>

A good starting point to know the basics on `ESLint` is [`eslint.org`](https://eslint.org/).
</details>

---

<!--- ------------ --->
<!--- EditorConfig --->
<!--- ------------ --->

### EditorConfig
For more style and formatting consistency, there is also the inclusion of `EditorConfig`, a file format that works across different code editors and IDEs.
<details>
<summary>Expand to view more about <b>EditorConfig</b></summary>

A good starting point to know the basics on `EditorConfig` is [`editorconfig.org`](https://editorconfig.org/).
</details>

---

<!--- ---------- --->
<!--- TypeDoc --->
<!--- ---------- --->

### TypeDoc
As a way to generate documentation, the `TypeDoc` tool reads the `TypeScript` source files, parses comments contained within them, and creates API documentation for a more comprehensive and well-structured documentation of the project.
<details>
<summary>Expand to view more about <b>TypeDoc</b></summary>

A good starting point to know the basics on `TypeDoc` is [`typedoc.org`](https://typedoc.org/guides/overview/).
</details>

---

<!--- ---------- --->
<!--- Jest --->
<!--- ---------- --->

### Jest
Last but not least, you will be creating, running, and managing test suites with `Jest` testing framework. It works with `TypeScript` code, providing a comprehensive set of tools and features to simplify the process of writing and maintaining tests.
<details>
<summary>Expand to view more about <b>Jest</b></summary>

A good starting point to know the basics on `Jest` is [`jestjs.io`](https://jestjs.io/).
</details>

---

<!--- ------------------ --->
<!--- Code Standards --->
<!--- ------------------ --->
To learn about the coding standards and workflow for the mentioned technologies and GobstonesWeb2 in general [consult coding standards and workflow section](../coding-standards/coding-standards.md).

[Back to Introduction](../introduction.md).

Expand Down

0 comments on commit fdad9e2

Please sign in to comment.