Skip to content

Release 2.0 - #1406

Draft
srosset81 wants to merge 188 commits into
masterfrom
2.0
Draft

srosset81 wants to merge 188 commits into
masterfrom
2.0

Conversation

@srosset81

@srosset81 srosset81 commented Jul 10, 2025

Copy link
Copy Markdown
Contributor

Migration

First migrate to Fuseki 5:

  • Export all datasets from Fuseki 3 using the backup function
  • Delete the directory with Fuseki 3 data
  • Upgrade to Fuseki 5
  • Import all backups into Fuseki 5

Import the V20MigrationService from the @semapps/migration package:

import path from 'path';
import { V20MigrationService } from '@semapps/migration';
export default {
  mixins: [V20MigrationService],
  settings: {
    baseUrl: 'http://localhost:3000',
    baseDir: path.resolve(__dirname, '..') // This may change based on your directory structure
  }
}

Import the RedirectService from the @semapps/migration package:

import { RedirectService } from '@semapps/migration';
export default {
  mixins: [RedirectService],
  settings: {
    baseUrl: 'http://localhost:3000',
    redisUrl: 'redis://localhost:6379/3'
  }
}

Run the following the following commands from Moleculer REPL:

call migration-2-0-0.migrate --dataset *

(You can migrate only a single dataset by providing its ID instead of *)

srosset81 and others added 30 commits January 8, 2026 18:23
…triplestore initialization with environmentalized settings. Add new dependencies in package.json for improved test functionality.
… include new Nextgraph initialization parameters and adjust port mappings for improved functionality.
…ee-virtuelle/semapps into feature/nextgraph-integration-ts
…ntegration-ts

Fuseki 5 & Nextgraph Integration
`ServiceSchema`, `ActionSchema`, `Middleware`, `ServiceSettingSchema` and
`CallingOptions` are types, but were imported as values. That is invisible to
tsc, which erases them anyway, but it breaks any consumer that loads these
sources directly: Node's type stripping performs no type analysis, so it emits
the import verbatim, and `moleculer` being CommonJS the named export does not
exist — `SyntaxError: The requested module 'moleculer' does not provide an
export named 'ServiceSchema'`.

That is what stops the ActivityPods Pod provider from running against linked
semapps sources, where `main` points at `./index.ts`.

Only genuinely type-only names are converted; `Errors`, `defineAction`,
`Context` and `Cachers` exist at runtime and stay value imports. Mixed imports
are split in two. `tsc --noEmit` reports the same 1569 errors before and after.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Brings in everything master had up to the "Allow apps to issue VCs" fix.

Conflict resolutions:
- `.yarnrc.yml`: kept 2.0's deletion. 2.0 pins `packageManager: yarn@1.22.22`,
  which supersedes master's `yarnPath` indirection to a bundled yarn classic.
- `package.json`: kept 2.0's `packageManager`, for the same reason.
- `crypto/verifiable-credentials/{issuer,holder}.ts`: took master's side of each
  hunk, i.e. the VC signer fix, applied onto the files 2.0 renamed them to.
- `yarn.lock`: kept 2.0's, the two branches using different yarn majors makes a
  textual merge meaningless. Regenerate with `yarn install`.

The `import type` commit on master's tip is deliberately left out here: merging
it turned 5 conflicts into 126, since it touches the same import lines that 2.0
has rewritten. It is applied separately on this branch instead.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Same change as on master, applied here directly rather than merged: it touches
the very import lines 2.0 has rewritten, so merging it across turned 5 conflicts
into 126.

`ServiceSchema`, `ActionSchema`, `Middleware`, `ServiceSettingSchema` and
`CallingOptions` are types imported as values. tsc erases them either way, but
Node's type stripping performs no type analysis and emits the import verbatim —
and `moleculer` being CommonJS, the named export does not exist. That is what
stops the ActivityPods Pod provider from running against linked semapps sources,
where `main` points at `./index.ts`.

`Errors`, `defineAction`, `Context` and `Cachers` exist at runtime and stay value
imports. `tsc --noEmit` reports the same 293 errors before and after.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Recorded with `-s ours`: master's tip adds nothing beyond a274413 except the
`import type` conversion, and the equivalent change was already applied on this
branch directly (4f72e9b). Verified: `git diff a274413..master` touches only
`import … from 'moleculer'` lines.

Merging it textually instead produced 122 conflicts, because 2.0 has rewritten
the surrounding code — with no content to gain from resolving them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants