diff --git a/.eslintrc.json b/.eslintrc.json
index 60b4ce07..67f3211c 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -9,6 +9,7 @@
"plugins": ["simple-import-sort", "unused-imports"],
"rules": {
// eslint
+ "no-console": "error",
"no-return-await": "off",
// simple-import-sort
@@ -41,6 +42,14 @@
}
]
}
+ ],
+
+ // prettier
+ "prettier/prettier": [
+ "warn",
+ {
+ "endOfLine": "auto"
+ }
]
}
},
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
index de4ee6a3..3ec06560 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -76,7 +76,10 @@ body:
- Bronzor
- Chikorita
- Ditto
+ - Gengar
+ - Glalie
- Kakuna
+ - Leafish
- Nosepass
- Onyx
- Pikachu
diff --git a/.github/workflows/lint-test-build.yml b/.github/workflows/lint-test-build.yml
index 27dd0ddc..4aa894a4 100644
--- a/.github/workflows/lint-test-build.yml
+++ b/.github/workflows/lint-test-build.yml
@@ -19,35 +19,30 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.1.1
+ uses: actions/checkout@v4.2.2
with:
fetch-depth: 2
- name: Setup pnpm
- uses: pnpm/action-setup@v3.0.0
- with:
- version: 9.1.3
+ uses: pnpm/action-setup@v4.0.0
- name: Setup Node.js
- uses: actions/setup-node@v4.0.2
+ uses: actions/setup-node@v4.1.0
with:
cache: "pnpm"
- node-version: 20.13.1
+ node-version: 22
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Lint
- run: pnpm lint
+ run: pnpm run lint
- name: Format
- run: pnpm format:check
+ run: pnpm run format:check
- name: Test
- run: pnpm test
+ run: pnpm run test
- name: Build
- run: pnpm build
- env:
- NODE_ENV: production
- NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
+ run: pnpm run build
diff --git a/.github/workflows/publish-docker-image.yml b/.github/workflows/publish-docker-image.yml
index ed61c5ca..338aba8f 100644
--- a/.github/workflows/publish-docker-image.yml
+++ b/.github/workflows/publish-docker-image.yml
@@ -152,7 +152,11 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- - uses: sarisia/actions-status-discord@v1.14.3
+ - name: Deploy the latest image on rxresu.me
+ run: curl -X POST ${{ secrets.SERVICE_WEBHOOK }}
+
+ - name: Inform about the release on Discord
+ uses: sarisia/actions-status-discord@v1.14.3
if: always()
with:
username: ReleaseBot
diff --git a/.gitignore b/.gitignore
index ecfccf7a..09cd1b79 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,4 +49,4 @@ stats.html
# Lingui Compiled Messages
apps/client/src/locales/_build/
-apps/client/src/locales/*/messages.mjs
+apps/client/src/locales/*/messages.*js
diff --git a/.prettierrc b/.prettierrc
index de753c53..36e1ed2f 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,3 +1,6 @@
{
- "printWidth": 100
+ "printWidth": 100,
+ "endOfLine": "auto",
+ "plugins": ["prettier-plugin-tailwindcss"],
+ "tailwindFunctions": ["cn", "cva"]
}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 6a302fe5..1b301e19 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,8 +1,3 @@
{
- "recommendations": [
- "nrwl.angular-console",
- "esbenp.prettier-vscode",
- "dbaeumer.vscode-eslint",
- "firsttris.vscode-jest-runner"
- ]
+ "recommendations": ["nrwl.angular-console", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 5e50a67a..59c8b14b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,15 +1,9 @@
{
+ "css.validate": false,
+ "vitest.disableWorkspaceWarning": true,
"typescript.tsdk": "node_modules/typescript/lib",
"tailwindCSS.experimental.classRegex": [
["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"],
["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
- ],
- "yaml.schemas": {
- "https://json.schemastore.org/github-workflow.json": ".github/workflows/*.yml",
- "https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json": [
- "tools/compose/*"
- ]
- },
- "i18n-ally.localesPaths": ["apps/client/src/locales"],
- "vitest.disableWorkspaceWarning": true
+ ]
}
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..a545f08a
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,132 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, caste, color, religion, or sexual
+identity and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+- Focusing on what is best not just for us as individuals, but for the overall
+ community
+
+Examples of unacceptable behavior include:
+
+- The use of sexualized language or imagery, and sexual attention or advances of
+ any kind
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email address,
+ without their explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official email address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+[INSERT CONTACT METHOD].
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series of
+actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or permanent
+ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within the
+community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.1, available at
+[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
+
+Community Impact Guidelines were inspired by
+[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
+
+For answers to common questions about this code of conduct, see the FAQ at
+[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
+[https://www.contributor-covenant.org/translations][translations].
+
+[homepage]: https://www.contributor-covenant.org
+[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
+[Mozilla CoC]: https://github.com/mozilla/diversity
+[FAQ]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0fbc9a09..3501deab 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -9,7 +9,7 @@ To run the development environment of the application locally on your computer,
#### Requirements
- Docker (with Docker Compose)
-- Node.js 18 or higher (with pnpm)
+- Node.js 20 or higher (with pnpm)
### 1. Fork and Clone the Repository
diff --git a/Dockerfile b/Dockerfile
index 9d1728b8..a0d91a3e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,7 +7,7 @@ ARG NX_CLOUD_ACCESS_TOKEN
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
-RUN corepack enable pnpm && corepack prepare pnpm@9.0.6 --activate
+RUN corepack enable pnpm && corepack prepare pnpm --activate
WORKDIR /app
diff --git a/README.md b/README.md
index f1f22974..26621a92 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ Start creating your standout resume with Reactive Resume today!
- **Bring your own OpenAI API key** and unlock features such as improving your writing, fixing spelling and grammar or changing the tone of your text in one-click
- Translate your resume into any language using ChatGPT and import it back for easier editing
- Create single page resumes or a resume that spans multiple pages easily
-- Customize the colours and layouts to add a personal touch to your resume.
+- Customize the colours and layouts to add a personal touch to your resume
- Customise your page layout as you like just by dragging-and-dropping sections
- Create custom sections that are specific to your industry if the existing ones don't fit
- Jot down personal notes specific to your resume that's only visible to you
diff --git a/apps/artboard/.eslintrc.json b/apps/artboard/.eslintrc.json
index ca3ddc11..c4390f16 100644
--- a/apps/artboard/.eslintrc.json
+++ b/apps/artboard/.eslintrc.json
@@ -12,6 +12,9 @@
}
},
"rules": {
+ // eslint
+ "@typescript-eslint/no-require-imports": "off",
+
// react
"react/no-unescaped-entities": "off",
"react/jsx-sort-props": [
diff --git a/apps/artboard/index.html b/apps/artboard/index.html
index e4b13a8d..2705af91 100644
--- a/apps/artboard/index.html
+++ b/apps/artboard/index.html
@@ -40,5 +40,12 @@
+
+
+