Skip to content

Commit

Permalink
refactor: remove vendored jasmine versions, user must provider their …
Browse files Browse the repository at this point in the history
…own jasmine from their node_modules (#44)
  • Loading branch information
gregmagolan authored Mar 21, 2023
1 parent 5cbd285 commit 1ceaba2
Show file tree
Hide file tree
Showing 38 changed files with 427 additions and 344 deletions.
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Disabling pnpm [hoisting](https://pnpm.io/npmrc#hoist) by setting `hoist=false` is recommended on
# projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what
# rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules)
hoist=false
3 changes: 3 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_binary")
load("@npm//:defs.bzl", "npm_link_all_packages")

npm_link_all_packages(name = "node_modules")

gazelle_binary(
name = "gazelle_bin",
Expand Down
13 changes: 9 additions & 4 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,18 @@ nodejs_register_toolchains(
node_version = DEFAULT_NODE_VERSION,
)

load("//jasmine:repositories.bzl", "jasmine_repositories")
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")

jasmine_repositories(name = "jasmine")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)

load("@jasmine//:npm_repositories.bzl", jasmine_npm_repositories = "npm_repositories")
load("@npm//:repositories.bzl", "npm_repositories")

jasmine_npm_repositories()
npm_repositories()

# For running our own unit tests
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
Expand Down
11 changes: 7 additions & 4 deletions docs/rules.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions e2e/jasmine_test/.bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
4 changes: 4 additions & 0 deletions e2e/jasmine_test/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Disabling pnpm [hoisting](https://pnpm.io/npmrc#hoist) by setting `hoist=false` is recommended on
# projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what
# rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules)
hoist=false
6 changes: 5 additions & 1 deletion e2e/jasmine_test/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
load("@aspect_rules_jasmine//jasmine:defs.bzl", "jasmine_test")
load("@npm//:defs.bzl", "npm_link_all_packages")

npm_link_all_packages(name = "node_modules")

jasmine_test(
name = "test",
args = ["*.spec.js"],
data = [
"lib.js",
"lib.spec.js",
"lib.test.js",
"package.json",
],
args = ["*.spec.js"],
node_modules = "//:node_modules",
)
13 changes: 9 additions & 4 deletions e2e/jasmine_test/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,15 @@ nodejs_register_toolchains(
node_version = DEFAULT_NODE_VERSION,
)

load("@aspect_rules_jasmine//jasmine:repositories.bzl", "jasmine_repositories")
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")

jasmine_repositories(name = "jasmine")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)

load("@jasmine//:npm_repositories.bzl", jasmine_npm_repositories = "npm_repositories")
load("@npm//:repositories.bzl", "npm_repositories")

jasmine_npm_repositories()
npm_repositories()
10 changes: 9 additions & 1 deletion e2e/jasmine_test/package.json
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
{"type": "module"}
{
"private": true,
"type": "module",
"devDependencies": {
"jasmine": "4.6.0",
"jasmine-core": "4.6.0",
"jasmine-reporters": "2.5.2"
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions e2e/jasmine_test/pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
packages:
- "."
1 change: 1 addition & 0 deletions e2e/workspace/.bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
4 changes: 4 additions & 0 deletions e2e/workspace/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Disabling pnpm [hoisting](https://pnpm.io/npmrc#hoist) by setting `hoist=false` is recommended on
# projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what
# rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules)
hoist=false
6 changes: 5 additions & 1 deletion e2e/workspace/BUILD
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
"""Provides a simple way to test your rules as an external workspace."""

load("@jasmine//:defs.bzl", "jasmine_test")
load("@aspect_rules_jasmine//jasmine:defs.bzl", "jasmine_test")
load("@npm//:defs.bzl", "npm_link_all_packages")

npm_link_all_packages(name = "node_modules")

jasmine_test(
name = "test",
args = ["*.spec.js"],
data = ["test.spec.js"],
node_modules = "//:node_modules",
)
13 changes: 9 additions & 4 deletions e2e/workspace/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,15 @@ nodejs_register_toolchains(
node_version = DEFAULT_NODE_VERSION,
)

load("@aspect_rules_jasmine//jasmine:repositories.bzl", "jasmine_repositories")
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")

jasmine_repositories(name = "jasmine")
npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)

load("@jasmine//:npm_repositories.bzl", jasmine_npm_repositories = "npm_repositories")
load("@npm//:repositories.bzl", "npm_repositories")

jasmine_npm_repositories()
npm_repositories()
9 changes: 9 additions & 0 deletions e2e/workspace/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"private": true,
"type": "module",
"devDependencies": {
"jasmine": "4.6.0",
"jasmine-core": "4.6.0",
"jasmine-reporters": "2.5.2"
}
}
Loading

0 comments on commit 1ceaba2

Please sign in to comment.