chore: harden repository guardrails
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
import { calendar } from "../../../modules/calendar/src/index.js";
|
||||
|
||||
export const invalidAppFeature = calendar;
|
||||
@@ -0,0 +1 @@
|
||||
export const calendar = "calendar";
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { calendar } from "../../../modules/calendar/src/index.js";
|
||||
|
||||
export const invalidBuilderFeature = calendar;
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const calendar = "calendar";
|
||||
@@ -0,0 +1 @@
|
||||
export const core = "core";
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { core } from "../../../core/src/index.js";
|
||||
|
||||
export const invalidContract = core;
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/core",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/contracts": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { contract } from "../../packages/contracts/src/index.js";
|
||||
|
||||
export const invalidPrivatePath = contract;
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/contracts",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const contract = "contract";
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { website } from "../../../surfaces/website/src/index.js";
|
||||
|
||||
export const invalidSurfaceDependency = website;
|
||||
@@ -0,0 +1 @@
|
||||
export const website = "website";
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/duplicate",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "tooling"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const one = 1;
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/duplicate",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "tooling"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const two = 2;
|
||||
@@ -0,0 +1,3 @@
|
||||
import { installedModules } from "../../../generated/module-registry.js";
|
||||
|
||||
export const bootstrap = installedModules;
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { calendar } from "../modules/calendar/src/index.js";
|
||||
|
||||
export const installedModules = [calendar];
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const calendar = "calendar";
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@ekklesia/conditional",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
"types": "./src/index.ts",
|
||||
"import": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "shared"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const conditional = "conditional";
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "@ekklesia/consumer",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/conditional": "workspace:*",
|
||||
"@ekklesia/contracts": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "shared"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import type { HealthContract } from "@ekklesia/contracts";
|
||||
import { conditional } from "@ekklesia/conditional";
|
||||
import {
|
||||
publicValue,
|
||||
} from "@ekklesia/contracts/public/value";
|
||||
|
||||
export const health: HealthContract = { status: "ok" };
|
||||
export { conditional };
|
||||
export { publicValue };
|
||||
@@ -3,7 +3,8 @@
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
".": "./src/index.ts",
|
||||
"./public/*": "./src/public/*.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export const publicValue = "public";
|
||||
@@ -0,0 +1 @@
|
||||
<main>Modules do not own UI.</main>
|
||||
@@ -0,0 +1 @@
|
||||
export const core = "core";
|
||||
@@ -0,0 +1,3 @@
|
||||
import { core } from "../../../core/src/index.js";
|
||||
|
||||
export const invalidCoreImport = core;
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/module-calendar",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/ui": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { button } from "@ekklesia/ui";
|
||||
|
||||
export const invalidModuleUiDependency = button;
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/ui",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "ui"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const button = "button";
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@ekklesia/module-calendar",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"compat": "npm:[email protected]",
|
||||
"preact": "10.27.2"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { h } from "preact";
|
||||
|
||||
export const invalidUiFramework = h;
|
||||
@@ -0,0 +1 @@
|
||||
# Modules do not own views
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "@ekklesia/core",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/contracts": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ekklesia/testing": "1.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@ekklesia/module-sdk": "~1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ekklesia/surface-sdk": ">=1.0.0"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const core = "core";
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/contracts",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const contract = "contract";
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/module-sdk",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "module-sdk"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const moduleSdk = "module-sdk";
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/surface-sdk",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "surface-sdk"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const surfaceSdk = "surface-sdk";
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/testing",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "testing"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const testing = "testing";
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/module-calendar",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/surface-dashboard": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const calendar = "calendar";
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "@ekklesia/surface-dashboard",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const dashboard = "dashboard";
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "@ekklesia/one",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/two": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "shared"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const one = 1;
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "@ekklesia/two",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/one": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "shared"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const two = 2;
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/core",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/contracts": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { contract } from "@ekklesia/contracts";
|
||||
|
||||
export const invalidImport = contract;
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "@ekklesia/contracts",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const contract = "contract";
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/core",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/contracts": "workspace:*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { privateValue } from "@ekklesia/contracts/abcdzz";
|
||||
|
||||
export const invalidPrivateImport = privateValue;
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "@ekklesia/contracts",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts",
|
||||
"./a*cdzz": "./src/index.ts",
|
||||
"./ab*zz": null
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const privateValue = "private";
|
||||
@@ -0,0 +1 @@
|
||||
export const core = "core";
|
||||
@@ -0,0 +1,3 @@
|
||||
import { core } from "../../../core/src/index.js";
|
||||
|
||||
export const invalidSdk = core;
|
||||
@@ -0,0 +1,3 @@
|
||||
import { moduleSdk } from "../../module-sdk/src/index.js";
|
||||
|
||||
export const invalidContractDependency = moduleSdk;
|
||||
@@ -0,0 +1,3 @@
|
||||
import { surfaceSdk } from "../../surface-sdk/src/index.js";
|
||||
|
||||
export const moduleSdk = surfaceSdk;
|
||||
@@ -0,0 +1 @@
|
||||
export const surfaceSdk = "surface-sdk";
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const calendar = "calendar";
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { calendar } from "../../../modules/calendar/src/index.js";
|
||||
|
||||
export const invalidSurfaceFeature = calendar;
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/consumer",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "shared"
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { contract } from "@ekklesia/contracts";
|
||||
|
||||
export const invalidUndeclaredDependency = contract;
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/contracts",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const contract = "contract";
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/mystery",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "mystery"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const mystery = "mystery";
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@ekklesia/module-calendar",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@ekklesia/contracts": "workspace:@ekklesia/surface-dashboard@*",
|
||||
"dashboard-data": "workspace:@ekklesia/surface-dashboard@*"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { dashboard } from "dashboard-data";
|
||||
import { hiddenDashboard } from "@ekklesia/contracts";
|
||||
|
||||
export const invalidAlias = [dashboard, hiddenDashboard];
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/contracts",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"ekklesia": {
|
||||
"layer": "contracts"
|
||||
},
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const hiddenDashboard = "contracts";
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "@ekklesia/surface-dashboard",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const dashboard = "dashboard";
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "@ekklesia/included",
|
||||
"version": "0.0.0",
|
||||
"type": "module"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const excluded = true;
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/included",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "tooling"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const included = true;
|
||||
@@ -0,0 +1,3 @@
|
||||
packages:
|
||||
- "packages/*"
|
||||
- "!packages/excluded"
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "@ekklesia/example",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"ekklesia": {
|
||||
"layer": "tooling"
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export const example = true;
|
||||
@@ -0,0 +1,2 @@
|
||||
packages:
|
||||
- "packages/{example,other}"
|
||||
Reference in New Issue
Block a user