feat: migrate to esm

This commit is contained in:
2023-03-16 01:58:13 +01:00
parent fd740b3091
commit 4df19e8c20
512 changed files with 3016 additions and 2222 deletions

8
.changeset/README.md Normal file
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
.changeset/config.json Normal file
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": []
}

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
},

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
backend/backend/app.js Normal file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'

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

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)

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"
}
}
}
}

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

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();

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

View File

@@ -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

View File

@@ -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';
/**

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

View File

@@ -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

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

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

View File

@@ -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
*/

View File

@@ -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

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

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

View File

@@ -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

View File

@@ -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;
}

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

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

View File

@@ -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

View File

@@ -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

View File

@@ -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';

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';

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 () {

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';
/**

View File

@@ -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 () {

View File

@@ -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();

View File

@@ -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

View File

@@ -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 () {

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_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';

View File

@@ -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);

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;

View File

@@ -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 () {

View File

@@ -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);

View File

@@ -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);

View File

@@ -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';

View File

@@ -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>> = {

View File

@@ -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);

View File

@@ -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';

View File

@@ -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 () {

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
backend/proxy/app.js Normal file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'

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+'],

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,

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),
);

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';

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);
}
/**

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);

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';

View File

@@ -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)

View File

@@ -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

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))

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env node
require('./lib/cli.js')
import './lib/cli.js';

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"
}
}

View File

@@ -30,7 +30,7 @@ import {
consoleLog,
getConfiguration,
getRules,
} from './common';
} from './common.js';
// current working directory
const currentWorkingDirectory = cwd();

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/"]
}

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,

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",

View File

@@ -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>",

View File

@@ -1,2 +1,2 @@
#!/usr/bin/env node
require('./lib/cli.js')
import './lib/cli.js';

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,

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 => {

View File

@@ -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';
/**

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 {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';

View File

@@ -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

View File

@@ -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);
}
/**

View File

@@ -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

View File

@@ -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';
/**

View File

@@ -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();

View File

@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'

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,

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;

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

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

View File

@@ -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

View File

@@ -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

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -0,0 +1,2 @@
#!/usr/bin/env node
import './lib/cli.js'

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"
}
}

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) => {

View File

@@ -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

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',

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": {

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

View File

@@ -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);

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) =>

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';
/**
*

View File

@@ -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 () {

View File

@@ -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 () {

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 {get} from './get';
import {get} from './get.js';
describe('get', function () {
it('should get a simple path', function () {

View File

@@ -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