feat: migrate to esm

This commit is contained in:
2023-05-31 14:04:03 +02:00
parent fd740b3091
commit 4df19e8c20
512 changed files with 3013 additions and 2219 deletions
+8
View File
@@ -0,0 +1,8 @@
# Changesets
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
+11
View File
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
+1 -1
View File
@@ -26,7 +26,7 @@
"versionGroups": [
{
"label": "ES Mapping Generator Special Dependencies",
"dependencies": ["typescript", "typedoc", "ts-node"],
"dependencies": ["typescript", "typedoc", "ts-node", "@types/node", "got"],
"packages": ["@openstapps/es-mapping-generator"],
"isIgnored": true
},
+14
View File
@@ -36,3 +36,17 @@ TURBO_TOKEN=...
```shell
docker run --env-file=.env -p 3000:3000 fox1t/turborepo-remote-cache
```
## Useful commands
#### Why is this package bloating the app?
```shell
pnpm why -P -r --filter @openstapps/app PACKAGE
```
#### Licenses
```shell
pnpm licenses -P --filter PROJECT
```
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'
+1 -1
View File
@@ -1,7 +1,7 @@
// tslint:disable:no-default-export
// tslint:disable:no-magic-numbers
import {RecursivePartial} from '@openstapps/logger/lib/common';
import {ElasticsearchConfigFile} from '../src/storage/elasticsearch/types/elasticsearch';
import {ElasticsearchConfigFile} from '../src/storage/elasticsearch/types/elasticsearch.js';
/**
* This is the database configuration for the technical university of berlin
+1 -1
View File
@@ -1,6 +1,6 @@
// tslint:disable:no-default-export
// tslint:disable:no-magic-numbers
import {ElasticsearchConfigFile} from '../src/storage/elasticsearch/types/elasticsearch-config';
import {ElasticsearchConfigFile} from '../src/storage/elasticsearch/types/elasticsearch-config.js';
/**
* This is the default configuration for elasticsearch (a database)
+10 -2
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/backend",
"description": "A reference implementation for a StApps backend",
"version": "2.1.0",
"type": "module",
"license": "AGPL-3.0-only",
"author": "André Bierlein <andre.mt.bierlein@gmail.com>",
"contributors": [
@@ -97,8 +98,8 @@
"sinon": "14.0.2",
"sinon-express-mock": "2.2.1",
"supertest": "6.3.3",
"typedoc": "0.22.18",
"typescript": "4.4.4"
"typedoc": "0.23.26",
"typescript": "4.8.4"
},
"nyc": {
"all": true,
@@ -124,5 +125,12 @@
"ts-node/register"
],
"statements": 95
},
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {
"rxjs": "7.x"
}
}
}
}
+14 -14
View File
@@ -25,20 +25,20 @@ import cors from 'cors';
import {Express} from 'express';
import morgan from 'morgan';
import path from 'path';
import {configFile, DEFAULT_TIMEOUT, isTestEnvironment, mailer, plugins, validator} from './common';
import {getPrometheusMiddleware} from './middleware/prometheus';
import {MailQueue} from './notification/mail-queue';
import {bulkAddRouter} from './routes/bulk-add-route';
import {bulkDoneRouter} from './routes/bulk-done-route';
import {bulkRouter} from './routes/bulk-route';
import {indexRouter} from './routes/index-route';
import {multiSearchRouter} from './routes/multi-search-route';
import {pluginRegisterRouter} from './routes/plugin-register-route';
import {searchRouter} from './routes/search-route';
import {thingUpdateRouter} from './routes/thing-update-route';
import {virtualPluginRoute} from './routes/virtual-plugin-route';
import {BulkStorage} from './storage/bulk-storage';
import {DatabaseConstructor} from './storage/database';
import {configFile, DEFAULT_TIMEOUT, isTestEnvironment, mailer, plugins, validator} from './common.js';
import {getPrometheusMiddleware} from './middleware/prometheus.js';
import {MailQueue} from './notification/mail-queue.js';
import {bulkAddRouter} from './routes/bulk-add-route.js';
import {bulkDoneRouter} from './routes/bulk-done-route.js';
import {bulkRouter} from './routes/bulk-route.js';
import {indexRouter} from './routes/index-route.js';
import {multiSearchRouter} from './routes/multi-search-route.js';
import {pluginRegisterRouter} from './routes/plugin-register-route.js';
import {searchRouter} from './routes/search-route.js';
import {thingUpdateRouter} from './routes/thing-update-route.js';
import {virtualPluginRoute} from './routes/virtual-plugin-route.js';
import {BulkStorage} from './storage/bulk-storage.js';
import {DatabaseConstructor} from './storage/database.js';
/**
* Configure the backend
+2 -4
View File
@@ -1,5 +1,3 @@
#!/usr/bin/env node
/*
* Copyright (C) 2019 StApps
* This program is free software: you can redistribute it and/or modify
@@ -18,8 +16,8 @@
import {Logger} from '@openstapps/logger';
import express from 'express';
import http from 'http';
import {configureApp} from './app';
import {Elasticsearch} from './storage/elasticsearch/elasticsearch';
import {configureApp} from './app.js';
import {Elasticsearch} from './storage/elasticsearch/elasticsearch.js';
const app = express();
+2 -2
View File
@@ -14,9 +14,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCConfigFile, SCPluginMetaData} from '@openstapps/core';
import {Validator} from '@openstapps/core-tools/lib/validate';
import {Validator} from '@openstapps/core-tools/lib/validate.js';
import config from 'config';
import {BackendTransport} from './notification/backend-transport';
import {BackendTransport} from './notification/backend-transport.js';
/**
* Instance of the transport for sending mails
@@ -14,8 +14,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Logger} from '@openstapps/logger';
import {SMTP} from '@openstapps/logger/lib/smtp';
import {Transport, VerifiableTransport} from '@openstapps/logger/lib/transport';
import {SMTP} from '@openstapps/logger/lib/smtp.js';
import {Transport, VerifiableTransport} from '@openstapps/logger/lib/transport.js';
/**
* Provides information if a transport is a verifiable transport
@@ -15,7 +15,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Logger} from '@openstapps/logger';
import {SMTP} from '@openstapps/logger/lib/smtp';
import {SMTP} from '@openstapps/logger/lib/smtp.js';
import {MailOptions} from 'nodemailer/lib/sendmail-transport';
import Queue from 'promise-queue';
/**
+3 -3
View File
@@ -15,9 +15,9 @@
*/
import {SCBulkAddRequest, SCBulkAddResponse, SCBulkAddRoute, SCNotFoundErrorResponse} from '@openstapps/core';
import {Logger} from '@openstapps/logger';
import {isTestEnvironment} from '../common';
import {BulkStorage} from '../storage/bulk-storage';
import {createRoute} from './route';
import {isTestEnvironment} from '../common.js';
import {BulkStorage} from '../storage/bulk-storage.js';
import {createRoute} from './route.js';
/**
* Contains information for using the route for adding bulks
@@ -20,9 +20,9 @@ import {
SCNotFoundErrorResponse,
} from '@openstapps/core';
import {Logger} from '@openstapps/logger';
import {isTestEnvironment} from '../common';
import {BulkStorage} from '../storage/bulk-storage';
import {createRoute} from './route';
import {isTestEnvironment} from '../common.js';
import {BulkStorage} from '../storage/bulk-storage.js';
import {createRoute} from './route.js';
/**
* Contains information for using the route for closing bulks
+2 -2
View File
@@ -14,8 +14,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCBulkRequest, SCBulkResponse, SCBulkRoute} from '@openstapps/core';
import {BulkStorage} from '../storage/bulk-storage';
import {createRoute} from './route';
import {BulkStorage} from '../storage/bulk-storage.js';
import {createRoute} from './route.js';
/**
* Contains information for using the route for creating bulks
+2 -2
View File
@@ -14,8 +14,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCIndexResponse, SCIndexRoute} from '@openstapps/core';
import {configFile} from '../common';
import {createRoute} from './route';
import {configFile} from '../common.js';
import {createRoute} from './route.js';
/**
* Contains information for using the index route
@@ -20,9 +20,9 @@ import {
SCSearchResponse,
SCTooManyRequestsErrorResponse,
} from '@openstapps/core';
import {configFile, isTestEnvironment} from '../common';
import {BulkStorage} from '../storage/bulk-storage';
import {createRoute} from './route';
import {configFile, isTestEnvironment} from '../common.js';
import {BulkStorage} from '../storage/bulk-storage.js';
import {createRoute} from './route.js';
/**
* Contains information for using the multi search route
*/
@@ -23,8 +23,8 @@ import {
} from '@openstapps/core';
import {Logger} from '@openstapps/logger';
import {deepStrictEqual} from 'assert';
import {configFile, isTestEnvironment, plugins} from '../common';
import {createRoute} from './route';
import {configFile, isTestEnvironment, plugins} from '../common.js';
import {createRoute} from './route.js';
/**
* Contains information for using the route for registering routes
+3 -3
View File
@@ -19,12 +19,12 @@ import {
SCRoute,
SCValidationErrorResponse,
} from '@openstapps/core';
import {ValidationError} from '@openstapps/core-tools/src/types/validator';
import {ValidationError} from '@openstapps/core-tools/src/types/validator.js';
import {Logger} from '@openstapps/logger';
import {Application, Router} from 'express';
import PromiseRouter from 'express-promise-router';
import {isTestEnvironment, validator} from '../common';
import {isHttpMethod} from './http-types';
import {isTestEnvironment, validator} from '../common.js';
import {isHttpMethod} from './http-types.js';
/**
* Creates a router from a route class and a handler function which implements the logic
+2 -2
View File
@@ -14,8 +14,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCSearchRequest, SCSearchResponse, SCSearchRoute} from '@openstapps/core';
import {BulkStorage} from '../storage/bulk-storage';
import {createRoute} from './route';
import {BulkStorage} from '../storage/bulk-storage.js';
import {createRoute} from './route.js';
/**
* Contains information for using the search route
@@ -14,8 +14,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCThingUpdateRequest, SCThingUpdateResponse, SCThingUpdateRoute} from '@openstapps/core';
import {BulkStorage} from '../storage/bulk-storage';
import {createRoute} from './route';
import {BulkStorage} from '../storage/bulk-storage.js';
import {createRoute} from './route.js';
/**
* Contains information for using the route for updating single things
@@ -17,7 +17,7 @@
import {SCInternalServerErrorResponse, SCPluginMetaData, SCValidationErrorResponse} from '@openstapps/core';
import {Request} from 'express';
import got from 'got';
import {configFile, isTestEnvironment, validator} from '../common';
import {configFile, isTestEnvironment, validator} from '../common.js';
/**
* Generic route function used to proxy actual requests to plugins
@@ -27,7 +27,6 @@ import {configFile, isTestEnvironment, validator} from '../common';
* @throws {SCInternalServerErrorResponse} On request/response validation or response from the plugin errors
*/
export async function virtualPluginRoute(request: Request, plugin: SCPluginMetaData): Promise<object> {
let responseBody: object;
try {
const requestValidation = validator.validate(request.body, plugin.requestSchema);
if (requestValidation.errors.length > 0) {
@@ -35,22 +34,23 @@ export async function virtualPluginRoute(request: Request, plugin: SCPluginMetaD
throw new SCValidationErrorResponse(requestValidation.errors, isTestEnvironment);
}
// send the request to the plugin (forward the body) and save the response
const pluginResponse = await got.post(plugin.route.replace(/^\//gi, ''), {
const response = await got.post(plugin.route.replace(/^\//gi, ''), {
prefixUrl: plugin.address,
json: request.body,
timeout: configFile.backend.externalRequestTimeout,
timeout: {
response: configFile.backend.externalRequestTimeout
},
responseType: 'json',
});
responseBody = pluginResponse.body as object;
const responseBody = response.body
const responseValidation = validator.validate(responseBody, plugin.responseSchema);
if (responseValidation.errors.length > 0) {
// noinspection ExceptionCaughtLocallyJS
throw new SCValidationErrorResponse(responseValidation.errors, isTestEnvironment);
}
return response
} catch (error) {
// wrap exact error inside of the internal server error response
throw new SCInternalServerErrorResponse(error, isTestEnvironment);
}
return responseBody;
}
+1 -1
View File
@@ -18,7 +18,7 @@ import {Logger} from '@openstapps/logger';
import moment from 'moment';
import NodeCache from 'node-cache';
import {v4} from 'uuid';
import {Database} from './database';
import {Database} from './database.js';
/**
* Possible operations with a bulk
+2 -2
View File
@@ -14,8 +14,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCConfigFile, SCSearchQuery, SCSearchResponse, SCThings, SCUuid} from '@openstapps/core';
import {MailQueue} from '../notification/mail-queue';
import {Bulk} from './bulk-storage';
import {MailQueue} from '../notification/mail-queue.js';
import {Bulk} from './bulk-storage.js';
/**
* Creates an instance of a database
@@ -36,7 +36,7 @@ import {
ElasticsearchConfig,
ElasticsearchQueryDisMaxConfig,
ElasticsearchQueryQueryStringConfig,
} from './types/elasticsearch-config';
} from './types/elasticsearch-config.js';
import {
ACTIVE_INDICES_ALIAS,
getThingIndexName,
@@ -44,8 +44,8 @@ import {
matchIndexByType,
VALID_INDEX_REGEX,
} from './util';
import {noUndefined} from './util/no-undefined';
import {retryCatch, RetryOptions} from './util/retry';
import {noUndefined} from './util/no-undefined.js';
import {retryCatch, RetryOptions} from './util/retry.js';
/**
* A database interface for elasticsearch
@@ -25,7 +25,7 @@ import {
} from '@openstapps/core';
import {Logger} from '@openstapps/logger';
import cron from 'node-cron';
import {MailQueue} from '../../notification/mail-queue';
import {MailQueue} from '../../notification/mail-queue.js';
/**
* Check if the given condition fails on the given number of results and the condition
@@ -15,8 +15,8 @@
*/
import {Client} from '@elastic/elasticsearch';
import {SCThingType} from '@openstapps/core';
import {AggregationSchema} from '@openstapps/es-mapping-generator/src/types/aggregation';
import {ElasticsearchTemplateCollection} from '@openstapps/es-mapping-generator/src/types/mapping';
import {AggregationSchema} from '@openstapps/es-mapping-generator/src/types/aggregation.js';
import {ElasticsearchTemplateCollection} from '@openstapps/es-mapping-generator/src/types/mapping.js';
import {readFileSync} from 'fs';
import path from 'path';
+3 -3
View File
@@ -20,9 +20,9 @@ import {
SCUnsupportedMediaTypeErrorResponse,
} from '@openstapps/core';
import {expect} from 'chai';
import {configFile, DEFAULT_TIMEOUT} from '../src/common';
import {DEFAULT_TEST_TIMEOUT} from './common';
import {testApp} from './tests-setup';
import {configFile, DEFAULT_TIMEOUT} from '../src/common.js';
import {DEFAULT_TEST_TIMEOUT} from './common.js';
import {testApp} from './tests-setup.js';
import sinon from 'sinon';
import mockedEnv from 'mocked-env';
+1 -1
View File
@@ -13,7 +13,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {yearSlice} from '../config/default';
import {yearSlice} from '../config/default.js';
import {expect} from 'chai';
describe('Common', function () {
+6 -6
View File
@@ -16,15 +16,15 @@
import {SCConfigFile, SCSearchQuery, SCSearchResponse, SCThings, SCThingType, SCUuid} from '@openstapps/core';
import {Express} from 'express';
import moment from 'moment';
import {getIndexUID} from '../src/storage/elasticsearch/util';
import {configureApp} from '../src/app';
import {getIndexUID} from '../src/storage/elasticsearch/util.js';
import {configureApp} from '../src/app.js';
import express from 'express';
import http from 'http';
import {configFile} from '../src/common';
import {MailQueue} from '../src/notification/mail-queue';
import {Bulk, BulkStorage} from '../src/storage/bulk-storage';
import {configFile} from '../src/common.js';
import {MailQueue} from '../src/notification/mail-queue.js';
import {Bulk, BulkStorage} from '../src/storage/bulk-storage.js';
import getPort from 'get-port';
import {Database} from '../src/storage/database';
import {Database} from '../src/storage/database.js';
import {v4} from 'uuid';
/**
@@ -17,7 +17,7 @@ import {SMTP} from '@openstapps/logger/lib/smtp';
import {Transport} from '@openstapps/logger/lib/transport';
import {expect} from 'chai';
import mockedEnv from 'mocked-env';
import {BackendTransport, isTransportWithVerification} from '../../src/notification/backend-transport';
import {BackendTransport, isTransportWithVerification} from '../../src/notification/backend-transport.js';
import sinon from 'sinon';
describe('Backend transport', function () {
@@ -16,11 +16,11 @@
*/
import {Logger} from '@openstapps/logger';
import sinon from 'sinon';
import {MailQueue} from '../../src/notification/mail-queue';
import {MailQueue} from '../../src/notification/mail-queue.js';
import {expect} from 'chai';
import Queue from 'promise-queue';
import {MailOptions} from 'nodemailer/lib/sendmail-transport';
import {getTransport, TRANSPORT_SEND_RESPONSE} from '../common';
import {getTransport, TRANSPORT_SEND_RESPONSE} from '../common.js';
describe('MailQueue', async function () {
const sandbox = sinon.createSandbox();
@@ -22,8 +22,8 @@ import {
} from '@openstapps/core';
import {expect} from 'chai';
import {instance as book} from '@openstapps/core/test/resources/indexable/Book.1.json';
import {bulk, DEFAULT_TEST_TIMEOUT} from '../common';
import {testApp} from '../tests-setup';
import {bulk, DEFAULT_TEST_TIMEOUT} from '../common.js';
import {testApp} from '../tests-setup.js';
describe('Bulk routes', async function () {
// increase timeout for the suite
@@ -15,7 +15,7 @@
*/
import {SCRouteHttpVerbs} from '@openstapps/core';
import {expect} from 'chai';
import {isHttpMethod} from '../../src/routes/http-types';
import {isHttpMethod} from '../../src/routes/http-types.js';
describe('Is HTTP method', async function () {
it('should allow valid (predefined) http methods', async function () {
@@ -13,8 +13,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {DEFAULT_TEST_TIMEOUT} from '../common';
import {testApp} from '../tests-setup';
import {DEFAULT_TEST_TIMEOUT} from '../common.js';
import {testApp} from '../tests-setup.js';
import {SCIndexRequest, SCIndexRoute} from '@openstapps/core';
import {expect} from 'chai';
@@ -23,13 +23,13 @@ import {
SCValidationErrorResponse,
} from '@openstapps/core';
import nock from 'nock';
import {configFile, plugins} from '../../src/common';
import {pluginRegisterHandler} from '../../src/routes/plugin-register-route';
import {configFile, plugins} from '../../src/common.js';
import {pluginRegisterHandler} from '../../src/routes/plugin-register-route.js';
import {expect, use} from 'chai';
import chaiAsPromised from 'chai-as-promised';
import {instance as registerRequest} from '@openstapps/core/test/resources/PluginRegisterRequest.1.json';
import {DEFAULT_TEST_TIMEOUT} from '../common';
import {testApp} from '../tests-setup';
import {DEFAULT_TEST_TIMEOUT} from '../common.js';
import {testApp} from '../tests-setup.js';
// for using promises in expectations (to.eventually.be...)
use(chaiAsPromised);
+3 -3
View File
@@ -25,12 +25,12 @@ import * as bodyParser from 'body-parser';
import sinon from 'sinon';
import {expect} from 'chai';
import {Application} from 'express';
import {validator} from '../../src/common';
import {createRoute} from '../../src/routes/route';
import {validator} from '../../src/common.js';
import {createRoute} from '../../src/routes/route.js';
import express, {Express} from 'express';
import supertest from 'supertest';
import {Logger} from '@openstapps/logger';
import {DEFAULT_TEST_TIMEOUT} from '../common';
import {DEFAULT_TEST_TIMEOUT} from '../common.js';
interface ReturnType {
foo: boolean;
@@ -21,9 +21,9 @@ import {
SCTooManyRequestsErrorResponse,
} from '@openstapps/core';
import {expect} from 'chai';
import {configFile} from '../../src/common';
import {DEFAULT_TEST_TIMEOUT} from '../common';
import {testApp} from '../tests-setup';
import {configFile} from '../../src/common.js';
import {DEFAULT_TEST_TIMEOUT} from '../common.js';
import {testApp} from '../tests-setup.js';
import sinon from 'sinon';
describe('Search route', async function () {
@@ -15,10 +15,10 @@
*/
import {SCThingUpdateRoute} from '@openstapps/core';
import chaiAsPromised from 'chai-as-promised';
import {bulkStorageMock, DEFAULT_TEST_TIMEOUT} from '../common';
import {bulkStorageMock, DEFAULT_TEST_TIMEOUT} from '../common.js';
import {expect, use} from 'chai';
import {instance as book} from '@openstapps/core/test/resources/indexable/Book.1.json';
import {testApp} from '../tests-setup';
import {testApp} from '../tests-setup.js';
use(chaiAsPromised);
@@ -22,11 +22,11 @@ import got, {Options} from 'got';
import nock from 'nock';
import sinon from 'sinon';
import {mockReq} from 'sinon-express-mock';
import {plugins, validator} from '../../src/common';
import {virtualPluginRoute} from '../../src/routes/virtual-plugin-route';
import {DEFAULT_TEST_TIMEOUT, FooError} from '../common';
import {plugins, validator} from '../../src/common.js';
import {virtualPluginRoute} from '../../src/routes/virtual-plugin-route.js';
import {DEFAULT_TEST_TIMEOUT, FooError} from '../common.js';
import {registerAddRequest} from './plugin-register-route.spec';
import {testApp} from '../tests-setup';
import {testApp} from '../tests-setup.js';
use(chaiAsPromised);
@@ -17,10 +17,10 @@ import {SCBulkRequest, SCThingType} from '@openstapps/core';
import moment from 'moment';
// eslint-disable-next-line unicorn/import-style
import util from 'util';
import {configFile} from '../../src/common';
import {Bulk, BulkStorage} from '../../src/storage/bulk-storage';
import {configFile} from '../../src/common.js';
import {Bulk, BulkStorage} from '../../src/storage/bulk-storage.js';
import {expect} from 'chai';
import {ElasticsearchMock} from '../common';
import {ElasticsearchMock} from '../common.js';
import sinon from 'sinon';
import NodeCache from 'node-cache';
@@ -16,7 +16,7 @@
import {AggregateName, AggregationsMultiTermsBucket} from '@elastic/elasticsearch/lib/api/types';
import {SCFacet, SCThingType} from '@openstapps/core';
import {expect} from 'chai';
import {parseAggregations} from '../../../src/storage/elasticsearch/aggregations';
import {parseAggregations} from '../../../src/storage/elasticsearch/aggregations.js';
describe('Aggregations', function () {
const aggregations: Record<AggregateName, Partial<AggregationsMultiTermsBucket>> = {
@@ -43,20 +43,20 @@ import {
ACTIVE_INDICES_ALIAS,
INACTIVE_INDICES_ALIAS,
parseIndexName,
} from '../../../src/storage/elasticsearch/util';
import * as queryModule from '../../../src/storage/elasticsearch/query/query';
import * as sortModule from '../../../src/storage/elasticsearch/query/sort';
} from '../../../src/storage/elasticsearch/util.js';
import * as queryModule from '../../../src/storage/elasticsearch/query/query.js';
import * as sortModule from '../../../src/storage/elasticsearch/query/sort.js';
import sinon, {SinonStub} from 'sinon';
import {getIndexUID, getThingIndexName, INDEX_UID_LENGTH} from '../../../src/storage/elasticsearch/util';
import * as utilModule from '../../../src/storage/elasticsearch/util';
import {removeInvalidAliasChars} from '../../../src/storage/elasticsearch/util/alias';
import {configFile} from '../../../src/common';
import {MailQueue} from '../../../src/notification/mail-queue';
import {aggregations} from '../../../src/storage/elasticsearch/templating';
import {Elasticsearch} from '../../../src/storage/elasticsearch/elasticsearch';
import * as Monitoring from '../../../src/storage/elasticsearch/monitoring';
import * as templating from '../../../src/storage/elasticsearch/templating';
import {bulk, DEFAULT_TEST_TIMEOUT, getTransport, getIndex} from '../../common';
import {getIndexUID, getThingIndexName, INDEX_UID_LENGTH} from '../../../src/storage/elasticsearch/util.js';
import * as utilModule from '../../../src/storage/elasticsearch/util.js';
import {removeInvalidAliasChars} from '../../../src/storage/elasticsearch/util/alias.js';
import {configFile} from '../../../src/common.js';
import {MailQueue} from '../../../src/notification/mail-queue.js';
import {aggregations} from '../../../src/storage/elasticsearch/templating.js';
import {Elasticsearch} from '../../../src/storage/elasticsearch/elasticsearch.js';
import * as Monitoring from '../../../src/storage/elasticsearch/monitoring.js';
import * as templating from '../../../src/storage/elasticsearch/templating.js';
import {bulk, DEFAULT_TEST_TIMEOUT, getTransport, getIndex} from '../../common.js';
import fs from 'fs';
use(chaiAsPromised);
@@ -24,10 +24,10 @@ import {
SCThings,
} from '@openstapps/core';
import {Logger} from '@openstapps/logger';
import {MailQueue} from '../../../src/notification/mail-queue';
import {setUp} from '../../../src/storage/elasticsearch/monitoring';
import {MailQueue} from '../../../src/notification/mail-queue.js';
import {setUp} from '../../../src/storage/elasticsearch/monitoring.js';
import {getTransport} from '../../common';
import {getTransport} from '../../common.js';
import {expect} from 'chai';
import sinon from 'sinon';
import cron from 'node-cron';
@@ -25,13 +25,13 @@ import {
SCThingType,
} from '@openstapps/core';
import {expect} from 'chai';
import {buildFilter} from '../../../src/storage/elasticsearch/query/filter';
import {buildBooleanFilter} from '../../../src/storage/elasticsearch/query/filters/boolean';
import {buildQuery} from '../../../src/storage/elasticsearch/query/query';
import {buildSort} from '../../../src/storage/elasticsearch/query/sort';
import {ElasticsearchConfig} from '../../../src/storage/elasticsearch/types/elasticsearch-config';
import {QueryDslSpecificQueryContainer} from '../../../src/storage/elasticsearch/types/util';
import {configFile} from '../../../src/common';
import {buildFilter} from '../../../src/storage/elasticsearch/query/filter.js';
import {buildBooleanFilter} from '../../../src/storage/elasticsearch/query/filters/boolean.js';
import {buildQuery} from '../../../src/storage/elasticsearch/query/query.js';
import {buildSort} from '../../../src/storage/elasticsearch/query/sort.js';
import {ElasticsearchConfig} from '../../../src/storage/elasticsearch/types/elasticsearch-config.js';
import {QueryDslSpecificQueryContainer} from '../../../src/storage/elasticsearch/types/util.js';
import {configFile} from '../../../src/common.js';
import {SortCombinations} from '@elastic/elasticsearch/lib/api/types';
describe('Query', function () {
+2 -2
View File
@@ -13,8 +13,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {DEFAULT_TIMEOUT} from '../src/common';
import {startApp} from './common';
import {DEFAULT_TIMEOUT} from '../src/common.js';
import {startApp} from './common.js';
import supertest from 'supertest';
before(async function () {
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'
+1 -1
View File
@@ -13,7 +13,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {ConfigFile} from '../src/common';
import {ConfigFile} from '../src/common.js';
const config: ConfigFile = {
activeVersions: ['1\\.0\\.\\d+', '2\\.0\\.\\d+'],
+5 -5
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/proxy",
"description": "NGINX proxy that is dynamically configured by a Node.js script",
"version": "2.1.0",
"type": "module",
"license": "AGPL-3.0-only",
"repository": "git@gitlab.com:openstapps/proxy.git",
"author": "Anselm Rochus Stordeur <anselmstordeur@gmail.com>",
@@ -13,12 +14,11 @@
"Michel Jonathan Schmitz <michel.schmitz_1992@hotmail.com>",
"Rainer Killinger <mail-openstapps@killinger.co>"
],
"main": "./lib/cli.js",
"main": "app.js",
"scripts": {
"build": "npm run lint && npm run compile",
"build": "rimraf lib && tsc",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'",
"check-configuration": "openstapps-configuration",
"compile": "rimraf lib && tsc",
"documentation": "typedoc --includeVersion --out docs --readme README.md --entryPointStrategy expand src",
"lint": "eslint --ext .ts src/",
"postversion": "npm run changelog",
@@ -69,8 +69,8 @@
"proxyquire": "2.1.3",
"rimraf": "3.0.2",
"ts-node": "10.9.1",
"typedoc": "0.22.18",
"typescript": "4.4.4"
"typedoc": "0.23.26",
"typescript": "4.8.4"
},
"nyc": {
"all": true,
+4 -6
View File
@@ -1,5 +1,3 @@
#!/usr/bin/env node
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify
@@ -18,9 +16,9 @@
import {Logger} from '@openstapps/logger';
import {execSync} from 'child_process';
import * as Dockerode from 'dockerode';
import {render} from 'mustache';
import {asyncReadFile, asyncWriteFile} from './common';
import {getContainers, getTemplateView} from './main';
import mustache from 'mustache';
import {asyncReadFile, asyncWriteFile} from './common.js';
import {getContainers, getTemplateView} from './main.js';
/* eslint-disable unicorn/prefer-module */
@@ -58,7 +56,7 @@ async function updateNginxConfig() {
await delay(10_000);
// render nginx config file
const nginxConfig = render(
const nginxConfig = mustache.render(
await asyncReadFile('nginx.conf.template', 'utf8'),
await getTemplateView(containers),
);
+1 -1
View File
@@ -14,7 +14,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Logger} from '@openstapps/logger';
import {SMTP} from '@openstapps/logger/lib/smtp';
import {SMTP} from '@openstapps/logger/lib/smtp.js';
import config from 'config';
import {existsSync, readFile, writeFile} from 'fs';
import {promisify} from 'util';
+5 -6
View File
@@ -16,7 +16,7 @@
import {Logger} from '@openstapps/logger';
import Dockerode from 'dockerode';
import isCidr from 'is-cidr';
import {render} from 'mustache';
import mustache from 'mustache';
import path from 'path';
import * as semver from 'semver';
import {
@@ -28,14 +28,13 @@ import {
sslHardeningParameters,
SupportedLogFormats,
TemplateView,
} from './common';
} from './common.js';
// @ts-expect-error missing type defs
import nodePortScanner from 'node-port-scanner';
/* eslint-disable unicorn/prefer-module */
/* eslint-disable unicorn/no-await-expression-member */
// eslint-disable-next-line @typescript-eslint/no-var-requires
const nodePortScanner = require('node-port-scanner');
/**
* Checks if a ContainerInfo matches a name and version regex
*
@@ -263,7 +262,7 @@ export async function generateMetricsServer(logFormat: string, enableMetrics?: b
async function renderTemplate(path: string, view: unknown): Promise<string> {
const content = await asyncReadFile(path, 'utf8');
return render(content, view);
return mustache.render(content, view);
}
/**
+1 -1
View File
@@ -23,7 +23,7 @@ import {Logger} from '@openstapps/logger';
import {expect} from 'chai';
import {mkdirSync, writeFileSync, unlinkSync, rmdirSync} from 'fs';
import { resolve } from 'path';
import { isFileType } from '../src/common';
import { isFileType } from '../src/common.js';
process.on('unhandledRejection', async (error) => {
await Logger.error(error);
+2 -2
View File
@@ -24,7 +24,7 @@ import {expect} from 'chai';
import chaiSpies from 'chai-spies';
import {ContainerInfo} from 'dockerode';
import {slow, suite, test, timeout} from '@testdeck/mocha';
import {sslHardeningParameters, protocolHardeningParameters, SSLFilePaths} from './../src/common';
import {sslHardeningParameters, protocolHardeningParameters, SSLFilePaths} from './../src/common.js';
import {
containerMatchesRegex,
generateUpstreamMap,
@@ -33,7 +33,7 @@ import {
generateListener,
generateMetricsServer,
getContainers,
} from '../src/main';
} from '../src/main.js';
import {resolve} from 'path';
import {mkdirSync, writeFileSync, unlinkSync, rmdirSync} from 'fs';
import proxyquire from 'proxyquire';
@@ -2,35 +2,29 @@
(Summarize the bug encountered concisely)
## Steps to reproduce
(How one can reproduce the issue - this is very important)
## Example Project
(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)
(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)
## What is the current bug behavior?
(What actually happens)
## What is the expected correct behavior?
(What you should see instead)
## Relevant logs and/or screenshots
(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)
## Possible fixes
(If you can, link to the line of code that might be responsible for the problem)
@@ -2,15 +2,12 @@
(Describe the feature that you're requesting concisely)
## Explanation
(Explain why the feature is necessary)
## Dependencies, issues to be resolved beforehand
(List issues or dependencies that need to be resolved before this feature can be implemented)
/label ~meeting ~feature
+44 -173
View File
@@ -1,372 +1,243 @@
# [0.34.0](https://gitlab.com/openstapps/configuration/compare/v0.33.0...v0.34.0) (2023-01-17)
# [0.33.0](https://gitlab.com/openstapps/configuration/compare/v0.32.2...v0.33.0) (2022-08-17)
### Features
* add proper coverage to ci templates ([35b4b6c](https://gitlab.com/openstapps/configuration/commit/35b4b6c8237a167518f0edb7326578095c935764))
- add proper coverage to ci templates ([35b4b6c](https://gitlab.com/openstapps/configuration/commit/35b4b6c8237a167518f0edb7326578095c935764))
## [0.32.2](https://gitlab.com/openstapps/configuration/compare/v0.32.1...v0.32.2) (2022-07-05)
### Bug Fixes
* recommended CI settings ([0753ab9](https://gitlab.com/openstapps/configuration/commit/0753ab9f33d13eb2cd7d6512934fd285906f2c47))
- recommended CI settings ([0753ab9](https://gitlab.com/openstapps/configuration/commit/0753ab9f33d13eb2cd7d6512934fd285906f2c47))
## [0.32.1](https://gitlab.com/openstapps/configuration/compare/v0.32.0...v0.32.1) (2022-07-05)
### Bug Fixes
* simplify dependency version checking ([df92e97](https://gitlab.com/openstapps/configuration/commit/df92e97cb65df3088b090ba76320d05938948514))
- simplify dependency version checking ([df92e97](https://gitlab.com/openstapps/configuration/commit/df92e97cb65df3088b090ba76320d05938948514))
# [0.32.0](https://gitlab.com/openstapps/configuration/compare/v0.31.0...v0.32.0) (2022-06-27)
### Features
* copyright notice year replacement ([17a796e](https://gitlab.com/openstapps/configuration/commit/17a796e97b95694ee39dae0958c99279a1936d74))
- copyright notice year replacement ([17a796e](https://gitlab.com/openstapps/configuration/commit/17a796e97b95694ee39dae0958c99279a1936d74))
# [0.31.0](https://gitlab.com/openstapps/configuration/compare/v0.30.0...v0.31.0) (2022-06-02)
### Bug Fixes
* npmignore eslint exceptions ([405f8cf](https://gitlab.com/openstapps/configuration/commit/405f8cf496aee4f8f44ef61ee2b61c4a98343114))
- npmignore eslint exceptions ([405f8cf](https://gitlab.com/openstapps/configuration/commit/405f8cf496aee4f8f44ef61ee2b61c4a98343114))
# [0.30.0](https://gitlab.com/openstapps/configuration/compare/v0.29.1...v0.30.0) (2022-06-01)
### Features
* transition from TSLint to ESLint ([9430e10](https://gitlab.com/openstapps/configuration/commit/9430e103874e2c9c41a8c29b13e1ae56d2379af3))
- transition from TSLint to ESLint ([9430e10](https://gitlab.com/openstapps/configuration/commit/9430e103874e2c9c41a8c29b13e1ae56d2379af3))
## [0.29.1](https://gitlab.com/openstapps/configuration/compare/v0.29.0...v0.29.1) (2022-05-27)
# [0.29.0](https://gitlab.com/openstapps/configuration/compare/v0.28.1...v0.29.0) (2021-12-14)
## [0.28.1](https://gitlab.com/openstapps/configuration/compare/v0.28.0...v0.28.1) (2021-09-13)
### Bug Fixes
* adjust command of typedoc (upgrade typescript) ([7d396f9](https://gitlab.com/openstapps/configuration/commit/7d396f92026ae84888e1b2246f11d3995a4bf11f))
- adjust command of typedoc (upgrade typescript) ([7d396f9](https://gitlab.com/openstapps/configuration/commit/7d396f92026ae84888e1b2246f11d3995a4bf11f))
# [0.28.0](https://gitlab.com/openstapps/configuration/compare/v0.27.0...v0.28.0) (2021-09-13)
# [0.27.0](https://gitlab.com/openstapps/configuration/compare/v0.26.0...v0.27.0) (2021-04-06)
# [0.26.0](https://gitlab.com/openstapps/configuration/compare/v0.25.0...v0.26.0) (2021-02-22)
# [0.25.0](https://gitlab.com/openstapps/configuration/compare/v0.24.0...v0.25.0) (2020-09-17)
### Bug Fixes
* exclude test dir and its subdirs for tslint ([ec15ebe](https://gitlab.com/openstapps/configuration/commit/ec15ebe5c5fb30e638cc721ca916c84186b1d1e0)), closes [#34](https://gitlab.com/openstapps/configuration/issues/34)
- exclude test dir and its subdirs for tslint ([ec15ebe](https://gitlab.com/openstapps/configuration/commit/ec15ebe5c5fb30e638cc721ca916c84186b1d1e0)), closes [#34](https://gitlab.com/openstapps/configuration/issues/34)
### Features
* Change 'npm audit' failure behaviour ([c11b1da](https://gitlab.com/openstapps/configuration/commit/c11b1da9a6546e006bea29cc7f524b94736f7bfb))
- Change 'npm audit' failure behaviour ([c11b1da](https://gitlab.com/openstapps/configuration/commit/c11b1da9a6546e006bea29cc7f524b94736f7bfb))
# [0.24.0](https://gitlab.com/openstapps/configuration/compare/v0.23.0...v0.24.0) (2020-03-03)
# [0.23.0](https://gitlab.com/openstapps/configuration/compare/v0.22.0...v0.23.0) (2020-02-10)
# [0.22.0](https://gitlab.com/openstapps/configuration/compare/v0.21.1...v0.22.0) (2019-11-25)
## [0.21.1](https://gitlab.com/openstapps/configuration/compare/v0.21.0...v0.21.1) (2019-07-15)
### Bug Fixes
* remove package-job when forPackaging is false ([b8cefa4](https://gitlab.com/openstapps/configuration/commit/b8cefa42543b0c370b9b23ca7d1a60b45907771c))
- remove package-job when forPackaging is false ([b8cefa4](https://gitlab.com/openstapps/configuration/commit/b8cefa42543b0c370b9b23ca7d1a60b45907771c))
# [0.21.0](https://gitlab.com/openstapps/configuration/compare/v0.20.0...v0.21.0) (2019-06-24)
### Bug Fixes
* update the nyc configuration ([8ece33b](https://gitlab.com/openstapps/configuration/commit/8ece33b6e6902040d42e8eb0b18237065697673e))
- update the nyc configuration ([8ece33b](https://gitlab.com/openstapps/configuration/commit/8ece33b6e6902040d42e8eb0b18237065697673e))
# [0.20.0](https://gitlab.com/openstapps/configuration/compare/v0.19.0...v0.20.0) (2019-06-06)
### Bug Fixes
* only check copyright years for TypeScript files ([1a4ec52](https://gitlab.com/openstapps/configuration/commit/1a4ec52712a2bc6b58c766141816110292f433ef)), closes [#25](https://gitlab.com/openstapps/configuration/issues/25)
* skip template lines to avoid parser errors ([b995bb5](https://gitlab.com/openstapps/configuration/commit/b995bb5c1439bb2860c04d18cfc485eda7ad110f)), closes [#26](https://gitlab.com/openstapps/configuration/issues/26)
- only check copyright years for TypeScript files ([1a4ec52](https://gitlab.com/openstapps/configuration/commit/1a4ec52712a2bc6b58c766141816110292f433ef)), closes [#25](https://gitlab.com/openstapps/configuration/issues/25)
- skip template lines to avoid parser errors ([b995bb5](https://gitlab.com/openstapps/configuration/commit/b995bb5c1439bb2860c04d18cfc485eda7ad110f)), closes [#26](https://gitlab.com/openstapps/configuration/issues/26)
# [0.19.0](https://gitlab.com/openstapps/configuration/compare/v0.18.0...v0.19.0) (2019-06-04)
# [0.18.0](https://gitlab.com/openstapps/configuration/compare/v0.17.2...v0.18.0) (2019-05-29)
### Features
* automatically generate changelog after version bump ([cbee9b8](https://gitlab.com/openstapps/configuration/commit/cbee9b888cccd2192e6725c7f36e3826becae95b)), closes [#23](https://gitlab.com/openstapps/configuration/issues/23)
- automatically generate changelog after version bump ([cbee9b8](https://gitlab.com/openstapps/configuration/commit/cbee9b888cccd2192e6725c7f36e3826becae95b)), closes [#23](https://gitlab.com/openstapps/configuration/issues/23)
## [0.17.2](https://gitlab.com/openstapps/configuration/compare/v0.17.1...v0.17.2) (2019-05-28)
### Features
* exclude tests from linting ([9e7f467](https://gitlab.com/openstapps/configuration/commit/9e7f46707026239875848048ddffdad3cf4f8c0d))
- exclude tests from linting ([9e7f467](https://gitlab.com/openstapps/configuration/commit/9e7f46707026239875848048ddffdad3cf4f8c0d))
## [0.17.1](https://gitlab.com/openstapps/configuration/compare/v0.17.0...v0.17.1) (2019-05-28)
### Bug Fixes
* fix regression with copyright years ([5659295](https://gitlab.com/openstapps/configuration/commit/5659295b883034296d84aaefc3b00072797a63f9))
- fix regression with copyright years ([5659295](https://gitlab.com/openstapps/configuration/commit/5659295b883034296d84aaefc3b00072797a63f9))
# [0.17.0](https://gitlab.com/openstapps/configuration/compare/v0.16.1...v0.17.0) (2019-05-28)
### Features
* add rule to enforce completed docs ([527a6f9](https://gitlab.com/openstapps/configuration/commit/527a6f9364113405786ffb7e6533842e4d8898ac)), closes [#20](https://gitlab.com/openstapps/configuration/issues/20)
* add sctricter TSLint rules ([76ebbfa](https://gitlab.com/openstapps/configuration/commit/76ebbfab5376c9954c7e9d4e0d9c715089ef1c8b)), closes [#21](https://gitlab.com/openstapps/configuration/issues/21)
* adjust TSLint command to enable advanced rules ([14b6420](https://gitlab.com/openstapps/configuration/commit/14b6420c33aec90d55023aa9b64fd0e69758fffa)), closes [#21](https://gitlab.com/openstapps/configuration/issues/21)
- add rule to enforce completed docs ([527a6f9](https://gitlab.com/openstapps/configuration/commit/527a6f9364113405786ffb7e6533842e4d8898ac)), closes [#20](https://gitlab.com/openstapps/configuration/issues/20)
- add sctricter TSLint rules ([76ebbfa](https://gitlab.com/openstapps/configuration/commit/76ebbfab5376c9954c7e9d4e0d9c715089ef1c8b)), closes [#21](https://gitlab.com/openstapps/configuration/issues/21)
- adjust TSLint command to enable advanced rules ([14b6420](https://gitlab.com/openstapps/configuration/commit/14b6420c33aec90d55023aa9b64fd0e69758fffa)), closes [#21](https://gitlab.com/openstapps/configuration/issues/21)
## [0.16.1](https://gitlab.com/openstapps/configuration/compare/v0.16.0...v0.16.1) (2019-05-24)
### Bug Fixes
* make sure that npmrc is created in correct home directory ([60f7e4c](https://gitlab.com/openstapps/configuration/commit/60f7e4cae28775b67b48aae5624a8062951c5264))
- make sure that npmrc is created in correct home directory ([60f7e4c](https://gitlab.com/openstapps/configuration/commit/60f7e4cae28775b67b48aae5624a8062951c5264))
# [0.16.0](https://gitlab.com/openstapps/configuration/compare/v0.15.0...v0.16.0) (2019-05-22)
### Bug Fixes
* use lib as artifacts path ([ec8c891](https://gitlab.com/openstapps/configuration/commit/ec8c891a7a41c5308ad8a3d0acf8ff5c17754a93)), closes [#19](https://gitlab.com/openstapps/configuration/issues/19)
- use lib as artifacts path ([ec8c891](https://gitlab.com/openstapps/configuration/commit/ec8c891a7a41c5308ad8a3d0acf8ff5c17754a93)), closes [#19](https://gitlab.com/openstapps/configuration/issues/19)
# [0.15.0](https://gitlab.com/openstapps/configuration/compare/v0.14.0...v0.15.0) (2019-05-20)
### Bug Fixes
* remove incremental flag ([73e6f24](https://gitlab.com/openstapps/configuration/commit/73e6f2413b462ddcea6b30e432822a2431384647)), closes [#15](https://gitlab.com/openstapps/configuration/issues/15)
* remove wrong excluded path from nyc config ([cf81c1e](https://gitlab.com/openstapps/configuration/commit/cf81c1e5201213dd9302ecf302b372073f1c480e)), closes [#16](https://gitlab.com/openstapps/configuration/issues/16)
- remove incremental flag ([73e6f24](https://gitlab.com/openstapps/configuration/commit/73e6f2413b462ddcea6b30e432822a2431384647)), closes [#15](https://gitlab.com/openstapps/configuration/issues/15)
- remove wrong excluded path from nyc config ([cf81c1e](https://gitlab.com/openstapps/configuration/commit/cf81c1e5201213dd9302ecf302b372073f1c480e)), closes [#16](https://gitlab.com/openstapps/configuration/issues/16)
### Features
* add check for copyright years ([44c82ad](https://gitlab.com/openstapps/configuration/commit/44c82ade69938157f6b8dfc9a709d33ac73c8da5)), closes [#17](https://gitlab.com/openstapps/configuration/issues/17)
* add rules to enforce automatic package publishing ([1e3e7df](https://gitlab.com/openstapps/configuration/commit/1e3e7dfac8c0887bc3c5758c35fce5ad9b4ebef3)), closes [#18](https://gitlab.com/openstapps/configuration/issues/18)
* warn about extraneous copyright years ([1c826a4](https://gitlab.com/openstapps/configuration/commit/1c826a41e0738f2863809f56edd8be53fdfd6e35)), closes [#17](https://gitlab.com/openstapps/configuration/issues/17)
- add check for copyright years ([44c82ad](https://gitlab.com/openstapps/configuration/commit/44c82ade69938157f6b8dfc9a709d33ac73c8da5)), closes [#17](https://gitlab.com/openstapps/configuration/issues/17)
- add rules to enforce automatic package publishing ([1e3e7df](https://gitlab.com/openstapps/configuration/commit/1e3e7dfac8c0887bc3c5758c35fce5ad9b4ebef3)), closes [#18](https://gitlab.com/openstapps/configuration/issues/18)
- warn about extraneous copyright years ([1c826a4](https://gitlab.com/openstapps/configuration/commit/1c826a41e0738f2863809f56edd8be53fdfd6e35)), closes [#17](https://gitlab.com/openstapps/configuration/issues/17)
# [0.14.0](https://gitlab.com/openstapps/configuration/compare/v0.13.0...v0.14.0) (2019-04-30)
### Features
* add possibility to ignore CI entries ([116ddeb](https://gitlab.com/openstapps/configuration/commit/116ddebfb8714aca85612a55fc0ee398022eb0d3)), closes [#14](https://gitlab.com/openstapps/configuration/issues/14)
- add possibility to ignore CI entries ([116ddeb](https://gitlab.com/openstapps/configuration/commit/116ddebfb8714aca85612a55fc0ee398022eb0d3)), closes [#14](https://gitlab.com/openstapps/configuration/issues/14)
# [0.13.0](https://gitlab.com/openstapps/configuration/compare/v0.12.0...v0.13.0) (2019-04-18)
### Features
* add configuration for configuration checks ([da2d7f6](https://gitlab.com/openstapps/configuration/commit/da2d7f6f91ccfc91d3560c1e380daa4282f1aeb5)), closes [#13](https://gitlab.com/openstapps/configuration/issues/13)
- add configuration for configuration checks ([da2d7f6](https://gitlab.com/openstapps/configuration/commit/da2d7f6f91ccfc91d3560c1e380daa4282f1aeb5)), closes [#13](https://gitlab.com/openstapps/configuration/issues/13)
# [0.12.0](https://gitlab.com/openstapps/configuration/compare/v0.11.0...v0.12.0) (2019-04-16)
### Bug Fixes
* do not escape newlines in scripts ([77bed07](https://gitlab.com/openstapps/configuration/commit/77bed076bbf439a301b6ce4eb4a536ab2b000570))
- do not escape newlines in scripts ([77bed07](https://gitlab.com/openstapps/configuration/commit/77bed076bbf439a301b6ce4eb4a536ab2b000570))
### Features
* add expected build script ([34d3d43](https://gitlab.com/openstapps/configuration/commit/34d3d43ff5963bc2dae95cd8d6eb5def8023f7fc)), closes [#12](https://gitlab.com/openstapps/configuration/issues/12)
- add expected build script ([34d3d43](https://gitlab.com/openstapps/configuration/commit/34d3d43ff5963bc2dae95cd8d6eb5def8023f7fc)), closes [#12](https://gitlab.com/openstapps/configuration/issues/12)
# [0.11.0](https://gitlab.com/openstapps/configuration/compare/v0.10.0...v0.11.0) (2019-04-15)
### Bug Fixes
* exclude docs from packages ([d7b6ecb](https://gitlab.com/openstapps/configuration/commit/d7b6ecb734c008fbad5a9615bf35665fdac20fac)), closes [#11](https://gitlab.com/openstapps/configuration/issues/11)
- exclude docs from packages ([d7b6ecb](https://gitlab.com/openstapps/configuration/commit/d7b6ecb734c008fbad5a9615bf35665fdac20fac)), closes [#11](https://gitlab.com/openstapps/configuration/issues/11)
# [0.10.0](https://gitlab.com/openstapps/configuration/compare/v0.9.0...v0.10.0) (2019-04-09)
### Features
* add check for contributors ([ab81aab](https://gitlab.com/openstapps/configuration/commit/ab81aab046248e8b8379576914b58e23a03fec45))
* check entries in CI config ([61d2285](https://gitlab.com/openstapps/configuration/commit/61d2285a1fd76dee1c02fd2318a92cd2fbe4df71)), closes [#10](https://gitlab.com/openstapps/configuration/issues/10)
- add check for contributors ([ab81aab](https://gitlab.com/openstapps/configuration/commit/ab81aab046248e8b8379576914b58e23a03fec45))
- check entries in CI config ([61d2285](https://gitlab.com/openstapps/configuration/commit/61d2285a1fd76dee1c02fd2318a92cd2fbe4df71)), closes [#10](https://gitlab.com/openstapps/configuration/issues/10)
# [0.9.0](https://gitlab.com/openstapps/configuration/compare/v0.8.0...v0.9.0) (2019-04-08)
# [0.8.0](https://gitlab.com/openstapps/configuration/compare/v0.7.0...v0.8.0) (2019-04-01)
### Bug Fixes
* remove @types/chalk ([bf26eff](https://gitlab.com/openstapps/configuration/commit/bf26effe688299ba18047ca3a8c412ddd162b9c1))
- remove @types/chalk ([bf26eff](https://gitlab.com/openstapps/configuration/commit/bf26effe688299ba18047ca3a8c412ddd162b9c1))
# [0.7.0](https://gitlab.com/openstapps/configuration/compare/v0.6.0...v0.7.0) (2019-02-26)
### Features
* add ability to check scripts ([662f534](https://gitlab.com/openstapps/configuration/commit/662f53455097ba13c84e20111d99bf60c3f967c2)), closes [#6](https://gitlab.com/openstapps/configuration/issues/6)
- add ability to check scripts ([662f534](https://gitlab.com/openstapps/configuration/commit/662f53455097ba13c84e20111d99bf60c3f967c2)), closes [#6](https://gitlab.com/openstapps/configuration/issues/6)
# [0.6.0](https://gitlab.com/openstapps/configuration/compare/v0.5.1...v0.6.0) (2019-02-13)
### Bug Fixes
* correctly check tslint.json ([9c8ce48](https://gitlab.com/openstapps/configuration/commit/9c8ce486ce03ebff344b53b566afa3e164c60647)), closes [#3](https://gitlab.com/openstapps/configuration/issues/3) [#4](https://gitlab.com/openstapps/configuration/issues/4)
- correctly check tslint.json ([9c8ce48](https://gitlab.com/openstapps/configuration/commit/9c8ce486ce03ebff344b53b566afa3e164c60647)), closes [#3](https://gitlab.com/openstapps/configuration/issues/3) [#4](https://gitlab.com/openstapps/configuration/issues/4)
## [0.5.1](https://gitlab.com/openstapps/configuration/compare/v0.5.0...v0.5.1) (2019-01-28)
### Bug Fixes
* exclude CLI file in nyc configuration ([c46dc18](https://gitlab.com/openstapps/configuration/commit/c46dc1828c826c7025017314fdf2fdce70a58772)), closes [#5](https://gitlab.com/openstapps/configuration/issues/5)
- exclude CLI file in nyc configuration ([c46dc18](https://gitlab.com/openstapps/configuration/commit/c46dc1828c826c7025017314fdf2fdce70a58772)), closes [#5](https://gitlab.com/openstapps/configuration/issues/5)
# [0.5.0](https://gitlab.com/openstapps/configuration/compare/v0.4.0...v0.5.0) (2018-12-18)
### Bug Fixes
* use template for .gitignore ([04b6154](https://gitlab.com/openstapps/configuration/commit/04b6154f9a13e68db00a2d80f54a719482c9a4f9))
- use template for .gitignore ([04b6154](https://gitlab.com/openstapps/configuration/commit/04b6154f9a13e68db00a2d80f54a719482c9a4f9))
# [0.4.0](https://gitlab.com/openstapps/configuration/compare/v0.3.1...v0.4.0) (2018-12-11)
### Features
* disallow spaces in curly braces ([4e14415](https://gitlab.com/openstapps/configuration/commit/4e1441564b6785c118f14ac94659cf1339c0dac3)), closes [#2](https://gitlab.com/openstapps/configuration/issues/2)
- disallow spaces in curly braces ([4e14415](https://gitlab.com/openstapps/configuration/commit/4e1441564b6785c118f14ac94659cf1339c0dac3)), closes [#2](https://gitlab.com/openstapps/configuration/issues/2)
## [0.3.1](https://gitlab.com/openstapps/configuration/compare/v0.3.0...v0.3.1) (2018-12-04)
# [0.3.0](https://gitlab.com/openstapps/configuration/compare/v0.2.0...v0.3.0) (2018-12-04)
### Features
* add cli to copy configurations ([98aa5a5](https://gitlab.com/openstapps/configuration/commit/98aa5a5f70bb17ca05574a291831158eea7920ef)), closes [#1](https://gitlab.com/openstapps/configuration/issues/1)
* add script to check configuration ([adfc5aa](https://gitlab.com/openstapps/configuration/commit/adfc5aa5dc149cb6d634015baceea5839ae29190))
- add cli to copy configurations ([98aa5a5](https://gitlab.com/openstapps/configuration/commit/98aa5a5f70bb17ca05574a291831158eea7920ef)), closes [#1](https://gitlab.com/openstapps/configuration/issues/1)
- add script to check configuration ([adfc5aa](https://gitlab.com/openstapps/configuration/commit/adfc5aa5dc149cb6d634015baceea5839ae29190))
# [0.2.0](https://gitlab.com/openstapps/configuration/compare/v0.1.1...v0.2.0) (2018-11-30)
### Features
* copy .editorconfig during installation ([f228af2](https://gitlab.com/openstapps/configuration/commit/f228af24f9a20457f89719c093cc9239f35cf0b3))
- copy .editorconfig during installation ([f228af2](https://gitlab.com/openstapps/configuration/commit/f228af24f9a20457f89719c093cc9239f35cf0b3))
## [0.1.1](https://gitlab.com/openstapps/configuration/compare/v0.1.0...v0.1.1) (2018-11-30)
# [0.1.0](https://gitlab.com/openstapps/configuration/compare/v0.0.1...v0.1.0) (2018-11-30)
### Features
* add editor config ([ecbc768](https://gitlab.com/openstapps/configuration/commit/ecbc768b32daab5f32c5f91aeac9252937586465))
- add editor config ([ecbc768](https://gitlab.com/openstapps/configuration/commit/ecbc768b32daab5f32c5f91aeac9252937586465))
## [0.0.1](https://gitlab.com/openstapps/configuration/compare/e2bb08d1e879f8e2aac0f59930f50ff9dfe7526b...v0.0.1) (2018-11-28)
### Features
* add tslint and tsconfig ([e2bb08d](https://gitlab.com/openstapps/configuration/commit/e2bb08d1e879f8e2aac0f59930f50ff9dfe7526b))
- add tslint and tsconfig ([e2bb08d](https://gitlab.com/openstapps/configuration/commit/e2bb08d1e879f8e2aac0f59930f50ff9dfe7526b))
+1 -1
View File
@@ -1,2 +1,2 @@
#!/usr/bin/env node
require('./lib/cli.js')
import './lib/cli.js';
+5 -5
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/configuration",
"description": "A collection of configuration base files for StApps projects.",
"version": "2.1.0",
"type": "module",
"license": "GPL-3.0-only",
"repository": "git@gitlab.com:openstapps/configuration.git",
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
@@ -16,8 +17,7 @@
"openstapps-configuration": "app.js"
},
"scripts": {
"build": "npm run lint && npm run compile",
"compile": "rimraf lib && tsc --outDir lib",
"build": "rimraf lib && tsc --outDir lib",
"documentation": "typedoc --out docs --readme README.md --includeVersion --listInvalidSymbolLinks --entryPointStrategy expand src",
"format:fix": "prettier --write .",
"lint": "eslint -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/",
@@ -48,10 +48,10 @@
"eslint-plugin-unicorn": "45.0.2",
"prettier": "2.8.3",
"rimraf": "4.4.0",
"typedoc": "0.22.18",
"typescript": "4.4.4"
"typedoc": "0.23.26",
"typescript": "4.8.4"
},
"peerDependencies": {
"typescript": "4.4.4"
"typescript": "4.8.4"
}
}
+1 -1
View File
@@ -30,7 +30,7 @@ import {
consoleLog,
getConfiguration,
getRules,
} from './common';
} from './common.js';
// current working directory
const currentWorkingDirectory = cwd();
+8 -7
View File
@@ -8,10 +8,14 @@
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"inlineSourceMap": true,
"module": "CommonJS",
"moduleResolution": "node",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"noErrorTruncation": true,
"noFallthroughCasesInSwitch": true,
"isolatedModules": true,
"allowJs": true,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
@@ -19,10 +23,7 @@
"outDir": "../../../lib/",
"lib": ["ES2021", "DOM"],
"strict": true,
"target": "es6"
"target": "ES2021"
},
"exclude": [
"../../../lib/",
"../../../test/"
]
"exclude": ["../../../app.js", "../../../lib/", "../../../test/"]
}
+5 -1
View File
@@ -1,12 +1,16 @@
module.exports = {
root: true,
ignorePatterns: ['projects/**/*'],
parserOptions: {
sourceType: 'module',
ecmaVersion: 2021,
},
overrides: [
{
files: ['*.ts'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 2020,
ecmaVersion: 2021,
sourceType: 'module',
project: ['tsconfig.json'],
createDefaultProgram: true,
+2 -1
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/eslint-config",
"description": "A collection of configuration base files for StApps projects.",
"version": "2.1.0",
"type": "commonjs",
"license": "GPL-3.0-only",
"repository": "git@gitlab.com:openstapps/eslint-config.git",
"author": "Thea Schöbl",
@@ -27,7 +28,7 @@
"eslint-plugin-prettier": "4.2.1",
"eslint-plugin-unicorn": "45.0.2",
"prettier": "2.8.3",
"typescript": "4.4.4"
"typescript": "4.8.4"
},
"peerDependencies": {
"@typescript-eslint/eslint-plugin": "5.49.0",
@@ -2,6 +2,7 @@
"name": "@openstapps/prettier-config",
"description": "StApps Prettier Config",
"version": "2.1.0",
"type": "module",
"license": "GPL-3.0-only",
"repository": "git@gitlab.com:openstapps/prettier-config.git",
"author": "Thea Schöbl <dev@theaninova.de>",
+1 -1
View File
@@ -1,2 +1,2 @@
#!/usr/bin/env node
require('./lib/cli.js')
import './lib/cli.js';
+3 -2
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/projectmanagement",
"description": "Main documentation and scripts for maintenance.",
"version": "2.1.0",
"type": "module",
"license": "GPL-3.0-only",
"repository": "git@gitlab.com:openstapps/projectmanagement.git",
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
@@ -67,8 +68,8 @@
"prettier": "2.8.3",
"rimraf": "4.4.0",
"ts-node": "10.9.1",
"typedoc": "0.22.18",
"typescript": "4.4.4"
"typedoc": "0.23.26",
"typescript": "4.8.4"
},
"nyc": {
"all": true,
+7 -7
View File
@@ -14,17 +14,17 @@
*/
import {Api} from '@openstapps/gitlab-api';
import {Logger} from '@openstapps/logger';
import {AddLogLevel} from '@openstapps/logger/lib/transformations/add-log-level';
import {Colorize} from '@openstapps/logger/lib/transformations/colorize';
import {AddLogLevel} from '@openstapps/logger/lib/transformations/add-log-level.js';
import {Colorize} from '@openstapps/logger/lib/transformations/colorize.js';
import {Command} from 'commander';
import {existsSync, readFileSync} from 'fs';
import path from 'path';
import {cwd, stdout} from 'process';
import {GITLAB_API_URL} from './configuration';
import {getUsedVersionMajorMinor} from './tasks/get-used-version';
import {remind} from './tasks/remind';
import {tidy} from './tasks/tidy';
import {unlabel} from './tasks/unlabel';
import {GITLAB_API_URL} from './configuration.js';
import {getUsedVersionMajorMinor} from './tasks/get-used-version.js';
import {remind} from './tasks/remind.js';
import {tidy} from './tasks/tidy.js';
import {unlabel} from './tasks/unlabel.js';
// add default handler for unhandled rejections
process.on('unhandledRejection', async reason => {
@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Api} from '@openstapps/gitlab-api';
import {Project} from '@openstapps/gitlab-api/lib/types';
import {Project} from '@openstapps/gitlab-api/lib/types.js';
import {Logger} from '@openstapps/logger';
/**
@@ -12,7 +12,7 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Label} from '@openstapps/gitlab-api/lib/types';
import {Label} from '@openstapps/gitlab-api/lib/types.js';
import setHours from 'date-fns/setHours';
import nextThursday from 'date-fns/nextThursday';
import previousThursday from 'date-fns/previousThursday';
@@ -20,10 +20,10 @@ import {
MergeRequestState,
Scope,
User,
} from '@openstapps/gitlab-api/lib/types';
} from '@openstapps/gitlab-api/lib/types.js';
import {Logger} from '@openstapps/logger';
import {WebClient} from '@slack/web-api';
import {GROUPS, MAX_DEPTH_FOR_REMINDER, NOTE_PREFIX, SLACK_CHANNEL} from '../configuration';
import {GROUPS, MAX_DEPTH_FOR_REMINDER, NOTE_PREFIX, SLACK_CHANNEL} from '../configuration.js';
/**
* Remind people of open merge requests
@@ -20,13 +20,13 @@ import {
MergeRequestState,
Project,
User,
} from '@openstapps/gitlab-api/lib/types';
} from '@openstapps/gitlab-api/lib/types.js';
import {Logger} from '@openstapps/logger';
import {render} from 'mustache';
import mustache from 'mustache';
import path from 'path';
import {cwd} from 'process';
import {getProjects} from '../common';
import {BOLD_LABELS, GROUPS, LABEL_WEIGHTS, NEXT_MEETING} from '../configuration';
import {getProjects} from '../common.js';
import {BOLD_LABELS, GROUPS, LABEL_WEIGHTS, NEXT_MEETING} from '../configuration.js';
import differenceInWeeks from 'date-fns/differenceInWeeks';
import formatISO from 'date-fns/formatISO';
import format from 'date-fns/format';
@@ -446,7 +446,7 @@ export async function generateReport(api: Api, label: string, template: string):
timestamp: format(Date.now(), 'PPPPpp', {locale: de}),
};
return render(template, structureForTemplate);
return mustache.render(template, structureForTemplate);
}
/**
@@ -21,9 +21,9 @@ import {
Milestone,
Project,
Scope,
} from '@openstapps/gitlab-api/lib/types';
} from '@openstapps/gitlab-api/lib/types.js';
import {Logger} from '@openstapps/logger';
import {getProjects} from '../common';
import {getProjects} from '../common.js';
import {
GROUPS,
NEEDED_LABELS,
@@ -31,7 +31,7 @@ import {
NOTE_PREFIX,
PROTECTED_BRANCHES,
SCHOOLS,
} from '../configuration';
} from '../configuration.js';
/**
* Tidy issues without milestone
@@ -13,9 +13,9 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Api} from '@openstapps/gitlab-api';
import {IssueState, Scope} from '@openstapps/gitlab-api/lib/types';
import {IssueState, Scope} from '@openstapps/gitlab-api/lib/types.js';
import {Logger} from '@openstapps/logger';
import {GROUPS, LAST_MEETING, NOTE_PREFIX} from '../configuration';
import {GROUPS, LAST_MEETING, NOTE_PREFIX} from '../configuration.js';
import isBefore from 'date-fns/isBefore';
/**
@@ -5,7 +5,7 @@ import {execSync} from 'child_process';
import {suite, test} from '@testdeck/mocha';
import {join} from 'path';
import {dirSync} from 'tmp';
import {getUsedVersion, getUsedVersionMajorMinor} from '../src/tasks/get-used-version';
import {getUsedVersion, getUsedVersionMajorMinor} from '../src/tasks/get-used-version.js';
chai.use(chaiAsPromised);
chai.should();
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'
+3 -2
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/minimal-connector",
"description": "This is a minimal connector which serves as an example",
"version": "2.1.0",
"type": "module",
"license": "GPL-3.0-only",
"repository": "git@gitlab.com:openstapps/minimal-connector.git",
"author": "Anselm Stordeur <anselmstordeur@gmail.com>",
@@ -48,8 +49,8 @@
"nyc": "15.1.0",
"rimraf": "4.4.0",
"ts-node": "10.9.1",
"typedoc": "0.22.18",
"typescript": "4.4.4"
"typedoc": "0.23.26",
"typescript": "4.8.4"
},
"nyc": {
"all": true,
+2 -4
View File
@@ -1,5 +1,3 @@
#!/usr/bin/env node
/*
* Copyright (C) 2018, 2019 StApps
* This program is free software: you can redistribute it and/or modify it
@@ -18,8 +16,8 @@ import {Logger} from '@openstapps/logger';
import {Command} from 'commander';
import {readFileSync} from 'fs';
import {join} from 'path';
import {executeConnector, isValidSCNamespace} from './common';
import {MinimalConnector} from './minimal-connector';
import {executeConnector, isValidSCNamespace} from './common.js';
import {MinimalConnector} from './minimal-connector.js';
process.on('unhandledRejection', (error) => {
throw error;
+3 -3
View File
@@ -12,14 +12,14 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {ConnectorClient} from '@openstapps/api/lib/connector-client';
import {HttpClient} from '@openstapps/api/lib/http-client';
import {ConnectorClient} from '@openstapps/api/lib/connector-client.js';
import {HttpClient} from '@openstapps/api/lib/http-client.js';
import {
SCLicensePlate,
SCNamespaces,
SCThings,
} from '@openstapps/core';
import {Connector} from './connector';
import {Connector} from './connector.js';
/**
* Checks if the input is a valid SCNamespace
+1 -1
View File
@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCLicensePlate, SCThingOriginType, SCThingRemoteOrigin, SCThings} from '@openstapps/core';
import {createUUID} from './common';
import {createUUID} from './common.js';
/**
* Provides abstracted methods for the connector execution process
@@ -13,8 +13,8 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCLicensePlate, SCMessage, SCThingRemoteOrigin, SCThingType} from '@openstapps/core';
import {createUUID} from './common';
import {Connector} from './connector';
import {createUUID} from './common.js';
import {Connector} from './connector.js';
/**
* Example connector
@@ -15,8 +15,8 @@
import {SCThingType, SCBulkResponse, SCLicensePlate} from '@openstapps/core';
import {expect} from 'chai';
import {suite, test} from '@testdeck/mocha';
import {MinimalConnector} from '../src/minimal-connector';
import {createUUID, executeConnector, isValidSCNamespace} from '../src/common';
import {MinimalConnector} from '../src/minimal-connector.js';
import {createUUID, executeConnector, isValidSCNamespace} from '../src/common.js';
import nock = require('nock');
@suite
@@ -15,7 +15,7 @@
import {SCThingOriginType} from '@openstapps/core';
import {expect} from 'chai';
import {suite, test} from '@testdeck/mocha';
import {MinimalConnector} from '../src/minimal-connector';
import {MinimalConnector} from '../src/minimal-connector.js';
@suite
export class ConnectorSpec {
@@ -17,7 +17,7 @@ import {Validator} from '@openstapps/core-tools/lib/validate';
import {expect} from 'chai';
import {suite, test} from '@testdeck/mocha';
import {join} from 'path';
import {MinimalConnector} from '../src/minimal-connector';
import {MinimalConnector} from '../src/minimal-connector.js';
@suite
export class MinimalConnectorSpec {
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'
+3 -2
View File
@@ -2,6 +2,7 @@
"name": "@openstapps/minimal-plugin",
"description": "Minimal Plugin",
"version": "2.1.0",
"type": "module",
"license": "GPL-3.0-only",
"author": "Thea Schöbl",
"contributors": [
@@ -36,7 +37,7 @@
"@types/node": "18.15.3",
"conventional-changelog-cli": "2.2.2",
"rimraf": "4.4.0",
"typedoc": "0.22.18",
"typescript": "4.4.4"
"typedoc": "0.23.26",
"typescript": "4.8.4"
}
}
+4 -6
View File
@@ -1,5 +1,3 @@
#!/usr/bin/env node
/*
* Copyright (C) 2019-2021 StApps
* This program is free software: you can redistribute it and/or modify it
@@ -15,14 +13,14 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {HttpClient} from '@openstapps/api/lib/http-client';
import {PluginClient} from '@openstapps/api/lib/plugin-client';
import {Converter} from '@openstapps/core-tools/lib/schema';
import {HttpClient} from '@openstapps/api/lib/http-client.js';
import {PluginClient} from '@openstapps/api/lib/plugin-client.js';
import {Converter} from '@openstapps/core-tools/lib/schema.js';
import {Logger} from '@openstapps/logger';
import {Command, Option} from 'commander';
import {readFileSync} from 'fs';
import {join, resolve} from 'path';
import {MinimalPlugin} from './plugin/minimal-plugin';
import {MinimalPlugin} from './plugin/minimal-plugin.js';
process.on('unhandledRejection', (error) => {
@@ -12,10 +12,10 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Plugin} from '@openstapps/api/lib/plugin';
import {Plugin} from '@openstapps/api/lib/plugin.js';
import * as express from 'express';
import {SCMinimalRequest} from './protocol/request';
import {SCMinimalResponse} from './protocol/response';
import {SCMinimalRequest} from './protocol/request.js';
import {SCMinimalResponse} from './protocol/response.js';
/**
* The Plugin Class
+1 -1
View File
@@ -12,7 +12,7 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import type {IconConfig} from './scripts/icon-config';
import type {IconConfig} from './scripts/icon-config.js';
const config: IconConfig = {
inputPath: 'node_modules/material-symbols/material-symbols-rounded.woff2',
+1 -1
View File
@@ -170,7 +170,7 @@
"protractor": "7.0.0",
"surge": "0.23.1",
"ts-node": "10.9.1",
"typescript": "4.4.4",
"typescript": "4.8.4",
"webpack-bundle-analyzer": "4.7.0"
},
"cordova": {
+2 -2
View File
@@ -13,8 +13,8 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import fs from 'fs';
import {omit} from '../src/app/_helpers/collections/omit';
import {pickBy} from '../src/app/_helpers/collections/pick';
import {omit} from '../src/app/_helpers/collections/omit.js';
import {pickBy} from '../src/app/_helpers/collections/pick.js';
/**
* accumulate and transform licenses based on two license files
@@ -15,7 +15,7 @@
import fontkit, {Font} from 'fontkit';
import config from '../icons.config';
import {existsSync} from 'fs';
import {getUsedIconsHtml, getUsedIconsTS} from './gather-used-icons';
import {getUsedIconsHtml, getUsedIconsTS} from './gather-used-icons.js';
const commandName = '"npm run minify-icons"';
const originalFont = fontkit.openSync(config.inputPath);
+1 -1
View File
@@ -14,7 +14,7 @@
*/
import glob from 'glob';
import {readFileSync} from 'fs';
import {matchPropertyContent, matchTagProperties} from '../src/app/util/ion-icon/icon-match';
import {matchPropertyContent, matchTagProperties} from '../src/app/util/ion-icon/icon-match.js';
const globPromise = (pattern: string) =>
new Promise<string[]>((resolve, reject) =>
+1 -1
View File
@@ -18,7 +18,7 @@ import fontkit from 'fontkit';
import {exec} from 'child_process';
import config from '../icons.config';
import {statSync} from 'fs';
import {getUsedIconsHtml, getUsedIconsTS} from './gather-used-icons';
import {getUsedIconsHtml, getUsedIconsTS} from './gather-used-icons.js';
/**
*
@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {chunk} from './chunk';
import {chunk} from './chunk.js';
describe('chunk', function () {
it('should chunk items in the correct sizes', function () {
@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {differenceBy} from './difference';
import {differenceBy} from './difference.js';
describe('differenceBy', function () {
it('should return the difference of two arrays', function () {
@@ -12,7 +12,7 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {get} from './get';
import {get} from './get.js';
describe('get', function () {
it('should get a simple path', function () {
@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {groupBy, groupByStable, groupByProperty} from './group-by';
import {groupBy, groupByStable, groupByProperty} from './group-by.js';
describe('groupBy', () => {
it('should group an array by a key', () => {

Some files were not shown because too many files have changed in this diff Show More