ness
Version:
✪ No-effort static sites deployed to your AWS account.
59 lines • 8.05 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const frameworks = __importStar(require("./frameworks"));
describe('match', () => {
const gatsbyDetector = {
framework: { name: 'gatsby', dist: 'public', build: 'gatsby build' },
requiredFiles: ['package.json', 'gatsby-config.js'],
requiredDependencies: ['gatsby'],
};
const nextDetector = {
framework: { name: 'next', dist: '.next', build: 'next' },
requiredFiles: ['package.json'],
requiredDependencies: ['next'],
};
test('gatsby detector matches gatsby projects only', async () => {
expect(await frameworks.match(gatsbyDetector, './test/test-gatsby-project')).toBe(true);
expect(await frameworks.match(gatsbyDetector, './test/test-next-project')).toBe(false);
expect(await frameworks.match(gatsbyDetector, './test/test-project')).toBe(false);
});
test('next detector matches next projects only', async () => {
expect(await frameworks.match(nextDetector, './test/test-next-project')).toBe(true);
expect(await frameworks.match(nextDetector, './test/test-gatsby-project')).toBe(false);
expect(await frameworks.match(nextDetector, './test/test-project')).toBe(false);
});
});
describe('detectFramework', () => {
test('gatsby project detected', async () => {
const framework = await frameworks.detectFramework('./test/test-gatsby-project');
expect(framework).toMatchObject({ name: 'gatsby', dist: 'public', build: 'npm run build' });
});
test('next project detected', async () => {
const framework = await frameworks.detectFramework('./test/test-next-project');
expect(framework).toMatchObject({ name: 'next', dist: '.next', build: 'yarn build' });
});
test('no framework detected', async () => {
const framework = await frameworks.detectFramework('./test/test-project');
expect(framework).toBe(undefined);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3Jrcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2ZyYW1ld29ya3MudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBMEM7QUFFMUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7SUFDckIsTUFBTSxjQUFjLEdBQUc7UUFDckIsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUM7UUFDbEUsYUFBYSxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDO1FBQ25ELG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ2pDLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRztRQUNuQixTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQztRQUN2RCxhQUFhLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFDL0Isb0JBQW9CLEVBQUUsQ0FBQyxNQUFNLENBQUM7S0FDL0IsQ0FBQTtJQUVELElBQUksQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM5RCxNQUFNLENBQUMsTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNuRixDQUFDLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxRCxNQUFNLENBQUMsTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25GLE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNqRixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBO0FBRUYsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMvQixJQUFJLENBQUMseUJBQXlCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekMsTUFBTSxTQUFTLEdBQUcsTUFBTSxVQUFVLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUE7UUFDaEYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQTtJQUMzRixDQUFDLENBQUMsQ0FBQTtJQUNGLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QyxNQUFNLFNBQVMsR0FBRyxNQUFNLFVBQVUsQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtRQUM5RSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFBO0lBQ3JGLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sVUFBVSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ3pFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDbkMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyYW1ld29ya3MgZnJvbSAnLi9mcmFtZXdvcmtzJ1xuXG5kZXNjcmliZSgnbWF0Y2gnLCAoKSA9PiB7XG4gIGNvbnN0IGdhdHNieURldGVjdG9yID0ge1xuICAgIGZyYW1ld29yazoge25hbWU6ICdnYXRzYnknLCBkaXN0OiAncHVibGljJywgYnVpbGQ6ICdnYXRzYnkgYnVpbGQnfSxcbiAgICByZXF1aXJlZEZpbGVzOiBbJ3BhY2thZ2UuanNvbicsICdnYXRzYnktY29uZmlnLmpzJ10sXG4gICAgcmVxdWlyZWREZXBlbmRlbmNpZXM6IFsnZ2F0c2J5J10sXG4gIH1cblxuICBjb25zdCBuZXh0RGV0ZWN0b3IgPSB7XG4gICAgZnJhbWV3b3JrOiB7bmFtZTogJ25leHQnLCBkaXN0OiAnLm5leHQnLCBidWlsZDogJ25leHQnfSxcbiAgICByZXF1aXJlZEZpbGVzOiBbJ3BhY2thZ2UuanNvbiddLFxuICAgIHJlcXVpcmVkRGVwZW5kZW5jaWVzOiBbJ25leHQnXSxcbiAgfVxuXG4gIHRlc3QoJ2dhdHNieSBkZXRlY3RvciBtYXRjaGVzIGdhdHNieSBwcm9qZWN0cyBvbmx5JywgYXN5bmMgKCkgPT4ge1xuICAgIGV4cGVjdChhd2FpdCBmcmFtZXdvcmtzLm1hdGNoKGdhdHNieURldGVjdG9yLCAnLi90ZXN0L3Rlc3QtZ2F0c2J5LXByb2plY3QnKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChhd2FpdCBmcmFtZXdvcmtzLm1hdGNoKGdhdHNieURldGVjdG9yLCAnLi90ZXN0L3Rlc3QtbmV4dC1wcm9qZWN0JykpLnRvQmUoZmFsc2UpXG4gICAgZXhwZWN0KGF3YWl0IGZyYW1ld29ya3MubWF0Y2goZ2F0c2J5RGV0ZWN0b3IsICcuL3Rlc3QvdGVzdC1wcm9qZWN0JykpLnRvQmUoZmFsc2UpXG4gIH0pXG5cbiAgdGVzdCgnbmV4dCBkZXRlY3RvciBtYXRjaGVzIG5leHQgcHJvamVjdHMgb25seScsIGFzeW5jICgpID0+IHtcbiAgICBleHBlY3QoYXdhaXQgZnJhbWV3b3Jrcy5tYXRjaChuZXh0RGV0ZWN0b3IsICcuL3Rlc3QvdGVzdC1uZXh0LXByb2plY3QnKSkudG9CZSh0cnVlKVxuICAgIGV4cGVjdChhd2FpdCBmcmFtZXdvcmtzLm1hdGNoKG5leHREZXRlY3RvciwgJy4vdGVzdC90ZXN0LWdhdHNieS1wcm9qZWN0JykpLnRvQmUoZmFsc2UpXG4gICAgZXhwZWN0KGF3YWl0IGZyYW1ld29ya3MubWF0Y2gobmV4dERldGVjdG9yLCAnLi90ZXN0L3Rlc3QtcHJvamVjdCcpKS50b0JlKGZhbHNlKVxuICB9KVxufSlcblxuZGVzY3JpYmUoJ2RldGVjdEZyYW1ld29yaycsICgpID0+IHtcbiAgdGVzdCgnZ2F0c2J5IHByb2plY3QgZGV0ZWN0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZnJhbWV3b3JrID0gYXdhaXQgZnJhbWV3b3Jrcy5kZXRlY3RGcmFtZXdvcmsoJy4vdGVzdC90ZXN0LWdhdHNieS1wcm9qZWN0JylcbiAgICBleHBlY3QoZnJhbWV3b3JrKS50b01hdGNoT2JqZWN0KHtuYW1lOiAnZ2F0c2J5JywgZGlzdDogJ3B1YmxpYycsIGJ1aWxkOiAnbnBtIHJ1biBidWlsZCd9KVxuICB9KVxuICB0ZXN0KCduZXh0IHByb2plY3QgZGV0ZWN0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZnJhbWV3b3JrID0gYXdhaXQgZnJhbWV3b3Jrcy5kZXRlY3RGcmFtZXdvcmsoJy4vdGVzdC90ZXN0LW5leHQtcHJvamVjdCcpXG4gICAgZXhwZWN0KGZyYW1ld29yaykudG9NYXRjaE9iamVjdCh7bmFtZTogJ25leHQnLCBkaXN0OiAnLm5leHQnLCBidWlsZDogJ3lhcm4gYnVpbGQnfSlcbiAgfSlcbiAgdGVzdCgnbm8gZnJhbWV3b3JrIGRldGVjdGVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZyYW1ld29yayA9IGF3YWl0IGZyYW1ld29ya3MuZGV0ZWN0RnJhbWV3b3JrKCcuL3Rlc3QvdGVzdC1wcm9qZWN0JylcbiAgICBleHBlY3QoZnJhbWV3b3JrKS50b0JlKHVuZGVmaW5lZClcbiAgfSlcbn0pXG4iXX0=