-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
24 changed files
with
3,097 additions
and
253 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
node_modules | ||
|
||
dist | ||
|
||
.git | ||
.gitignore | ||
|
||
.env.local | ||
|
||
# IDE settings | ||
.idea | ||
.vscode | ||
|
||
yarn-error.log* | ||
|
||
# Operating system files | ||
.DS_Store | ||
Thumbs.db |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
VITE_TITLE=Vite Insee Starter | ||
VITE_DESCRIPTION=Vite + TypeScript + React + react-dsfr | ||
|
||
VITE_OIDC_ISSUER= | ||
VITE_OIDC_CLIENT_ID= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,5 +14,6 @@ module.exports = { | |
'warn', | ||
{ allowConstantExport: true }, | ||
], | ||
'@typescript-eslint/no-unused-vars': 'warn' | ||
}, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: ci | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
|
||
test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
- uses: bahmutov/npm-install@v1 | ||
- run: yarn build | ||
#- run: yarn test | ||
|
||
check_if_version_upgraded: | ||
name: Check if version upgrade | ||
if: github.event_name == 'push' | ||
runs-on: ubuntu-latest | ||
needs: test | ||
outputs: | ||
from_version: ${{ steps.step1.outputs.from_version }} | ||
to_version: ${{ steps.step1.outputs.to_version }} | ||
is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} | ||
steps: | ||
- uses: garronej/[email protected] | ||
id: step1 | ||
with: | ||
action_name: is_package_json_version_upgraded | ||
branch: ${{ github.head_ref || github.ref }} | ||
|
||
create_github_release: | ||
runs-on: ubuntu-latest | ||
needs: check_if_version_upgraded | ||
# We create a release only if the version have been upgraded and we are on a default branch | ||
if: needs.check_if_version_upgraded.outputs.is_upgraded_version == 'true' && github.event_name == 'push' | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
- uses: softprops/action-gh-release@v1 | ||
with: | ||
name: Release v${{ needs.check_if_version_upgraded.outputs.to_version }} | ||
tag_name: v${{ needs.check_if_version_upgraded.outputs.to_version }} | ||
target_commitish: ${{ github.head_ref || github.ref }} | ||
generate_release_notes: true | ||
draft: false | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
docker: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- check_if_version_upgraded | ||
- create_github_release | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: docker/setup-qemu-action@v3 | ||
- uses: docker/setup-buildx-action@v3 | ||
- uses: docker/login-action@v3 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
- name: Computing Docker image tags | ||
id: step1 | ||
env: | ||
IS_UPGRADED_VERSION: ${{ needs.check_if_version_upgraded.outputs.is_upgraded_version }} | ||
TO_VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }} | ||
run: | | ||
OUT=$GITHUB_REPOSITORY:$TO_VERSION,$GITHUB_REPOSITORY:latest | ||
OUT=$(echo "$OUT" | awk '{print tolower($0)}') | ||
echo ::set-output name=docker_tags::$OUT | ||
- uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
context: . | ||
tags: ${{ steps.step1.outputs.docker_tags }} | ||
platforms: linux/amd64,linux/arm64 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,3 +22,5 @@ dist-ssr | |
*.njsproj | ||
*.sln | ||
*.sw? | ||
|
||
/public/dsfr/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/node_modules/ | ||
/dist/ | ||
/.eslintrc.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"printWidth": 105, | ||
"tabWidth": 4, | ||
"useTabs": false, | ||
"semi": true, | ||
"singleQuote": false, | ||
"trailingComma": "none", | ||
"bracketSpacing": true, | ||
"arrowParens": "avoid" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
|
||
# build environment | ||
FROM node:20-alpine as build | ||
WORKDIR /app | ||
COPY . . | ||
RUN yarn install --frozen-lockfile | ||
RUN yarn build | ||
|
||
# production environment | ||
FROM nginxinc/nginx-unprivileged:1.25-alpine | ||
|
||
# Non root user | ||
ENV NGINX_USER_ID=101 | ||
ENV NGINX_GROUP_ID=101 | ||
ENV NGINX_USER=nginx | ||
|
||
USER $NGINX_USER_ID | ||
|
||
COPY --from=build /app/nginx.conf /etc/nginx/conf.d/default.conf | ||
WORKDIR /usr/share/nginx/html | ||
COPY --from=build /app/dist . | ||
ENTRYPOINT sh -c "./vite-envs.sh && nginx -g 'daemon off;'" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,6 @@ | ||
# React + TypeScript + Vite | ||
|
||
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. | ||
|
||
Currently, two official plugins are available: | ||
|
||
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh | ||
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh | ||
|
||
## Expanding the ESLint configuration | ||
|
||
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: | ||
|
||
- Configure the top-level `parserOptions` property like this: | ||
|
||
```js | ||
export default { | ||
// other rules... | ||
parserOptions: { | ||
ecmaVersion: 'latest', | ||
sourceType: 'module', | ||
project: ['./tsconfig.json', './tsconfig.node.json'], | ||
tsconfigRootDir: __dirname, | ||
}, | ||
} | ||
```env | ||
DOCKERHUB_USERNAME=your_username | ||
DOCKERHUB_TOKEN=your_token | ||
``` | ||
|
||
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` | ||
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` | ||
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,24 @@ | ||
<!doctype html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<title>Vite + React + TS</title> | ||
</head> | ||
<body> | ||
<div id="root"></div> | ||
<script type="module" src="/src/main.tsx"></script> | ||
</body> | ||
</html> | ||
|
||
<head> | ||
<meta charset="UTF-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<title>%VITE_TITLE%</title> | ||
<description>%VITE_DESCRIPTION%</description> | ||
|
||
<link rel="apple-touch-icon" href="/dsfr/favicon/apple-touch-icon.png" /> | ||
<link rel="icon" href="/dsfr/favicon/favicon.svg" type="image/svg+xml" /> | ||
<link rel="shortcut icon" href="/dsfr/favicon/favicon.ico" type="image/x-icon" /> | ||
<link rel="manifest" href="/dsfr/favicon/manifest.webmanifest" crossorigin="use-credentials" /> | ||
|
||
<link rel="stylesheet" href="/dsfr/utility/icons/icons.min.css" /> | ||
<link rel="stylesheet" href="/dsfr/dsfr.min.css" /> | ||
</head> | ||
|
||
<body> | ||
<div id="root"></div> | ||
<script type="module" src="/src/main.tsx"></script> | ||
</body> | ||
|
||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
server { | ||
listen 8080; | ||
|
||
gzip on; | ||
gzip_vary on; | ||
gzip_min_length 1024; | ||
gzip_proxied expired no-cache no-store private auth; | ||
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/javascript application/xml; | ||
gzip_disable "MSIE [1-6]\."; | ||
|
||
root /usr/share/nginx/html; | ||
index index.html; | ||
|
||
try_files $uri $uri/ /index.html; | ||
|
||
# Vite generates filenames with hashes so we can | ||
# tell the browser to keep in cache the resources. | ||
location ^~ /static/ { | ||
try_files $uri =404; | ||
expires 1y; | ||
access_log off; | ||
add_header Cache-Control "public"; | ||
} | ||
|
||
location ~* \.(html|json|txt)$ { | ||
try_files $uri =404; | ||
expires -1; # No cache for these file types | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,62 @@ | ||
{ | ||
"name": "vite-insee-starter", | ||
"private": true, | ||
"version": "0.0.0", | ||
"type": "module", | ||
"scripts": { | ||
"dev": "vite", | ||
"build": "tsc && vite build", | ||
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", | ||
"preview": "vite preview" | ||
}, | ||
"dependencies": { | ||
"react": "^18.2.0", | ||
"react-dom": "^18.2.0" | ||
}, | ||
"devDependencies": { | ||
"@types/react": "^18.2.66", | ||
"@types/react-dom": "^18.2.22", | ||
"@typescript-eslint/eslint-plugin": "^7.2.0", | ||
"@typescript-eslint/parser": "^7.2.0", | ||
"@vitejs/plugin-react": "^4.2.1", | ||
"eslint": "^8.57.0", | ||
"eslint-plugin-react-hooks": "^4.6.0", | ||
"eslint-plugin-react-refresh": "^0.4.6", | ||
"typescript": "^5.2.2", | ||
"vite": "^5.2.0" | ||
} | ||
"name": "vite-insee-starter", | ||
"private": true, | ||
"version": "0.0.0", | ||
"type": "module", | ||
"scripts": { | ||
"dev": "vite", | ||
"build": "tsc && vite build", | ||
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", | ||
"preview": "vite preview", | ||
"_format": "prettier '**/*.{ts,tsx,json,md}'", | ||
"format": "npm run _format -- --write", | ||
"format:check": "npm run _format -- --list-different", | ||
"postinstall": "copy-dsfr-to-public", | ||
"predev": "only-include-used-icons", | ||
"prebuild": "only-include-used-icons" | ||
}, | ||
"dependencies": { | ||
"@codegouvfr/react-dsfr": "^1.9.11", | ||
"@emotion/react": "^11.11.4", | ||
"@emotion/styled": "^11.11.5", | ||
"@mui/material": "^5.15.18", | ||
"@tanstack/react-query": "^5.37.1", | ||
"@tanstack/react-router": "^1.33.6", | ||
"oidc-spa": "^4.6.1", | ||
"react": "^18.2.0", | ||
"react-dom": "^18.2.0", | ||
"tsafe": "^1.6.6", | ||
"tss-react": "^4.9.10", | ||
"vite-envs": "^4.3.0", | ||
"vite-tsconfig-paths": "^4.3.2", | ||
"zod": "^3.23.8" | ||
}, | ||
"devDependencies": { | ||
"@types/react": "^18.2.66", | ||
"@types/react-dom": "^18.2.22", | ||
"@typescript-eslint/eslint-plugin": "^7.2.0", | ||
"@typescript-eslint/parser": "^7.2.0", | ||
"@vitejs/plugin-react": "^4.2.1", | ||
"eslint": "^8.57.0", | ||
"eslint-plugin-react-hooks": "^4.6.0", | ||
"eslint-plugin-react-refresh": "^0.4.6", | ||
"husky": "^4.3.8", | ||
"lint-staged": "^15.2.2", | ||
"prettier": "^3.2.5", | ||
"typescript": "^5.4.5", | ||
"vite": "^5.2.0" | ||
}, | ||
"lint-staged": { | ||
"*.{ts,tsx}": [ | ||
"eslint --fix" | ||
], | ||
"*.{ts,tsx,json,md}": [ | ||
"prettier --write" | ||
] | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-commit": "lint-staged -v" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<html> | ||
<body> | ||
<script> | ||
parent.postMessage(location.href, location.origin); | ||
</script> | ||
</body> | ||
</html> |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.