{"_id":"@beanbag/jasmine-suites","_rev":"2-b1422ce889f7401657109a5174dd081d","name":"@beanbag/jasmine-suites","dist-tags":{"latest":"3.0.0"},"versions":{"2.0.0":{"name":"@beanbag/jasmine-suites","version":"2.0.0","keywords":["jasmine","tests","unit tests"],"author":{"url":"https://www.beanbaginc.com","name":"Beanbag, Inc.","email":"questions@beanbaginc.com"},"license":"MIT","_id":"@beanbag/jasmine-suites@2.0.0","maintainers":[{"name":"chipx86","email":"christian@beanbaginc.com"},{"name":"trowbrds","email":"david@beanbaginc.com"}],"homepage":"https://github.com/beanbaginc/jasmine-suites","dist":{"shasum":"f0d9ad204033eee09573c36fbf9d526a33836809","tarball":"https://registry.npmjs.org/@beanbag/jasmine-suites/-/jasmine-suites-2.0.0.tgz","fileCount":8,"integrity":"sha512-OVrDdhMBtuluByfOmVGjjIJwl1NwjRD2zywGQFBzElBO5mEWmx6VMGXubL3ueLdC0FSmvfdBcFiyHaaasdLEAw==","signatures":[{"sig":"MEQCICJqzSa9fbAFOBjxlFk1TE8e23x/1nWXQkqNXbof0n2pAiAwRm/b5MxCE1187E921/QkHcsECbAO6dmpcEWBxxz9bQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49200},"main":"lib/index.js","github":"https://github.com/beanbaginc/jasmine-suites","gitHead":"fd7a16c2eaa2089e145bd6335843a538b75248e0","scripts":{"build":"rm -rf lib && rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"chipx86","email":"christian@beanbaginc.com"},"_npmVersion":"9.2.0","description":"Namespaced, merged suite names for Jasmine.","directories":{},"_nodeVersion":"14.18.1","dependencies":{"jasmine":"^4.6.0"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^3.20.2","@babel/cli":"^7.21.0","@babel/core":"^7.21.3","@babel/preset-env":"^7.20.2","@rollup/plugin-babel":"^6.0.3","@beanbag/eslint-plugin":"^1.0.0","@rollup/plugin-node-resolve":"^15.0.1"},"_npmOperationalInternal":{"tmp":"tmp/jasmine-suites_2.0.0_1691696597707_0.1770413337597112","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@beanbag/jasmine-suites","version":"3.0.0","description":"Namespaced, merged suite names for Jasmine.","homepage":"https://github.com/beanbaginc/jasmine-suites","github":"https://github.com/beanbaginc/jasmine-suites","keywords":["jasmine","tests","unit tests"],"author":{"name":"Beanbag, Inc.","email":"questions@beanbaginc.com","url":"https://www.beanbaginc.com"},"license":"MIT","main":"lib/index.js","exports":{"import":{"types":"./lib/index.d.mts","default":"./lib/esm/index.js"},"require":{"types":"./lib/index.d.ts","default":"./lib/cjs/index.js"}},"types":"lib/index.d.ts","scripts":{"clean":"rm -rf lib","build":"tsc && rollup -c --bundleConfigAsCjs","full-build":"npm run clean && npm run build","lint":"eslint src"},"devDependencies":{"@beanbag/frontend-buildkit":"^2.0.0","@beanbag/js-buildkit":"^1.0.3"},"peerDependencies":{"jasmine-core":"^5"},"gitHead":"9b240866eca8db830acd23fa5178788350dbd354","_id":"@beanbag/jasmine-suites@3.0.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-MsIie6+JvS8CDO8HxO+q6GWXPs1TmUEBWxoXgRNpDKyYxiasmLmtZ9O+QAUqcwPW8h9chhyJvANxEjnQIIfNbg==","shasum":"0d454aa7886ec568201159c62f542e47a567670b","tarball":"https://registry.npmjs.org/@beanbag/jasmine-suites/-/jasmine-suites-3.0.0.tgz","fileCount":12,"unpackedSize":72708,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCST4GcggDLTzbo7MrOf7An1Gm2EX4n7f4VJwKaoSD9YQIhAP5Hb4uYbpvrfWa25TuvhJs6gGPShd2UusrC0mPeAeJ5"}]},"_npmUser":{"name":"trowbrds","email":"david@beanbaginc.com"},"directories":{},"maintainers":[{"name":"chipx86","email":"christian@beanbaginc.com"},{"name":"trowbrds","email":"david@beanbaginc.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jasmine-suites_3.0.0_1764961221002_0.7730518034153919"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-10T19:43:17.601Z","modified":"2025-12-05T19:00:21.371Z","2.0.0":"2023-08-10T19:43:17.852Z","3.0.0":"2025-12-05T19:00:21.146Z"},"author":{"name":"Beanbag, Inc.","email":"questions@beanbaginc.com","url":"https://www.beanbaginc.com"},"license":"MIT","homepage":"https://github.com/beanbaginc/jasmine-suites","keywords":["jasmine","tests","unit tests"],"description":"Namespaced, merged suite names for Jasmine.","maintainers":[{"name":"chipx86","email":"christian@beanbaginc.com"},{"name":"trowbrds","email":"david@beanbaginc.com"}],"readme":"Namespaced Jasmine Suites\n=========================\n\nOverview\n--------\n\nThis extends [Jasmine](http://pivotal.github.io/jasmine/) 5.0+ by making it\neasy to create nested, reusable namespaces for test suites.\n\nTypically, a large codebase using Jasmine will split tests into multiple files,\neach with a `describe()` call wrapping the file's tests. This works fine for\nsmall sets of tests, but on a larger codebase, it leaves much to be desired.\nThere's no way to organize tests across files under a common suite, or to\nlimit the test run to those tests.\n\nNamespaced suites solve this by taking a namespaced path (something like\n`projectname/mysuite/component`) and automatically generating test suites for\neach component of the namespace.\n\nIt will also merge any tests in that refer to the same parts of the namespace\nfrom other files.\n\n\nUsage\n-----\n\nSwitching to namespaced suites is really easy. Instead of doing this:\n\n```javascript\ndescribe('projectname/mysuite/component', function() {\n    ...\n});\n```\n\nor:\n\n```javascript\ndescribe('projectname', function() {\n    describe('mysuite', function() {\n        describe('component', function() {\n           ...\n        });\n    });\n});\n```\n\nYou can instead do:\n\n```javascript\nsuite('projectname/mysuite/component', function() {\n   ...\n});\n```\n\nYou can reuse any part of that namespace in as many files as you like. Their\ntests will be combined into the suites.\n\nFor example, say you have the following:\n\n```javascript\n// tests1.js\nsuite('projectname/models/MyModel', function() {\n   ...\n});\n\nsuite('projectname/views/MyView', function() {\n   ...\n});\n\n\n// tests2.js\nsuite('projectname/views/AnotherView', function() {\n   ...\n});\n```\n\nJasmine will end up laying out the tests like:\n\n    projectname\n\n        models\n\n        views\n\n            MyView\n\n            AnotherView\n\n\nWhere is this used?\n-------------------\n\nWe use jasmine-suites at [Beanbag](https://www.beanbaginc.com/) for our\n[Review Board](https://www.reviewboard.org/) and\n[RBCommons](https://rbcommons.com/) products.\n\nIf you use jasmine-suites, let us know and we'll add you to a shiny new list on\nthis page.\n\n\nLicense\n-------\n\nJasmine Suites is under the MIT license.\n","readmeFilename":"README.md"}