{"_id":"@atlassian/atlassian-plugins-react","_rev":"5-b1268bdf60320c01a0a20dcf8fe6411e","name":"@atlassian/atlassian-plugins-react","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.4":{"name":"@atlassian/atlassian-plugins-react","version":"1.0.4","author":{"name":"Atlassian Pty Ltd"},"license":"see LICENSE.txt","_id":"@atlassian/atlassian-plugins-react@1.0.4","maintainers":[{"name":"atlassianartifactteam","email":"eng-development-tooling-secrets-and-artifacts@atlassian.com"}],"homepage":"https://bitbucket.org/atlassian/atlassian-plugins-react#readme","bugs":{"url":"https://bitbucket.org/atlassian/atlassian-plugins-react/issues"},"dist":{"shasum":"b3feea98245345b4d3f926bf89917a8ae5ea6d59","tarball":"https://registry.npmjs.org/@atlassian/atlassian-plugins-react/-/atlassian-plugins-react-1.0.4.tgz","fileCount":3,"integrity":"sha512-t51nMP3fe7Ca5B4/fl82desbJocvYirITqRkINJoB3rGz2dGNO/uPtJbUbpmeyESSBJginwoxy9vJI8OxXboWw==","signatures":[{"sig":"MEUCIAUB/2KmOC3x0r0z8ujHy5wpdHE/oxtrMmTs5+TtEE9OAiEA2oCOQgLjYNwv08pzFNaSQLxtbQgEvXqDIskdjxIdgr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6841},"main":"index.js","type":"module","_from":"file:/tmp/package-1-68edf004-37fc22c94ff74bbdb5985f5e-1.tgz","scripts":{"test":"playwright test","build":"patch-package && webpack --config webpack.config.js","test:prepare":"playwright install","test:standalone":"yarn run build && playwright test"},"_npmUser":{"name":"atlassianartifactteam","email":"eng-development-tooling-secrets-and-artifacts@atlassian.com"},"_resolved":"/tmp/package-1-68edf004-37fc22c94ff74bbdb5985f5e-1.tgz","_integrity":"sha512-t51nMP3fe7Ca5B4/fl82desbJocvYirITqRkINJoB3rGz2dGNO/uPtJbUbpmeyESSBJginwoxy9vJI8OxXboWw==","deprecated":"Do not use this package. Install  and  packages directly","repository":{"url":"git+ssh://git@bitbucket.org/atlassian/atlassian-plugins-react.git","type":"git"},"_npmVersion":"10.8.2","description":"Provides React@18.3.1 dependencies for non-production environment like unit testing (complementary to P2 plugin that provides WRM dependency)","directories":{},"_nodeVersion":"20.19.4","dependencies":{"react":"18.3.1","react-dom":"18.3.1"},"publishConfig":{"registry":"https://packages.atlassian.com/api/npm/npm-public/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.2","devDependencies":{"almond":"^0.3.3","webpack":"^5.101.1","@babel/core":"^7.28.0","@types/node":"^20.19.7","webpack-cli":"^6.0.1","patch-package":"^8.0.0","@playwright/test":"^1.54.1","@babel/preset-env":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/atlassian-plugins-react_1.0.4_1760423944857_0.28069618112592587","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@atlassian/atlassian-plugins-react","version":"1.0.5","author":{"name":"Atlassian Pty Ltd"},"license":"see LICENSE.txt","_id":"@atlassian/atlassian-plugins-react@1.0.5","maintainers":[{"name":"atlassianartifactteam","email":"eng-development-tooling-secrets-and-artifacts@atlassian.com"}],"homepage":"https://bitbucket.org/atlassian/atlassian-plugins-react#readme","bugs":{"url":"https://bitbucket.org/atlassian/atlassian-plugins-react/issues"},"dist":{"shasum":"88ceb61bbc163b40bc75c52d1ab35cd7f943e175","tarball":"https://registry.npmjs.org/@atlassian/atlassian-plugins-react/-/atlassian-plugins-react-1.0.5.tgz","fileCount":3,"integrity":"sha512-Kd6NPakR/TD7fnaS7LHvHiRhI1Nen+YGKBSSUW5J7U3oFSIodv8mmwsRSrAIEmo3Uy9aNt1BO5xmXgYnyUUPEA==","signatures":[{"sig":"MEUCIBtxFJRspbBGiGFv9JrOlP5uXYf+llO9As63OK8s3jNzAiEAp1DDLa96K/ioY57EP4gZVUYoWcsCOkNzGMR0pEEDjAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6841},"main":"index.js","type":"module","_from":"file:/tmp/package-1-68ef9d27-7016f2fe6201347d65663e77-1.tgz","scripts":{"test":"playwright test","build":"patch-package && webpack --config webpack.config.js","test:prepare":"playwright install","test:standalone":"yarn run build && playwright test"},"_npmUser":{"name":"atlassianartifactteam","email":"eng-development-tooling-secrets-and-artifacts@atlassian.com"},"_resolved":"/tmp/package-1-68ef9d27-7016f2fe6201347d65663e77-1.tgz","_integrity":"sha512-Kd6NPakR/TD7fnaS7LHvHiRhI1Nen+YGKBSSUW5J7U3oFSIodv8mmwsRSrAIEmo3Uy9aNt1BO5xmXgYnyUUPEA==","repository":{"url":"git+ssh://git@bitbucket.org/atlassian/atlassian-plugins-react.git","type":"git"},"_npmVersion":"10.8.2","description":"Provides React@18.3.1 dependencies for non-production environment like unit testing (complementary to P2 plugin that provides WRM dependency)","directories":{},"_nodeVersion":"20.19.4","dependencies":{"react":"18.3.1","react-dom":"18.3.1"},"publishConfig":{"registry":"https://packages.atlassian.com/api/npm/npm-public/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.2","devDependencies":{"almond":"^0.3.3","webpack":"^5.101.1","@babel/core":"^7.28.0","@types/node":"^20.19.7","webpack-cli":"^6.0.1","patch-package":"^8.0.0","@playwright/test":"^1.54.1","@babel/preset-env":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/atlassian-plugins-react_1.0.5_1760533803744_0.3508013849587337","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Do not use this package. Install 'react' and 'react-dom' packages directly"}},"time":{"created":"2025-10-14T06:39:04.781Z","modified":"2026-06-03T09:11:13.856Z","1.0.4":"2025-10-14T06:39:05.027Z","1.0.5":"2025-10-15T13:10:03.928Z"},"bugs":{"url":"https://bitbucket.org/atlassian/atlassian-plugins-react/issues"},"author":{"name":"Atlassian Pty Ltd"},"license":"see LICENSE.txt","homepage":"https://bitbucket.org/atlassian/atlassian-plugins-react#readme","repository":{"url":"git+ssh://git@bitbucket.org/atlassian/atlassian-plugins-react.git","type":"git"},"description":"Provides React@18.3.1 dependencies for non-production environment like unit testing (complementary to P2 plugin that provides WRM dependency)","maintainers":[{"name":"atlassianartifactteam","email":"eng-development-tooling-secrets-and-artifacts@atlassian.com"}],"readme":"# atlassian-plugins-react\n\nAtlassian plugin providing React and its various dependencies for global shared use in Atlassian DC Apps.\n\nThe version of React shipped can be checked in `description` field in `package.json`.\n_Keep it updated when bumping React!_\n\n- The P2 plugin is provided through the platform dependencies\n    - In production the front-end code uses React shipped through the web resources (_described below_)\n- The NPM package provides React dependencies solely for unit testing\n\n## Prerequisites\n\n- Java 21 or higher\n- Node.js 20+ and npm\n- Yarn v4.x\n- Maven 3.9+\n\n## When used as P2 plugin\n\n### Exposed web resources\n\n#### `com.atlassian.plugins.react:react-amd`\n\nSingle bundle containing React and its dependencies, including:\n\n- React\n- React DOM\n- Client React DOM\n- ...more to come\n\n#### `com.atlassian.plugins.react:react-core-amd`\n\nJust the React core library, without any other dependencies.\nThe AMD module's id is: `atlassian/libs/react`.\n\n#### `com.atlassian.plugins.react:react-dom-amd`\n\nReact DOM library, which loads also `react-core-amd`, because it's dependent on it.\nThe AMD modules' ids are: `atlassian/libs/react-dom` & `atlassian/libs/react-dom/client`.\n\n## When used as NPM package\n\nProjects that depend on web resources in production should use as `dependency` the `@atlassian/atlassian-plugins-react`\npackage to have the same React dependencies for non-production environment (like running unit tests).\n\nThe version of React dependencies is kept in `description` field.\n\n## Purpose of `patch-package` in the build process\n\nDuring the `yarn build` process, we're taking the original production React files (UMD format) from `node_modules`\nand wrapping them in a custom AMD module format using Rollup.\n\nReactDOM has strict dependency on React! As we're setting React AMD modules id to `atlassian/libs/react`,\nwe also need to change the id ReactDOM seeks for in its module factory block.\n\nHence, we've created a patch file (in `patches` folder) and are applying this change before the build process starts.\nThis ensures that React and ReactDOM can work together seamlessly as AMD modules in the same \"namespace\".\n\n## Plugin versioning\n\nNote! The version numbers used below are just examples, explaining the versioning scheme we came up with.\nThey're not necessarily reflect real changes and actual versions of the plugin.\n\nThe versioning scheme for this plugin is as follows:\n\n- \"Traditional\" semantic versioning of the plugin itself, e.g. `1.0.0`.\n- The version of the React library used in the plugin is reflected as a following postfix, e.g. `-18.3.1`.\n  This part is _only informational_. A consumer quickly knows which version of React is used in the particular version\n  of the plugin.\n\n### Example changes to the future versions\n\n- `1.0.0`: The very first release of the 1.x \"branch\". Exposes React `18.3.1`.\n- `1.0.1`: A patch release. Some small changes made to the plugin. React version stayed intact - `18.3.1`.\n- `1.0.2`: After some time, React `18.3.77` was released. As it's a patch update, the plugin version is also only bumped\n  on the patch level.\n- `1.1.0`: A new _minor_ version of the plugin is released since it exposes _minor_ upgrade of React to `18.7.5`.\n- `1.1.1`: A patch release of the plugin, containing a patch React bump (and maybe some patch changes to the plugin)\n- `1.2.0`: This time, we've only made changes in plugin's behaviour (maybe we've added new web-resources). But React\n  version stayed the same, so we only bumped the minor version of the plugin.\n- `2.0.0`: A new _major_ version of the plugin is released, because it exposes _major_ React version `19.0.0`.\n\n## Code Quality\n\nThis repository enforces the Palantir code style using the Spotless Maven plugin. Any violations of the code style will\nresult in a build failure.\n\n### Guidelines:\n\n- **Formatting Code:** Before raising a pull request, run `mvn spotless:apply` to format your code.\n- **Configuring IntelliJ:**\n  Follow [this detailed guide](https://hello.atlassian.net/wiki/spaces/AB/pages/4249202122/Spotless+configuration+in+IntelliJ+IDE)\n  to integrate Spotless into your IntelliJ IDE.\n","readmeFilename":"README.md"}