@casomoltd/tooling 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/identity/index.d.mts +14 -0
- package/identity/index.mjs +6 -1
- package/identity/organization.mjs +37 -6
- package/package.json +21 -21
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Shared linting, formatting, commit config, and CLI tools for Casomo Ltd's repos.
|
|
|
15
15
|
| `@casomoltd/tooling/knip` | Knip config for unused exports/dependencies |
|
|
16
16
|
| `@casomoltd/tooling/jscpd` | Copy-paste detection config |
|
|
17
17
|
| `@casomoltd/tooling/readability` | `scoreText()` — readability scoring for page content |
|
|
18
|
-
| `@casomoltd/tooling/identity` | `CASOMO_ORGANIZATION`, the schema.org `Organization
|
|
18
|
+
| `@casomoltd/tooling/identity` | `CASOMO_ORGANIZATION`, the schema.org `Organization`, logo included, that every Casomo site names as publisher in its JSON-LD; and the company's public registrations, `COMPANY_REGISTER`, `ICO_REGISTER` and `REGISTERED_OFFICE` ([types](identity/index.d.mts)). App code imports it at build time, so a site that installs only production dependencies at runtime lists the package under `dependencies` |
|
|
19
19
|
| `@casomoltd/tooling/buttondown` | For a repo using the `buttondown` command: the shared email blocks and skins (`createEmailBlocks`, `emailBaseCss`, `composeWebSkin`), `tokenReader()`, `loadSettings()` and `buildPayload()`, and `EMAIL_CHROME_HIDES` and `WEB_CHROME_HIDES` ([docs/buttondown.md](docs/buttondown.md)) |
|
|
20
20
|
|
|
21
21
|
### Bin commands
|
package/identity/index.d.mts
CHANGED
|
@@ -8,7 +8,21 @@ export interface CasomoOrganization {
|
|
|
8
8
|
readonly "@id": string;
|
|
9
9
|
readonly name: string;
|
|
10
10
|
readonly url: string;
|
|
11
|
+
readonly logo: string;
|
|
11
12
|
readonly sameAs: readonly string[];
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export declare const CASOMO_ORGANIZATION: CasomoOrganization;
|
|
16
|
+
|
|
17
|
+
/** An entry on a public register: its number, and the page that shows it. */
|
|
18
|
+
export interface Registration {
|
|
19
|
+
readonly number: string;
|
|
20
|
+
readonly url: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** The company's Companies House record. */
|
|
24
|
+
export declare const COMPANY_REGISTER: Registration;
|
|
25
|
+
/** The company's registration with the ICO, as a data controller. */
|
|
26
|
+
export declare const ICO_REGISTER: Registration;
|
|
27
|
+
/** The company's registered office, as Companies House holds it. */
|
|
28
|
+
export declare const REGISTERED_OFFICE: string;
|
package/identity/index.mjs
CHANGED
|
@@ -3,4 +3,9 @@
|
|
|
3
3
|
* lives in organization.mjs, where the typecheck can read it against the
|
|
4
4
|
* declaration here; beside a .d.mts, TypeScript would skip it.
|
|
5
5
|
*/
|
|
6
|
-
export {
|
|
6
|
+
export {
|
|
7
|
+
CASOMO_ORGANIZATION,
|
|
8
|
+
COMPANY_REGISTER,
|
|
9
|
+
ICO_REGISTER,
|
|
10
|
+
REGISTERED_OFFICE,
|
|
11
|
+
} from "./organization.mjs";
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Casomo Ltd
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Casomo Ltd's public identity, which every Casomo site imports rather than
|
|
3
|
+
* typing its own, so no two sites can disagree about the company. Here are the
|
|
4
|
+
* schema.org `Organization` every site names in its JSON-LD, whose `sameAs`
|
|
5
|
+
* ties them all to the same profiles, and the company's entries on the public
|
|
6
|
+
* registers, each by its number and the page that shows it.
|
|
6
7
|
*
|
|
7
|
-
* Public facts only: the company's name
|
|
8
|
-
*
|
|
8
|
+
* Public facts only: the company's name, its mark, the public addresses it
|
|
9
|
+
* is known by, and its public registrations. A person, such as an article's
|
|
10
|
+
* author, stays with the site.
|
|
9
11
|
*/
|
|
10
12
|
const SITE = "https://casomoltd.com";
|
|
11
13
|
|
|
@@ -16,9 +18,38 @@ export const CASOMO_ORGANIZATION = Object.freeze({
|
|
|
16
18
|
"@id": `${SITE}/#organization`,
|
|
17
19
|
name: "Casomo Ltd",
|
|
18
20
|
url: SITE,
|
|
21
|
+
// The company's mark, as its own site serves it. Each site keeps its own
|
|
22
|
+
// favicon and palette; this is the one logo the company is known by.
|
|
23
|
+
logo: `${SITE}/assets/icon.svg`,
|
|
19
24
|
sameAs: Object.freeze([
|
|
20
25
|
"https://casomo.co.uk",
|
|
21
26
|
"https://www.facebook.com/casomouk",
|
|
22
27
|
"https://www.linkedin.com/company/111967567/",
|
|
23
28
|
]),
|
|
24
29
|
});
|
|
30
|
+
|
|
31
|
+
const COMPANY_NUMBER = "15030496";
|
|
32
|
+
/**
|
|
33
|
+
* The company's Companies House record.
|
|
34
|
+
* @type {import("./index.d.mts").Registration}
|
|
35
|
+
*/
|
|
36
|
+
export const COMPANY_REGISTER = Object.freeze({
|
|
37
|
+
number: COMPANY_NUMBER,
|
|
38
|
+
url:
|
|
39
|
+
"https://find-and-update.company-information.service.gov.uk"
|
|
40
|
+
+ `/company/${COMPANY_NUMBER}`,
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const ICO_NUMBER = "ZC219565";
|
|
44
|
+
/**
|
|
45
|
+
* The company's registration with the ICO, as a data controller.
|
|
46
|
+
* @type {import("./index.d.mts").Registration}
|
|
47
|
+
*/
|
|
48
|
+
export const ICO_REGISTER = Object.freeze({
|
|
49
|
+
number: ICO_NUMBER,
|
|
50
|
+
url: `https://ico.org.uk/ESDWebPages/Entry/${ICO_NUMBER}`,
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
/** The company's registered office, as Companies House holds it. */
|
|
54
|
+
export const REGISTERED_OFFICE =
|
|
55
|
+
"71-75 Shelton Street, Covent Garden, London, WC2H 9JQ";
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@casomoltd/tooling",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "Casomo's shared dev config: ESLint, Prettier, commitlint, knip & jscpd presets, dev CLIs (git hooks, readability, screenshots, design specs), and the build-time data and helpers sites import (the Buttondown engine, the shared Organization)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/casomoltd/tooling.git"
|
|
8
|
+
"url": "git+https://github.com/casomoltd/tooling.git"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"bin/",
|
|
@@ -60,24 +60,24 @@
|
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
"bin": {
|
|
63
|
-
"build-report": "
|
|
64
|
-
"buttondown": "
|
|
65
|
-
"check-gates": "
|
|
66
|
-
"check-hooks": "
|
|
67
|
-
"check-listed-files": "
|
|
68
|
-
"check-linear": "
|
|
69
|
-
"check-personal-data": "
|
|
70
|
-
"check-private-refs": "
|
|
71
|
-
"check-routes": "
|
|
72
|
-
"check-tags": "
|
|
73
|
-
"check-version": "
|
|
74
|
-
"commit-msg": "
|
|
75
|
-
"pre-commit": "
|
|
76
|
-
"pre-push": "
|
|
77
|
-
"readability": "
|
|
78
|
-
"render-figures": "
|
|
79
|
-
"screenshot": "
|
|
80
|
-
"spec-check": "
|
|
63
|
+
"build-report": "bin/build-report.mjs",
|
|
64
|
+
"buttondown": "bin/buttondown.mjs",
|
|
65
|
+
"check-gates": "bin/check-gates.mjs",
|
|
66
|
+
"check-hooks": "bin/check-hooks.sh",
|
|
67
|
+
"check-listed-files": "bin/check-listed-files.mjs",
|
|
68
|
+
"check-linear": "bin/check-linear.sh",
|
|
69
|
+
"check-personal-data": "bin/check-personal-data.mjs",
|
|
70
|
+
"check-private-refs": "bin/check-private-refs.mjs",
|
|
71
|
+
"check-routes": "bin/check-routes.mjs",
|
|
72
|
+
"check-tags": "bin/check-tags.sh",
|
|
73
|
+
"check-version": "bin/check-version.sh",
|
|
74
|
+
"commit-msg": "bin/commit-msg.sh",
|
|
75
|
+
"pre-commit": "bin/pre-commit.sh",
|
|
76
|
+
"pre-push": "bin/pre-push.sh",
|
|
77
|
+
"readability": "bin/readability.mjs",
|
|
78
|
+
"render-figures": "bin/render-figures.mjs",
|
|
79
|
+
"screenshot": "bin/screenshot.mjs",
|
|
80
|
+
"spec-check": "bin/spec-check.mjs"
|
|
81
81
|
},
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"access": "public"
|
|
@@ -108,10 +108,10 @@
|
|
|
108
108
|
"typescript-eslint": "^8.72.0"
|
|
109
109
|
},
|
|
110
110
|
"overrides": {
|
|
111
|
+
"minimatch": ">=11.0.1",
|
|
111
112
|
"remark-lint-frontmatter-schema": {
|
|
112
113
|
"@apidevtools/json-schema-ref-parser": "^11.1.1",
|
|
113
114
|
"ajv": "^8.18.0",
|
|
114
|
-
"minimatch": "^9.0.7",
|
|
115
115
|
"yaml": "^2.8.3"
|
|
116
116
|
}
|
|
117
117
|
}
|