Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 2 additions & 0 deletions plugins/nextjs-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Those following environment variables are injected by this plugin:
| NEXT_PUBLIC_INTERNET_IDENTITY_ID | `rdmx6-jaaaa-aaaaa-aaadq-cai` | `rdmx6-jaaaa-aaaaa-aaadq-cai` |
| NEXT_PUBLIC_ICP_LEDGER_ID | `ryjl3-tyaaa-aaaaa-aaaba-cai` | `ryjl3-tyaaa-aaaaa-aaaba-cai` |
| NEXT_PUBLIC_ICP_INDEX_ID | `qhbym-qaaaa-aaaaa-aaafq-cai` | `qhbym-qaaaa-aaaaa-aaafq-cai` |
| NEXT_PUBLIC_NNS_GOVERNANCE_ID | `rrkah-fqaaa-aaaaa-aaaaq-cai` | `rrkah-fqaaa-aaaaa-aaaaq-cai` |
| NEXT_PUBLIC_CMC_ID | `rkp4c-7iaaa-aaaaa-aaaca-cai` | `rkp4c-7iaaa-aaaaa-aaaca-cai` |

> Variables prefixed with `NEXT_PUBLIC_` are clearly marked for browser availability, but they are injected into the environment ([documentation](https://nextjs.org/docs/pages/api-reference/next-config-js/env)) by the plugin. If you prefer to remove or change this prefix, it is possible using the option `prefix`.

Expand Down
6 changes: 5 additions & 1 deletion plugins/nextjs-plugin/src/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ describe('withJuno', () => {
icpIds: {
internetIdentityId: 'ii-id',
icpLedgerId: 'ledger-id',
icpIndexId: 'index-id'
icpIndexId: 'index-id',
nnsGovernanceId: 'nns-governance-id',
cmcId: 'cmc-id'
},
container: 'http://localhost:1234'
});
Expand All @@ -37,6 +39,8 @@ describe('withJuno', () => {
NEXT_PUBLIC_INTERNET_IDENTITY_ID: 'ii-id',
NEXT_PUBLIC_ICP_LEDGER_ID: 'ledger-id',
NEXT_PUBLIC_ICP_INDEX_ID: 'index-id',
NEXT_PUBLIC_NNS_GOVERNANCE_ID: 'nns-governance-id',
NEXT_PUBLIC_CMC_ID: 'cmc-id',
NEXT_PUBLIC_CONTAINER: 'http://localhost:1234'
}
});
Expand Down
6 changes: 6 additions & 0 deletions plugins/nextjs-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ export const withJuno = async (params?: {
...(icpIds?.icpIndexId !== undefined && {
[`${prefix}ICP_INDEX_ID`]: icpIds.icpIndexId
}),
...(icpIds?.nnsGovernanceId !== undefined && {
[`${prefix}NNS_GOVERNANCE_ID`]: icpIds.nnsGovernanceId
}),
...(icpIds?.cmcId !== undefined && {
[`${prefix}CMC_ID`]: icpIds.cmcId
}),
...(container !== undefined && {
[`${prefix}CONTAINER`]: container
})
Expand Down
8 changes: 6 additions & 2 deletions plugins/plugin-tools/src/config.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ import {
useDockerContainer
} from './config';
import {
CMC_ID,
DOCKER_SATELLITE_ID,
ICP_INDEX_ID,
ICP_LEDGER_ID,
INTERNET_IDENTITY_ID,
MODE_DEVELOPMENT
MODE_DEVELOPMENT,
NNS_GOVERNANCE_ID
} from './constants';
import {JunoPluginError} from './error';

Expand Down Expand Up @@ -216,7 +218,9 @@ describe('config', () => {
expect(icpIds()).toEqual({
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
icpIndexId: ICP_INDEX_ID,
nnsGovernanceId: NNS_GOVERNANCE_ID,
cmcId: CMC_ID
});
});
});
Expand Down
8 changes: 6 additions & 2 deletions plugins/plugin-tools/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import {
type ConfigFilename
} from '@junobuild/config-loader';
import {
CMC_ID,
DOCKER_CONTAINER_URL,
DOCKER_SATELLITE_ID,
ICP_INDEX_ID,
ICP_LEDGER_ID,
INTERNET_IDENTITY_ID,
MODE_DEVELOPMENT
MODE_DEVELOPMENT,
NNS_GOVERNANCE_ID
} from './constants';
import {JunoPluginError} from './error';
import type {ConfigArgs, IcpIds, JunoParams} from './types';
Expand Down Expand Up @@ -76,7 +78,9 @@ export const orbiterId = async (args: ConfigArgs): Promise<string | undefined> =
export const icpIds = (): IcpIds | undefined => ({
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
icpIndexId: ICP_INDEX_ID,
nnsGovernanceId: NNS_GOVERNANCE_ID,
cmcId: CMC_ID
});

export const container = ({
Expand Down
2 changes: 2 additions & 0 deletions plugins/plugin-tools/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ export const DOCKER_SATELLITE_ID = 'jx5yt-yyaaa-aaaal-abzbq-cai';
export const INTERNET_IDENTITY_ID = 'rdmx6-jaaaa-aaaaa-aaadq-cai';
export const ICP_LEDGER_ID = 'ryjl3-tyaaa-aaaaa-aaaba-cai';
export const ICP_INDEX_ID = 'qhbym-qaaaa-aaaaa-aaafq-cai';
export const NNS_GOVERNANCE_ID = 'rrkah-fqaaa-aaaaa-aaaaq-cai';
export const CMC_ID = 'rkp4c-7iaaa-aaaaa-aaaca-cai';
48 changes: 17 additions & 31 deletions plugins/plugin-tools/src/init.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ import type {JunoConfig} from '@junobuild/config';
import * as configLoader from '@junobuild/config-loader';
import {type MockInstance, beforeEach, describe, expect, it, vi} from 'vitest';
import {
CMC_ID,
DOCKER_CONTAINER_URL,
DOCKER_SATELLITE_ID,
ICP_INDEX_ID,
ICP_LEDGER_ID,
INTERNET_IDENTITY_ID,
MODE_DEVELOPMENT
MODE_DEVELOPMENT,
NNS_GOVERNANCE_ID
} from './constants';
import {initConfig} from './init';
import type {ConfigArgs} from './types';
Expand All @@ -31,6 +33,14 @@ describe('init', () => {
mode: 'production'
};

const expectedIcpIds = {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID,
nnsGovernanceId: NNS_GOVERNANCE_ID,
cmcId: CMC_ID
};

let spyJunoConfigExist: MockInstance;
let spyReadJunoConfig: MockInstance;

Expand All @@ -55,11 +65,7 @@ describe('init', () => {
expect(result).toEqual({
orbiterId: undefined,
satelliteId: DOCKER_SATELLITE_ID,
icpIds: {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
},
icpIds: expectedIcpIds,
container: DOCKER_CONTAINER_URL
});

Expand All @@ -73,11 +79,7 @@ describe('init', () => {
expect(result).toEqual({
satelliteId: 'mock-satellite-id',
orbiterId: 'mock-orbiter-id',
icpIds: {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
},
icpIds: expectedIcpIds,
container: undefined
});

Expand All @@ -97,11 +99,7 @@ describe('init', () => {
expect(result).toEqual({
orbiterId: undefined,
satelliteId: DOCKER_SATELLITE_ID,
icpIds: {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
},
icpIds: expectedIcpIds,
container: DOCKER_CONTAINER_URL
});

Expand All @@ -120,11 +118,7 @@ describe('init', () => {
expect(result).toEqual({
satelliteId: DOCKER_SATELLITE_ID,
orbiterId: undefined,
icpIds: {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
},
icpIds: expectedIcpIds,
container: DOCKER_CONTAINER_URL
});

Expand All @@ -141,11 +135,7 @@ describe('init', () => {
expect(result).toEqual({
satelliteId: 'mock-satellite-id',
orbiterId: 'mock-orbiter-id',
icpIds: {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
},
icpIds: expectedIcpIds,
container: undefined
});

Expand All @@ -167,11 +157,7 @@ describe('init', () => {
expect(result).toEqual({
satelliteId: 'custom-docker-id',
orbiterId: undefined,
icpIds: {
internetIdentityId: INTERNET_IDENTITY_ID,
icpLedgerId: ICP_LEDGER_ID,
icpIndexId: ICP_INDEX_ID
},
icpIds: expectedIcpIds,
container: DOCKER_CONTAINER_URL
});

Expand Down
12 changes: 12 additions & 0 deletions plugins/plugin-tools/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,16 @@ export interface IcpIds {
* @type {string}
*/
icpIndexId: string;

/**
* The NNS Governance ID.
* @type {string}
*/
nnsGovernanceId: string;

/**
* The CMC (Cycles Minting) ID.
* @type {string}
*/
cmcId: string;
}
2 changes: 2 additions & 0 deletions plugins/vite-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Those following environment variables are injected by this plugin:
| VITE_INTERNET_IDENTITY_ID | `rdmx6-jaaaa-aaaaa-aaadq-cai` | `rdmx6-jaaaa-aaaaa-aaadq-cai` |
| VITE_ICP_LEDGER_ID | `ryjl3-tyaaa-aaaaa-aaaba-cai` | `ryjl3-tyaaa-aaaaa-aaaba-cai` |
| VITE_ICP_INDEX_ID | `qhbym-qaaaa-aaaaa-aaafq-cai` | `qhbym-qaaaa-aaaaa-aaafq-cai` |
| VITE_NNS_GOVERNANCE_ID | `rrkah-fqaaa-aaaaa-aaaaq-cai` | `rrkah-fqaaa-aaaaa-aaaaq-cai` |
| VITE_CMC_ID | `rkp4c-7iaaa-aaaaa-aaaca-cai` | `rkp4c-7iaaa-aaaaa-aaaca-cai` |

> `VITE_` is the default prefix used by Vite. It can be customized as described in Vite's [documentation](https://vitejs.dev/guide/env-and-mode).

Expand Down
6 changes: 5 additions & 1 deletion plugins/vite-plugin/src/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ describe('vite-plugin-juno', () => {
icpIds: {
internetIdentityId: 'ii-id',
icpLedgerId: 'ledger-id',
icpIndexId: 'index-id'
icpIndexId: 'index-id',
nnsGovernanceId: 'nns-governance-id',
cmcId: 'cmc-id'
},
container: 'http://localhost:1234'
});
Expand All @@ -40,6 +42,8 @@ describe('vite-plugin-juno', () => {
'import.meta.env.VITE_INTERNET_IDENTITY_ID': JSON.stringify('ii-id'),
'import.meta.env.VITE_ICP_LEDGER_ID': JSON.stringify('ledger-id'),
'import.meta.env.VITE_ICP_INDEX_ID': JSON.stringify('index-id'),
'import.meta.env.VITE_NNS_GOVERNANCE_ID': JSON.stringify('nns-governance-id'),
'import.meta.env.VITE_CMC_ID': JSON.stringify('cmc-id'),
'import.meta.env.VITE_CONTAINER': JSON.stringify('http://localhost:1234')
}
});
Expand Down
6 changes: 6 additions & 0 deletions plugins/vite-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ export default function Juno(params?: JunoParams): Plugin {
...(icpIds?.icpIndexId !== undefined && {
[`${prefix}ICP_INDEX_ID`]: JSON.stringify(icpIds.icpIndexId)
}),
...(icpIds?.nnsGovernanceId !== undefined && {
[`${prefix}NNS_GOVERNANCE_ID`]: JSON.stringify(icpIds.nnsGovernanceId)
}),
...(icpIds?.cmcId !== undefined && {
[`${prefix}CMC_ID`]: JSON.stringify(icpIds.cmcId)
}),
...(container !== undefined && {
[`${prefix}CONTAINER`]: JSON.stringify(container)
})
Expand Down