@studyportals/fawkes 8.7.2 → 9.0.1-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 +176 -176
- package/dist/sitemap-generator-seo/index.d.ts +1 -1
- package/dist/src/common/FilterKeyToFilterTypeMap.d.ts +2 -0
- package/dist/src/common/FilterKeyToFilterTypeMap.js +14 -0
- package/dist/src/common/FilterTypeMap.d.ts +2 -0
- package/dist/src/common/FilterTypeMap.js +1 -0
- package/dist/src/organisations/SearchIndexabilityManager.js +1 -2
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +1 -1
- package/dist/src/organisations/policies/index.d.ts +0 -1
- package/dist/src/organisations/policies/index.js +0 -1
- package/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +1 -1
- package/dist/src/organisations/policies/our-picks/AreaAttendance.js +16 -14
- package/dist/src/organisations/policies/our-picks/CountryAttendance.js +15 -13
- package/dist/src/organisations/policies/ranked/RankedArea.js +1 -1
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.d.ts +1 -0
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +1 -0
- package/dist/src/organisations/policies/ranked/RankedAttendance.js +3 -1
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +2 -1
- package/dist/src/organisations/policies/ranked/RankedContinent.js +3 -1
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +15 -13
- package/dist/src/organisations/policies/ranked/RankedCountry.js +3 -1
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +1 -0
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +30 -14
- package/dist/src/organisations/policies/ranked/RankedDiscipline.js +14 -8
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +10 -4
- package/dist/src/organisations/rules/MinimumAmountOfRankedResultsRule.d.ts +3 -4
- package/dist/src/organisations/rules/MinimumAmountOfRankedResultsRule.js +12 -8
- package/dist/src/organisations/types/IOrganisationsSitemapDependencies.d.ts +0 -2
- package/dist/src/programmes/policies/CountryAttendanceDegree.js +1 -1
- package/dist/src/programmes/policies/CountryDurationDegree.js +1 -1
- package/dist/src/programmes/policies/CountryEducationalForm.js +1 -1
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +6 -6
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +1 -1
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +6 -6
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +5 -5
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +1 -1
- package/dist/src/programmes/policies/DisciplineEducationalForm.js +1 -1
- package/dist/src/scholarships/SearchIndexabilityManager.d.ts +2 -1
- package/dist/src/scholarships/SearchIndexabilityManager.js +3 -2
- package/dist/src/scholarships/policies/Area.d.ts +4 -5
- package/dist/src/scholarships/policies/Area.js +14 -7
- package/dist/src/scholarships/policies/DisciplineCountry.d.ts +4 -4
- package/dist/src/scholarships/policies/DisciplineCountry.js +15 -6
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +2 -0
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +4 -0
- package/dist/src/scholarships/policies/UniversityCountry.d.ts +5 -3
- package/dist/src/scholarships/policies/UniversityCountry.js +17 -5
- package/dist/src/scholarships/rules/NotOnPortalsRule.d.ts +12 -0
- package/dist/src/scholarships/rules/NotOnPortalsRule.js +24 -0
- package/dist/src/scholarships/rules/OnlyCountriesDisciplineCountryRule.d.ts +13 -0
- package/dist/src/scholarships/rules/OnlyCountriesDisciplineCountryRule.js +40 -0
- package/dist/src/scholarships/types/IScholarshipSearchDependencies.d.ts +5 -0
- package/dist/src/scholarships/types/IScholarshipSearchDependencies.js +1 -0
- package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +2 -2
- package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +2 -0
- package/dist/src/sitemap-generator/ISearchApiClient.d.ts +1 -0
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +1 -2
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +2 -4
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +2 -1
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +3 -2
- package/package.json +106 -105
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IRule } from "../../common/IRule";
|
|
2
|
+
import { ISearchDependencies } from "../../common/ISearchDependencies";
|
|
3
|
+
import { FilterKeyValuesMap } from "../../../sitemap-generator-seo";
|
|
4
|
+
export declare class OnlyCountriesDisciplineCountryRule implements IRule {
|
|
5
|
+
private readonly countryFilterKey;
|
|
6
|
+
private readonly allowedCountryIsos;
|
|
7
|
+
private allowedCountryIds?;
|
|
8
|
+
getName(): string;
|
|
9
|
+
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
10
|
+
forSitemapGenerator(filterKeyValues: FilterKeyValuesMap): Promise<boolean>;
|
|
11
|
+
private getAllowedCountryIds;
|
|
12
|
+
getDescription(): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { FilterKey } from "@studyportals/search-filters/server-side";
|
|
2
|
+
import { CountryPresenter } from "../../presenters/CountryPresenter";
|
|
3
|
+
export class OnlyCountriesDisciplineCountryRule {
|
|
4
|
+
countryFilterKey = FilterKey.COUNTRY;
|
|
5
|
+
allowedCountryIsos = ['AU', 'CA', 'CN', 'FR', 'DE', 'IN', 'IE', 'IT', 'JP', 'MY', 'NL', 'NZ', 'SG', 'KR', 'CH', 'GB', 'US'];
|
|
6
|
+
allowedCountryIds;
|
|
7
|
+
getName() {
|
|
8
|
+
return 'OnlyCountriesDisciplineCountryRule';
|
|
9
|
+
}
|
|
10
|
+
forSearch(dependencies) {
|
|
11
|
+
const selectedCountry = dependencies.seoInfoBase.getFilterOptionValueBy(this.countryFilterKey, dependencies.filterState);
|
|
12
|
+
if (!selectedCountry) {
|
|
13
|
+
return Promise.resolve(false);
|
|
14
|
+
}
|
|
15
|
+
return Promise.resolve(this.getAllowedCountryIds().has(selectedCountry));
|
|
16
|
+
}
|
|
17
|
+
forSitemapGenerator(filterKeyValues) {
|
|
18
|
+
const selectedCountries = filterKeyValues.get(FilterKey.COUNTRY);
|
|
19
|
+
if (!selectedCountries || selectedCountries.length !== 1) {
|
|
20
|
+
return Promise.resolve(false);
|
|
21
|
+
}
|
|
22
|
+
const selectedCountry = selectedCountries[0];
|
|
23
|
+
if (!selectedCountry) {
|
|
24
|
+
return Promise.resolve(false);
|
|
25
|
+
}
|
|
26
|
+
return Promise.resolve(this.getAllowedCountryIds().has(selectedCountry));
|
|
27
|
+
}
|
|
28
|
+
getAllowedCountryIds() {
|
|
29
|
+
if (!this.allowedCountryIds) {
|
|
30
|
+
this.allowedCountryIds = new Set(CountryPresenter.getInstance()
|
|
31
|
+
.getFragments()
|
|
32
|
+
.filter((country) => this.allowedCountryIsos.includes(country.iso))
|
|
33
|
+
.map((country) => country.id));
|
|
34
|
+
}
|
|
35
|
+
return this.allowedCountryIds;
|
|
36
|
+
}
|
|
37
|
+
getDescription() {
|
|
38
|
+
return 'Country is one of the allowed countries for discipline and country pages';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IScholarshipSearchDependencies } from './IScholarshipSearchDependencies';
|
|
2
2
|
import { IScholarshipSitemapDependencies } from './IScholarshipSitemapDependencies';
|
|
3
|
-
export type IScholarshipSeoDependencies =
|
|
3
|
+
export type IScholarshipSeoDependencies = IScholarshipSearchDependencies | IScholarshipSitemapDependencies;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ISitemapDependencies } from '../../common/ISitemapDependencies';
|
|
2
2
|
import { IOrganisationsClient } from '../../sitemap-generator/IOrganisationsClient';
|
|
3
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
3
4
|
export interface IScholarshipSitemapDependencies extends ISitemapDependencies {
|
|
4
5
|
organisationsClient: IOrganisationsClient;
|
|
6
|
+
portalType?: PortalType;
|
|
5
7
|
}
|
|
@@ -11,4 +11,5 @@ export interface ISearchApiClient {
|
|
|
11
11
|
}[]>;
|
|
12
12
|
getProgrammeCount?(filterKeyValues: FilterKeyValuesMap): Promise<number>;
|
|
13
13
|
getCount(filterKeyValues: FilterKeyValuesMap): Promise<number>;
|
|
14
|
+
getCountWithRankings?(filterKeyValues: FilterKeyValuesMap): Promise<number>;
|
|
14
15
|
}
|
|
@@ -3,12 +3,11 @@ import { IOrganisationsClient } from '../sitemap-generator/IOrganisationsClient'
|
|
|
3
3
|
import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
4
4
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
5
5
|
import { PortalType } from '@studyportals/domain-client';
|
|
6
|
-
import { IRankingApiClient } from './IRankingApiClient';
|
|
7
6
|
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
8
7
|
import { IPresenter } from '../common';
|
|
9
8
|
export declare class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
10
9
|
readonly portalType: PortalType;
|
|
11
10
|
readonly policies: ISitemapUrlGenerator[];
|
|
12
11
|
readonly presenters: Map<FilterKey, IPresenter>;
|
|
13
|
-
constructor(portalType: PortalType, searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient
|
|
12
|
+
constructor(portalType: PortalType, searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient);
|
|
14
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DependencyTypes } from '../enums/DependencyTypes';
|
|
2
2
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
3
|
-
import { Area, AreaAttendance, Attendance, Continent, Country, CountryCity, CountryAttendance, RankedArea,
|
|
3
|
+
import { Area, AreaAttendance, Attendance, Continent, Country, CountryCity, CountryAttendance, RankedArea, RankedAttendance, RankedAttendanceDiscipline, RankedContinent, RankedContinentAttendance, RankedCountry, RankedCountryAttendance, RankedCountryDiscipline, RankedDiscipline, RankedUnfiltered, Unfiltered } from '../organisations/policies';
|
|
4
4
|
import { AreaPresenter } from '../presenters/AreaPresenter';
|
|
5
5
|
import { AttendancePresenter } from '../presenters/AttendancePresenter';
|
|
6
6
|
import { ContinentPresenter } from '../presenters/ContinentPresenter';
|
|
@@ -12,7 +12,7 @@ export class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGener
|
|
|
12
12
|
portalType;
|
|
13
13
|
policies;
|
|
14
14
|
presenters = new Map();
|
|
15
|
-
constructor(portalType, searchApiClient, organisationsClient
|
|
15
|
+
constructor(portalType, searchApiClient, organisationsClient) {
|
|
16
16
|
super();
|
|
17
17
|
this.portalType = portalType;
|
|
18
18
|
const dependencies = {
|
|
@@ -20,7 +20,6 @@ export class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGener
|
|
|
20
20
|
portalType,
|
|
21
21
|
searchApiClient,
|
|
22
22
|
organisationsClient,
|
|
23
|
-
rankingApiClient
|
|
24
23
|
};
|
|
25
24
|
this.policies = [
|
|
26
25
|
new CountryCity(dependencies),
|
|
@@ -33,7 +32,6 @@ export class OrganisationsSitemapUrlGeneratorManager extends BaseSitemapUrlGener
|
|
|
33
32
|
new CountryAttendance(dependencies),
|
|
34
33
|
new Unfiltered(dependencies),
|
|
35
34
|
new RankedArea(dependencies),
|
|
36
|
-
new RankedAreaDiscipline(dependencies),
|
|
37
35
|
new RankedAttendance(dependencies),
|
|
38
36
|
new RankedAttendanceDiscipline(dependencies),
|
|
39
37
|
new RankedContinent(dependencies),
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ISitemapUrlGenerator } from '../common/ISitemapUrlGenerator';
|
|
2
2
|
import { IOrganisationsClient } from '../sitemap-generator/IOrganisationsClient';
|
|
3
3
|
import { ISearchApiClient } from '../sitemap-generator/ISearchApiClient';
|
|
4
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
4
5
|
import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager';
|
|
5
6
|
export declare class ScholarshipsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
6
7
|
readonly policies: ISitemapUrlGenerator[];
|
|
7
8
|
readonly presenters: Map<any, any>;
|
|
8
|
-
constructor(searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient);
|
|
9
|
+
constructor(searchApiClient: ISearchApiClient, organisationsClient: IOrganisationsClient, portalType?: PortalType);
|
|
9
10
|
}
|
|
@@ -9,12 +9,13 @@ import { BaseSitemapUrlGeneratorManager } from './BaseSitemapUrlGeneratorManager
|
|
|
9
9
|
export class ScholarshipsSitemapUrlGeneratorManager extends BaseSitemapUrlGeneratorManager {
|
|
10
10
|
policies;
|
|
11
11
|
presenters = new Map();
|
|
12
|
-
constructor(searchApiClient, organisationsClient) {
|
|
12
|
+
constructor(searchApiClient, organisationsClient, portalType) {
|
|
13
13
|
super();
|
|
14
14
|
const dependencies = {
|
|
15
15
|
dependencyType: DependencyTypes.SITEMAP_GENERATOR,
|
|
16
16
|
searchApiClient,
|
|
17
|
-
organisationsClient
|
|
17
|
+
organisationsClient,
|
|
18
|
+
portalType
|
|
18
19
|
};
|
|
19
20
|
this.policies = [
|
|
20
21
|
new Area(dependencies),
|
package/package.json
CHANGED
|
@@ -1,105 +1,106 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@studyportals/fawkes",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "A package to centralize SEO related logic for SBLP and Sitemap Generator.",
|
|
5
|
-
"files": [
|
|
6
|
-
"./dist"
|
|
7
|
-
],
|
|
8
|
-
"scripts": {
|
|
9
|
-
"prepush": "npm run test",
|
|
10
|
-
"precommit": "npm run lint",
|
|
11
|
-
"compile": "npx tsc && tsc-alias && rm -r ./dist/tests",
|
|
12
|
-
"build": "npm run clean && npm run compile",
|
|
13
|
-
"clean": "rimraf \"!(node_modules)/**/dist\"",
|
|
14
|
-
"prepare-deployment": "npm run test && npm run build",
|
|
15
|
-
"publish-major": "npm run prepare-deployment && npm version major && npm publish",
|
|
16
|
-
"publish-beta": "npm run prepare-deployment && npm version prerelease && npm publish --tag beta --access=public",
|
|
17
|
-
"publish-patch": "npm run prepare-deployment && npm version patch && npm publish",
|
|
18
|
-
"publish-minor": "npm run prepare-deployment && npm version minor && npm publish",
|
|
19
|
-
"prepare": "husky install",
|
|
20
|
-
"test": "vitest run --coverage",
|
|
21
|
-
"test:dev": "vitest --coverage tests/programmes",
|
|
22
|
-
"lint": "eslint . --ext .ts",
|
|
23
|
-
"lint:fix": "eslint . --ext .ts --fix",
|
|
24
|
-
"prettier:fix": "npx prettier --use-tabs --ignore-path .gitignore --write ."
|
|
25
|
-
},
|
|
26
|
-
"exports": {
|
|
27
|
-
"./organisations-search-seo": {
|
|
28
|
-
"import": "./dist/organisations-seo/index.js",
|
|
29
|
-
"require": "./dist/organisations-seo/index.js",
|
|
30
|
-
"types": "./dist/organisations-seo/index.d.ts"
|
|
31
|
-
},
|
|
32
|
-
"./programmes-search-seo": {
|
|
33
|
-
"import": "./dist/programmes-seo/index.js",
|
|
34
|
-
"require": "./dist/programmes-seo/index.js",
|
|
35
|
-
"types": "./dist/programmes-seo/index.d.ts"
|
|
36
|
-
},
|
|
37
|
-
"./scholarships-search-seo": {
|
|
38
|
-
"import": "./dist/scholarships-seo/index.js",
|
|
39
|
-
"require": "./dist/scholarships-seo/index.js",
|
|
40
|
-
"types": "./dist/scholarships-seo/index.d.ts"
|
|
41
|
-
},
|
|
42
|
-
"./sitemap-generator-seo": {
|
|
43
|
-
"import": "./dist/sitemap-generator-seo/index.js",
|
|
44
|
-
"require": "./dist/sitemap-generator-seo/index.js",
|
|
45
|
-
"types": "./dist/sitemap-generator-seo/index.d.ts"
|
|
46
|
-
},
|
|
47
|
-
"./structured-data-seo": {
|
|
48
|
-
"import": "./dist/structured-data-seo/index.js",
|
|
49
|
-
"require": "./dist/structured-data-seo/index.js",
|
|
50
|
-
"types": "./dist/structured-data-seo/index.d.ts"
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"typesVersions": {
|
|
54
|
-
"*": {
|
|
55
|
-
"organisations-search-seo": [
|
|
56
|
-
"dist/organisations-seo/index.d.ts"
|
|
57
|
-
],
|
|
58
|
-
"programmes-search-seo": [
|
|
59
|
-
"dist/programmes-seo/index.d.ts"
|
|
60
|
-
],
|
|
61
|
-
"scholarships-search-seo": [
|
|
62
|
-
"dist/scholarships-seo/index.d.ts"
|
|
63
|
-
],
|
|
64
|
-
"sitemap-generator-seo": [
|
|
65
|
-
"dist/sitemap-generator-seo/index.d.ts"
|
|
66
|
-
],
|
|
67
|
-
"structured-data-seo": [
|
|
68
|
-
"dist/structured-data-seo/index.d.ts"
|
|
69
|
-
],
|
|
70
|
-
"*": [
|
|
71
|
-
"dist/index.d.ts"
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
"author": "The Jedi Council",
|
|
76
|
-
"license": "ISC",
|
|
77
|
-
"devDependencies": {
|
|
78
|
-
"@adobe/structured-data-validator": "^1.4.1",
|
|
79
|
-
"@studyportals/code-style": "^2.2.1",
|
|
80
|
-
"@studyportals/webpack-helper": "^6.0.6",
|
|
81
|
-
"@vitest/coverage-istanbul": "^2.1.8",
|
|
82
|
-
"husky": "^8.0.3",
|
|
83
|
-
"jsdom": "^26.0.0",
|
|
84
|
-
"prettier": "^3.5.3",
|
|
85
|
-
"schema-dts": "^1.1.5",
|
|
86
|
-
"ts-loader": "^9.5.2",
|
|
87
|
-
"tsc-alias": "^1.8.11",
|
|
88
|
-
"typemoq": "^2.1.0",
|
|
89
|
-
"typescript": "^5.7.3",
|
|
90
|
-
"vitest": "^2.1.8"
|
|
91
|
-
},
|
|
92
|
-
"dependencies": {
|
|
93
|
-
"@studyportals/domain-client": "^8.
|
|
94
|
-
"@studyportals/ranking-api-interface": "^
|
|
95
|
-
"@studyportals/search-
|
|
96
|
-
"@studyportals/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@studyportals/fawkes",
|
|
3
|
+
"version": "9.0.1-0",
|
|
4
|
+
"description": "A package to centralize SEO related logic for SBLP and Sitemap Generator.",
|
|
5
|
+
"files": [
|
|
6
|
+
"./dist"
|
|
7
|
+
],
|
|
8
|
+
"scripts": {
|
|
9
|
+
"prepush": "npm run test",
|
|
10
|
+
"precommit": "npm run lint",
|
|
11
|
+
"compile": "npx tsc && tsc-alias && rm -r ./dist/tests",
|
|
12
|
+
"build": "npm run clean && npm run compile",
|
|
13
|
+
"clean": "rimraf \"!(node_modules)/**/dist\"",
|
|
14
|
+
"prepare-deployment": "npm run test && npm run build",
|
|
15
|
+
"publish-major": "npm run prepare-deployment && npm version major && npm publish",
|
|
16
|
+
"publish-beta": "npm run prepare-deployment && npm version prerelease && npm publish --tag beta --access=public",
|
|
17
|
+
"publish-patch": "npm run prepare-deployment && npm version patch && npm publish",
|
|
18
|
+
"publish-minor": "npm run prepare-deployment && npm version minor && npm publish",
|
|
19
|
+
"prepare": "husky install",
|
|
20
|
+
"test": "vitest run --coverage",
|
|
21
|
+
"test:dev": "vitest --coverage tests/programmes",
|
|
22
|
+
"lint": "eslint . --ext .ts",
|
|
23
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
24
|
+
"prettier:fix": "npx prettier --use-tabs --ignore-path .gitignore --write ."
|
|
25
|
+
},
|
|
26
|
+
"exports": {
|
|
27
|
+
"./organisations-search-seo": {
|
|
28
|
+
"import": "./dist/organisations-seo/index.js",
|
|
29
|
+
"require": "./dist/organisations-seo/index.js",
|
|
30
|
+
"types": "./dist/organisations-seo/index.d.ts"
|
|
31
|
+
},
|
|
32
|
+
"./programmes-search-seo": {
|
|
33
|
+
"import": "./dist/programmes-seo/index.js",
|
|
34
|
+
"require": "./dist/programmes-seo/index.js",
|
|
35
|
+
"types": "./dist/programmes-seo/index.d.ts"
|
|
36
|
+
},
|
|
37
|
+
"./scholarships-search-seo": {
|
|
38
|
+
"import": "./dist/scholarships-seo/index.js",
|
|
39
|
+
"require": "./dist/scholarships-seo/index.js",
|
|
40
|
+
"types": "./dist/scholarships-seo/index.d.ts"
|
|
41
|
+
},
|
|
42
|
+
"./sitemap-generator-seo": {
|
|
43
|
+
"import": "./dist/sitemap-generator-seo/index.js",
|
|
44
|
+
"require": "./dist/sitemap-generator-seo/index.js",
|
|
45
|
+
"types": "./dist/sitemap-generator-seo/index.d.ts"
|
|
46
|
+
},
|
|
47
|
+
"./structured-data-seo": {
|
|
48
|
+
"import": "./dist/structured-data-seo/index.js",
|
|
49
|
+
"require": "./dist/structured-data-seo/index.js",
|
|
50
|
+
"types": "./dist/structured-data-seo/index.d.ts"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"typesVersions": {
|
|
54
|
+
"*": {
|
|
55
|
+
"organisations-search-seo": [
|
|
56
|
+
"dist/organisations-seo/index.d.ts"
|
|
57
|
+
],
|
|
58
|
+
"programmes-search-seo": [
|
|
59
|
+
"dist/programmes-seo/index.d.ts"
|
|
60
|
+
],
|
|
61
|
+
"scholarships-search-seo": [
|
|
62
|
+
"dist/scholarships-seo/index.d.ts"
|
|
63
|
+
],
|
|
64
|
+
"sitemap-generator-seo": [
|
|
65
|
+
"dist/sitemap-generator-seo/index.d.ts"
|
|
66
|
+
],
|
|
67
|
+
"structured-data-seo": [
|
|
68
|
+
"dist/structured-data-seo/index.d.ts"
|
|
69
|
+
],
|
|
70
|
+
"*": [
|
|
71
|
+
"dist/index.d.ts"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"author": "The Jedi Council",
|
|
76
|
+
"license": "ISC",
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@adobe/structured-data-validator": "^1.4.1",
|
|
79
|
+
"@studyportals/code-style": "^2.2.1",
|
|
80
|
+
"@studyportals/webpack-helper": "^6.0.6",
|
|
81
|
+
"@vitest/coverage-istanbul": "^2.1.8",
|
|
82
|
+
"husky": "^8.0.3",
|
|
83
|
+
"jsdom": "^26.0.0",
|
|
84
|
+
"prettier": "^3.5.3",
|
|
85
|
+
"schema-dts": "^1.1.5",
|
|
86
|
+
"ts-loader": "^9.5.2",
|
|
87
|
+
"tsc-alias": "^1.8.11",
|
|
88
|
+
"typemoq": "^2.1.0",
|
|
89
|
+
"typescript": "^5.7.3",
|
|
90
|
+
"vitest": "^2.1.8"
|
|
91
|
+
},
|
|
92
|
+
"dependencies": {
|
|
93
|
+
"@studyportals/domain-client": "^8.1.0",
|
|
94
|
+
"@studyportals/ranking-api-interface": "^2.4.0",
|
|
95
|
+
"@studyportals/search-api-interface": "5.9.3-0",
|
|
96
|
+
"@studyportals/search-filters": "^6.3.1",
|
|
97
|
+
"@studyportals/static-domain-data": "^6.1.0"
|
|
98
|
+
},
|
|
99
|
+
"optionalDependencies": {
|
|
100
|
+
"@rollup/rollup-linux-x64-gnu": "4.24.0"
|
|
101
|
+
},
|
|
102
|
+
"engines": {
|
|
103
|
+
"node": ">=18 <=24",
|
|
104
|
+
"npm": ">=8 <=11"
|
|
105
|
+
}
|
|
106
|
+
}
|