Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ lint_yaml: normalize_yaml ## Lints YAML files
(! git diff --name-only | grep "^config/.*\.yml$$") || (echo "Error: Run 'make normalize_yaml' to normalize YAML"; exit 1)

lint_yarn_workspaces: ## Lints Yarn workspace packages
scripts/validate-workspaces.js
scripts/validate-workspaces.mjs

lint_asset_bundle_size: ## Lints JavaScript and CSS compiled bundle size
@# This enforces an asset size budget to ensure that download sizes are reasonable and to protect
Expand Down
23 changes: 1 addition & 22 deletions app/javascript/packages/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,4 @@

Packages are independent JavaScript libraries. As much as possible, their behaviors should be reusable and make no assumptions about particular application pages or configuration. Instead, they should be initialized by a [`pack`](../packs) which provides relevant configuration and page element references.

A package should behave much like any other third-party [NPM package](https://www.npmjs.com/), where each folder in this directory represents a single package. These packages are managed using [Yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces/).

Each package should include a `package.json` with at least `name`, `version`, and `private` fields:

- Name should start with `@18f/identity-` and end with the folder name
- Version should be fixed to `1.0.0`
- Packages should be private, since they are not published
- Any `devDependencies` should be defined in the root project directory, not in a package
- Define `dependencies` for any third-party libraries used in a package
- It is not necessary to define `dependencies` for other sibling packages

**Example:**

_packages/analytics/package.json_

```json
{
"name": "@18f/identity-analytics",
"version": "1.0.0",
"private": true
}
```
A package should behave much like any other third-party [NPM package](https://www.npmjs.com/), where each folder in this directory represents a single package. These packages are managed using [Yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces/). Refer to [Front-end Architecture documentation on Yarn Workspaces](https://github.com/18F/identity-idp/blob/main/docs/frontend.md#yarn-workspaces) for more information.
3 changes: 2 additions & 1 deletion app/javascript/packages/address-search/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@
"type": "git",
"url": "https://github.com/18f/identity-idp.git",
"directory": "app/javascript/packages/address-search"
}
},
"sideEffects": false
}
5 changes: 4 additions & 1 deletion app/javascript/packages/analytics/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-analytics",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": [
"./click-observer-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/assets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"version": "1.0.0",
"peerDependencies": {
"webpack": ">=5"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/build-sass/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@
"chokidar": "^3.5.3",
"lightningcss": "^1.23.0",
"sass-embedded": "^1.70.0"
}
},
"sideEffects": false
}
5 changes: 4 additions & 1 deletion app/javascript/packages/captcha-submit-button/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-captcha-submit-button",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": [
"./captcha-submit-button-element.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/clipboard-button/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@
"private": true,
"dependencies": {
"@18f/identity-design-system": "^8.1.2"
}
},
"sideEffects": [
"./clipboard-button-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@
"type": "git",
"url": "https://github.com/18f/identity-idp.git",
"directory": "app/javascript/packages/components"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/compose-components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"version": "1.0.0",
"dependencies": {
"react": "^17.0.2"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/config/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-config",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": false
}
6 changes: 5 additions & 1 deletion app/javascript/packages/countdown/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{
"name": "@18f/identity-countdown",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": [
"./countdown-alert-element.ts",
"./countdown-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/device/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-device",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": false
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-document-capture-polling",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/document-capture/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@
"react": "^17.0.2",
"react-dom": "^17.0.2",
"swr": "^2.0.0"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/eslint-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,6 @@
"eslint-plugin-react-hooks": {
"optional": true
}
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/form-steps/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"private": true,
"peerDependencies": {
"react": "*"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/i18n/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@
"type": "git",
"url": "https://github.com/18f/identity-idp.git",
"directory": "app/javascript/packages/i18n"
}
},
"sideEffects": false
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-manageable-authenticator",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": [
"./manageable-authenticator-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/masked-text-toggle/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-masked-text-toggle",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": false
}
7 changes: 5 additions & 2 deletions app/javascript/packages/memorable-date/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-memorable-date",
"private": true,
"version": "1.0.0"
}
"version": "1.0.0",
"sideEffects": [
"./index.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/modal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@
"private": true,
"dependencies": {
"focus-trap": "^6.7.1"
}
},
"sideEffects": [
"./modal-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/normalize-yaml/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@
},
"peerDependencies": {
"prettier": ">=3"
}
},
"sideEffects": false
}
5 changes: 4 additions & 1 deletion app/javascript/packages/one-time-code-input/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-one-time-code-input",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": [
"./one-time-code-input-element.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/password-confirmation/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-password-confirmation",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": [
"./password-confirmation-element.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/password-strength/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@
"version": "1.0.0",
"dependencies": {
"zxcvbn": "^4.4.2"
}
},
"sideEffects": [
"./password-strength-element.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/password-toggle/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-password-toggle",
"private": true,
"version": "1.0.0"
"version": "1.0.0",
"sideEffects": [
"./password-toggle-element.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/phone-input/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,8 @@
"dependencies": {
"intl-tel-input": "^17.0.19",
"libphonenumber-js": "^1.10.55"
}
},
"sideEffects": [
"./index.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/print-button/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-print-button",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": [
"./print-button-element.ts"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@
"peerDependencies": {
"sinon": "*",
"webpack": ">=5"
}
},
"sideEffects": [
"./spec/**"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/react-hooks/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"version": "1.0.0",
"peerDependencies": {
"react": ">=16.8.0"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/react-i18n/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"version": "1.0.0",
"dependencies": {
"react": "^17.0.2"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/request/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-request",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/session/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-session",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": false
}
5 changes: 4 additions & 1 deletion app/javascript/packages/spinner-button/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,8 @@
"react": {
"optional": true
}
}
},
"sideEffects": [
"./spinner-button-element.ts"
]
}
5 changes: 4 additions & 1 deletion app/javascript/packages/step-indicator/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,8 @@
"react": {
"optional": true
}
}
},
"sideEffects": [
"./step-indicator-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/stylelint-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@
"peerDependencies": {
"prettier": ">=3.0.0",
"stylelint": ">=15.10.0"
}
},
"sideEffects": false
}
5 changes: 4 additions & 1 deletion app/javascript/packages/submit-button/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"name": "@18f/identity-submit-button",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": [
"./submit-button-element.ts"
]
}
3 changes: 2 additions & 1 deletion app/javascript/packages/test-helpers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"version": "1.0.0",
"peerDependencies": {
"sinon": "*"
}
},
"sideEffects": false
}
5 changes: 4 additions & 1 deletion app/javascript/packages/time-element/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@
"name": "@18f/identity-time-element",
"private": true,
"version": "1.0.0",
"type": "module"
"type": "module",
"sideEffects": [
"./time-element.ts"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@
},
"peerDependencies": {
"webpack": ">=5"
}
},
"sideEffects": false
}
3 changes: 2 additions & 1 deletion app/javascript/packages/url/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "@18f/identity-url",
"version": "1.0.0",
"private": true
"private": true,
"sideEffects": false
}
Loading