Skip to content

Commit fdada5f

Browse files
authored
Merge pull request #32 from grafana/31-support-import-path-of-arbitrary-depth
support import path of arbitrary depth
2 parents d7a5115 + bf3df5e commit fdada5f

File tree

6 files changed

+38
-29
lines changed

6 files changed

+38
-29
lines changed

dependencies.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
//nolint:gochecknoglobals
1313
var (
14-
srcName = `(?P<name>k6|k6/x/[0-9a-zA-Z_-]+|(@[a-zA-Z0-9-_]+/)?xk6-([a-zA-Z0-9-_]+)((/[a-zA-Z0-9-_]+)*))`
14+
srcName = `(?P<name>k6|k6/x/[/0-9a-zA-Z_-]+|(@[a-zA-Z0-9-_]+/)?xk6-([a-zA-Z0-9-_]+)((/[a-zA-Z0-9-_]+)*))`
1515
srcConstraint = `[vxX*|,&\^0-9.+-><=, ~]+`
1616

1717
reName = regexp.MustCompile(srcName)

dependencies_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ func Test_Dependencies_UnmarshalJS(t *testing.T) {
157157
"use k6 with k6/x/foo>v0.1.0";
158158
import "k6/x/dumber";
159159
import hello from "k6/x/hello"
160+
import bar from "k6/x/foo/bar";
160161
let dumb = require("k6/x/dumb");
161162
`))
162163
require.NoError(t, err)
@@ -167,6 +168,7 @@ let dumb = require("k6/x/dumb");
167168
require.Equal(t, "k6/x/dumb*", deps["k6/x/dumb"].String())
168169
require.Equal(t, "k6/x/dumber*", deps["k6/x/dumber"].String())
169170
require.Equal(t, "k6/x/hello*", deps["k6/x/hello"].String())
171+
require.Equal(t, "k6/x/foo/bar*", deps["k6/x/foo/bar"].String())
170172

171173
err = deps.UnmarshalJS([]byte(`"use k6 with k6/x/foo>v0.1.0";
172174
"use k6 with k6/x/dumb>v0.4.0";

examples/combined.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
"use k6 = 0.52";
22
"use k6 with k6/x/faker >= 0.3.0";
3-
"use k6 with k6/x/sql >= 0.4.0";
3+
"use k6 with k6/x/sql >= 1.0.0";
44

55
import faker from "./faker.js";
6-
import sqlite from "./sqlite.js";
6+
import sql from "./sql.js";
77

8-
export { setup, teardown } from "./sqlite.js";
8+
export { setup, teardown } from "./sql.js";
99

1010
export default () => {
1111
faker();
12-
sqlite();
12+
sql();
1313
};

examples/sql.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// source: https://github.com/grafana/xk6-sql/blob/v0.4.0/examples/sqlite3_test.js
2+
import sql from "k6/x/sql";
3+
import driver from "k6/x/sql/driver/ramsql";
4+
5+
const db = sql.open(driver);
6+
7+
export function setup() {
8+
db.exec(`CREATE TABLE IF NOT EXISTS namevalues (
9+
id integer PRIMARY KEY AUTOINCREMENT,
10+
name varchar NOT NULL,
11+
value varchar);`);
12+
}
13+
14+
export function teardown() {
15+
db.close();
16+
}
17+
18+
export default function () {
19+
db.exec("INSERT INTO namevalues (name, value) VALUES('plugin-name', 'k6-plugin-sql');");
20+
21+
let results = db.query("SELECT * FROM namevalues WHERE name = $1;", "plugin-name");
22+
for (const row of results) {
23+
console.log(`name: ${row.name}, value: ${row.value}`);
24+
}
25+
}

examples/sqlite.js

-24
This file was deleted.

releases/v0.1.6.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
k6deps `v0.1.6` is here 🎉!
2+
3+
This release includes:
4+
5+
- Support import path of arbitrary depth (deeper than three levels) (eg `k6/x/foo/bar`). Drivers of the `xk6-sql` extension use 5-level deep imports (eg `k6/x/sql/driver/ramsql`)
6+

0 commit comments

Comments
 (0)