Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: continue temporal support #187

Merged
merged 4 commits into from
Jun 23, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
6 changes: 3 additions & 3 deletions apps/ogre-cli/source/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ const run = async ({name = 'author'}: {name?: string}) => {
r.data.description = 'first description';
await r.commit('initial commit', author);

r.checkout('desc-up', true);
await r.checkout('desc-up', true);
r.data.description = 'some longer different description';
await r.commit('change desc', author);

Expand All @@ -54,8 +54,8 @@ const run = async ({name = 'author'}: {name?: string}) => {
r.data.description = 'yet another correction';
await r.commit('typo fix', author);

r.checkout('main');
r.merge('desc-up');
await r.checkout('main');
await r.merge('desc-up');

const history = r.getHistory();

Expand Down
6 changes: 3 additions & 3 deletions apps/ogre-demo/components/DemoRepo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export const DemoRepo: React.FC<DemoRepoProps> = ({}) => {
r.data.description = "first description";
await r.commit("initial commit", author);

r.checkout("description", true);
await r.checkout("description", true);
r.data.description = "some longer different description";
await r.commit("change desc", author);

Expand All @@ -38,8 +38,8 @@ export const DemoRepo: React.FC<DemoRepoProps> = ({}) => {
r.data.description = "yet another correction";
await r.commit("typo fix", author);

r.checkout("main");
r.merge("description");
await r.checkout("main");
await r.merge("description");

setRepository(r);
};
Expand Down
6 changes: 3 additions & 3 deletions apps/ogre-demo/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ const code = `
r.data.description = 'first description'
await r.commit('initial commit', author)

r.checkout('description', true)
await r.checkout('description', true)
r.data.description = 'some longer different description'
await r.commit('change desc', author)

Expand All @@ -144,8 +144,8 @@ const code = `
r.data.description = 'yet another correction'
await r.commit('typo fix', author)

r.checkout('main')
r.merge('description')
await r.checkout('main')
await r.merge('description')

return r
}
Expand Down
7 changes: 7 additions & 0 deletions packages/ogre/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
"private": false,
"main": "lib/index.js",
"types": "lib/index.d.ts",
"exports": {
".": {
"source": "./src/index.ts",
"import": "./lib/index.js",
"require": "./lib/index.js"
}
},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

Paths specified in "exports" do not exist.

The "source" path (./src/index.ts) and "import/require" path (./lib/index.js) specified in the "exports" field of the package.json file do not exist. This will lead to module resolution errors.

  • ./src/index.ts
  • ./lib/index.js

Please ensure these files are created or update the paths accordingly.

Analysis chain

Validate the new export paths.

The "exports" configuration is added to specify how different modules are resolved. Ensure that the paths provided are correct and the files exist at those locations to prevent module resolution errors.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that the specified paths in the "exports" configuration exist.

# Check source path
if [ ! -f "./src/index.ts" ]; then
  echo "Source path does not exist."
fi

# Check import and require paths
if [ ! -f "./lib/index.js" ]; then
  echo "Import/require path does not exist."
fi

Length of output: 209

"type": "module",
"scripts": {
"build": "tsc -p tsconfig.build.json",
Expand Down
25 changes: 11 additions & 14 deletions packages/ogre/src/checkout.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ test("checkout prev commit", async (t) => {
addOneStep(obj);
await repo.commit("first step", testAuthor);

repo.checkout(headerDataHash);
await repo.checkout(headerDataHash);
const head = repo.head();
const history = repo.getHistory();
t.equal(sumChanges(history.commits), 3, `incorrect # of changelog entries`);
Expand All @@ -38,7 +38,7 @@ test("checkout new branch with simple name", async (t) => {
await repo.commit("simple change", testAuthor);

const ref = repo.createBranch("new_feature");
repo.checkout("new_feature");
await repo.checkout("new_feature");
t.equal(repo.head(), ref, "HEAD is not moved to target branch");
});

Expand All @@ -48,7 +48,7 @@ test("checkout new branch with full ref name", async (t) => {
await repo.commit("simple change", testAuthor);

const ref = repo.createBranch("new_feature");
repo.checkout(ref);
await repo.checkout(ref);
t.equal(repo.head(), ref, "HEAD is not moved to target branch");
});

Expand All @@ -58,7 +58,7 @@ test("checkout commit which has two refs pointing leaves HEAD detached", async (
const commit = await repo.commit("simple change", testAuthor);

repo.createBranch("new_feature");
repo.checkout(commit);
await repo.checkout(commit);
t.equal(repo.ref("refs/heads/main"), commit, "main does not point to commit");
t.equal(
repo.ref("refs/heads/new_feature"),
Expand All @@ -75,14 +75,14 @@ test("checkout new branch moves head to new branch", async (t) => {
await repo.commit("simple change", testAuthor);

const ref = repo.createBranch("new_feature");
repo.checkout("new_feature");
await repo.checkout("new_feature");
t.equal(repo.head(), ref, "HEAD is not moved to target branch");
});

test("checkout and create new branch on empty main", async (t) => {
const [repo] = await getBaseline();

repo.checkout("new_feature", true);
await repo.checkout("new_feature", true);
t.equal(
repo.head(),
"refs/heads/new_feature",
Expand All @@ -96,7 +96,7 @@ test("checkout and create new branch with at least 1 commit", async (t) => {
repo.data.name = "new name";
const commit = await repo.commit("simple change", testAuthor);

repo.checkout("new_feature", true);
await repo.checkout("new_feature", true);
t.equal(
repo.head(),
"refs/heads/new_feature",
Expand All @@ -117,7 +117,7 @@ test("replacing default branch on empty master removes main", async (t) => {

// replacing default main branch by moving HEAD to new branch
// is OK even on empty repo
repo.checkout("new_feature", true);
await repo.checkout("new_feature", true);
const history = repo.getHistory();
t.equal(
sumChanges(history?.commits),
Expand All @@ -129,10 +129,7 @@ test("replacing default branch on empty master removes main", async (t) => {
repo.data.description = "description changed";
await repo.commit("description changes", testAuthor);

t.throws(
() => {
repo.checkout("main");
},
{ message: `pathspec 'main' did not match any known refs` },
);
await t.rejects(repo.checkout("main"), {
message: `pathspec 'main' did not match any known refs`,
});
});
8 changes: 4 additions & 4 deletions packages/ogre/src/commit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ test("changes are available for commit if starting from empty", async (t) => {
const repo = new Repository<ComplexObject>({}, {});
repo.data.name = "some data";

const dirty = repo.status();
const dirty = await repo.status();

t.equal(
dirty.length,
Expand Down Expand Up @@ -222,7 +222,7 @@ test("commit at detached HEAD does not affect main, but moves head", async (t) =
repo.data.description = "new fancy description";
const last = await repo.commit("desc change", testAuthor);

repo.checkout(commit);
await repo.checkout(commit);
t.equal(repo.head(), commit, "HEAD did not move to commit");
t.equal(repo.branch(), "HEAD", "repo is not in detached state");
t.matchOnly(v1, repo.data, "object state does not match");
Expand All @@ -243,7 +243,7 @@ test("commit at detached HEAD saved to a branch", async (t) => {
const commit = await repo.commit("name change", testAuthor);
repo.data.description = "new fancy description";
await repo.commit("desc change", testAuthor);
repo.checkout(commit);
await repo.checkout(commit);

repo.data.description = "a different description";
const commitOnDetached = await repo.commit("msg", testAuthor);
Expand All @@ -262,7 +262,7 @@ test("commit --amend changes hash on message change even in detached HEAD", asyn
const commitToAmend = await repo.commit("name change", testAuthor);
repo.data.description = "desc change";
const descCommit = await repo.commit("desc change", testAuthor);
repo.checkout(commitToAmend);
await repo.checkout(commitToAmend);
const changedHash = await repo.commit("initial setup", testAuthor, true);
t.not(changedHash, commitToAmend, "hash should have changed");
const history = repo.getHistory();
Expand Down
13 changes: 4 additions & 9 deletions packages/ogre/src/merge.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@ test("merge with no commit fails", async (t) => {

repo.createBranch("new_feature");

t.throws(
() => {
repo.merge("new_feature");
},
{ message: "already up to date" },
);
await t.rejects(repo.merge("new_feature"), { message: "already up to date" });
});

test("merge fast-forward", async (t) => {
Expand All @@ -22,7 +17,7 @@ test("merge fast-forward", async (t) => {
await repo.commit("simple change", testAuthor);
const masterCommitCount = repo.getHistory().commits.length;

repo.checkout("new_branch", true);
await repo.checkout("new_branch", true);
repo.data.name = "another name";
const minorHash = await repo.commit("minor change", testAuthor);
t.equal(
Expand All @@ -37,8 +32,8 @@ test("merge fast-forward", async (t) => {
);

// go to destination branch
repo.checkout("main");
const mergeHash = repo.merge("new_branch");
await repo.checkout("main");
const mergeHash = await repo.merge("new_branch");
const headRef = repo.head();
const refHash = repo.ref(headRef);

Expand Down
Loading
Loading