Socket
Socket
Sign inDemoInstall

@twotaps/site-utils

Package Overview
Dependencies
Maintainers
3
Versions
193
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@twotaps/site-utils - npm Package Compare versions

Comparing version 0.0.18 to 0.0.19

1

dist/components/Site.svelte.d.ts
import { SvelteComponentTyped } from "svelte";
import type { PageDto } from '../page/page.dto';
declare const __propDef: {

@@ -3,0 +4,0 @@ props: {

@@ -7,2 +7,6 @@ export declare class AssetDto {

}
export declare class SiteDto {
customScriptHead: string;
customScriptBody: string;
}
export declare class PageDto {

@@ -13,2 +17,4 @@ id: number;

properties: {};
allowCrawling: boolean;
site: SiteDto;
ttschema: TTSchemaCustomDto[];

@@ -15,0 +21,0 @@ }

export class AssetDto {
}
export class SiteDto {
}
export class PageDto {

@@ -4,0 +6,0 @@ }

export declare const GET_PAGE: import("@graphql-typed-document-node/core").TypedDocumentNode<any, object>;
export declare const GET_ASSETS: import("@graphql-typed-document-node/core").TypedDocumentNode<any, object>;
export declare const GET_DOMAIN_SITEMAP: import("@graphql-typed-document-node/core").TypedDocumentNode<any, object>;
export declare const GET_DOMAIN_ROBOTS: import("@graphql-typed-document-node/core").TypedDocumentNode<any, object>;

@@ -9,2 +9,3 @@ import { gql } from "@urql/core";

metaDescription
allowCrawling
site {

@@ -69,1 +70,15 @@ customScriptHead

`;
export const GET_DOMAIN_SITEMAP = gql `
query DomainWithSitemap($domain: String!) {
domain(domain: $domain) {
sitemap
}
}
`;
export const GET_DOMAIN_ROBOTS = gql `
query DomainWithSitemap($domain: String!) {
domain(domain: $domain) {
robots
}
}
`;

@@ -5,2 +5,7 @@ import type { Page_page, Page_page_publishedRevision_schema_ttschema_fields, Page_page_publishedRevision_schema_ttschema_subSchemas } from "./__generated__/Page";

export declare function getComponentsDictFromModules(modules: any): {};
/** @type {import('@sveltejs/kit').Handle} */
export declare function handle({ event, resolve }: {
event: any;
resolve: any;
}): Promise<any>;
/**

@@ -14,2 +19,17 @@ * Map properties to their names.

export declare function propertyMapping(properties: TTSchemaProperties[], fields: Page_page_publishedRevision_schema_ttschema_fields[], schemas: Page_page_publishedRevision_schema_ttschema_subSchemas[]): {};
/** @type {import('@sveltejs/kit').Load} */
export declare function loadPageData({ url }: {
url: any;
}): Promise<{
props: {
page: PageDto;
pageTitle: string;
};
status?: undefined;
error?: undefined;
} | {
status: number;
error: Error;
props?: undefined;
}>;
export declare class PageService {

@@ -21,3 +41,5 @@ private readonly apolloClient;

getPage(slug: string, domain?: string): Promise<PageDto>;
getSitemap(domain: string): Promise<any>;
getRobots(domain: string): Promise<any>;
parseResponse(page: Page_page): Promise<PageDto>;
}
import { Client } from "@urql/core";
import { GET_PAGE } from "./page.query.js";
import { GET_PAGE, GET_DOMAIN_SITEMAP, GET_DOMAIN_ROBOTS } from "./page.query.js";
var TTSchemaFieldType;

@@ -29,2 +29,21 @@ (function (TTSchemaFieldType) {

}
/** @type {import('@sveltejs/kit').Handle} */
export async function handle({ event, resolve }) {
if (event.url.pathname === '/sitemap.xml') {
const pageService = new PageService(import.meta.env.VITE_GRAPHQL_URL);
const sitemap = await pageService.getSitemap(event.url.host);
let response = new Response(sitemap);
response.headers.set('content-type', 'application/xml');
return response;
}
if (event.url.pathname === '/robots.txt') {
const pageService = new PageService(import.meta.env.VITE_GRAPHQL_URL);
const robots = await pageService.getRobots(event.url.host);
let response = new Response(robots);
response.headers.set('content-type', 'text/plain');
return response;
}
const response = await resolve(event);
return response;
}
/**

@@ -73,2 +92,28 @@ * Map properties to their names.

}
/** @type {import('@sveltejs/kit').Load} */
export async function loadPageData({ url }) {
const pageService = new PageService(import.meta.env.VITE_GRAPHQL_URL);
try {
const pageData = await pageService.getPage(url.pathname.slice(1), url.host);
return {
props: {
page: pageData,
pageTitle: pageData.name
}
};
}
catch (err) {
console.error(err);
if (err.message === 'Page not found') {
return {
status: 404,
error: new Error('Page not found')
};
}
return {
status: 400,
error: new Error(`Could not load ${url}`)
};
}
}
export class PageService {

@@ -84,3 +129,2 @@ constructor(uri) {

try {
console.log(slug, domain);
const { data, error } = await this.apolloClient.

@@ -93,11 +137,49 @@ query(GET_PAGE, { slug, domain }).

else {
console.log(error);
throw new Error('Unable to load page from API');
console.error(error);
throw new Error(`Error loading page data: ${error}`);
}
}
catch (err) {
console.log("Unable to fetch API", err);
console.error("Unable to fetch API", err);
throw new Error("Unable to fetch page from the API. Please try again");
}
}
async getSitemap(domain) {
try {
console.info(`Loading sitemap for ${domain}`);
const { data, error } = await this.apolloClient.
query(GET_DOMAIN_SITEMAP, { domain }).
toPromise();
if (data) {
return data.domain.sitemap;
}
else {
console.error(error);
throw new Error(`Error loading sitemap: ${error}`);
}
}
catch (err) {
console.error("Unable to fetch sitemap", err);
throw new Error("Unable to fetch sitemap from the API. Please try again");
}
}
async getRobots(domain) {
try {
console.info(`Loading sitemap for ${domain}`);
const { data, error } = await this.apolloClient.
query(GET_DOMAIN_ROBOTS, { domain }).
toPromise();
if (data) {
return data.domain.robots;
}
else {
console.error(error);
throw new Error(`Error loading robots: ${error}`);
}
}
catch (err) {
console.error("Unable to fetch robots", err);
throw new Error("Unable to fetch robots from the API. Please try again");
}
}
async parseResponse(page) {

@@ -104,0 +186,0 @@ const { publishedRevision, ...rest } = page;

2

package.json
{
"name": "@twotaps/site-utils",
"version": "0.0.18",
"version": "0.0.19",
"description": "This package provides helper code for building twotaps public sites",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc