aberlaas 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -20
- package/commands/ci/index.js +14 -99
- package/commands/compress/dummy.js +11 -0
- package/commands/compress/index.js +5 -14
- package/commands/compress/png.js +18 -9
- package/commands/init/index.js +23 -7
- package/commands/lint/css.js +27 -21
- package/commands/lint/helpers/prettier.js +40 -12
- package/commands/lint/index.js +1 -1
- package/commands/lint/js.js +3 -4
- package/commands/lint/json.js +6 -5
- package/commands/lint/yml.js +6 -5
- package/commands/precommit/index.js +4 -3
- package/commands/setup/index.js +0 -12
- package/commands/test/index.js +50 -49
- package/configs/eslint.cjs +20 -3
- package/configs/lintstaged.js +25 -0
- package/configs/node.cjs +1 -0
- package/configs/{prettier.cjs → prettier.js} +1 -1
- package/configs/{stylelint.cjs → stylelint.js} +1 -1
- package/configs/vite.js +9 -2
- package/helper.js +13 -0
- package/main.js +0 -2
- package/package.json +10 -16
- package/templates/_circleci/config.yml +0 -1
- package/templates/_eslintignore.conf +4 -1
- package/templates/_gitattributes +3 -0
- package/templates/_gitignore +28 -0
- package/templates/_yarnrc.yml +9 -0
- package/templates/lintstaged.config.js +4 -0
- package/templates/prettier.config.js +4 -0
- package/templates/scripts/compress +4 -0
- package/templates/scripts/hooks/pre-commit +1 -1
- package/templates/stylelint.config.js +4 -0
- package/commands/ci/autoRelease.js +0 -143
- package/commands/release/index.js +0 -76
- package/commands/setup/autoRelease/envVars.js +0 -56
- package/commands/setup/autoRelease/index.js +0 -59
- package/commands/setup/autoRelease/privateKey.js +0 -41
- package/commands/setup/autoRelease/publicKey.js +0 -55
- package/configs/jest/index.cjs +0 -52
- package/configs/jest/jest-extended.cjs +0 -3
- package/configs/jest/setupFileAfterEnv.cjs +0 -13
- package/configs/jest/sharedState.cjs +0 -14
- package/configs/jest/testEnvironment.cjs +0 -46
- package/configs/jest.cjs +0 -1
- package/configs/lintstaged.cjs +0 -25
- package/templates/_lintstagedrc.cjs +0 -4
- package/templates/_prettierrc.cjs +0 -4
- package/templates/_stylelintrc.cjs +0 -4
- package/templates/jest.config.cjs +0 -4
package/commands/lint/js.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import helper from '../../helper.js';
|
|
2
2
|
import _ from 'golgoth/lodash.js';
|
|
3
3
|
import firostError from 'firost/error.js';
|
|
4
|
-
import run from 'firost/run.js';
|
|
5
4
|
import { ESLint } from 'eslint';
|
|
6
5
|
|
|
7
6
|
export default {
|
|
@@ -11,7 +10,8 @@ export default {
|
|
|
11
10
|
* @returns {Array} Array of files
|
|
12
11
|
**/
|
|
13
12
|
async getInputFiles(userPatterns) {
|
|
14
|
-
|
|
13
|
+
const filePatterns = _.isEmpty(userPatterns) ? ['./**/*.js'] : userPatterns;
|
|
14
|
+
return await helper.findHostFiles(filePatterns, ['.js']);
|
|
15
15
|
},
|
|
16
16
|
/**
|
|
17
17
|
* Lint all files and display results.
|
|
@@ -34,7 +34,7 @@ export default {
|
|
|
34
34
|
const configFile = await helper.configFile(
|
|
35
35
|
userConfigFile,
|
|
36
36
|
'.eslintrc.cjs',
|
|
37
|
-
'
|
|
37
|
+
'configs/eslint.cjs',
|
|
38
38
|
);
|
|
39
39
|
|
|
40
40
|
// Run the actual lint
|
|
@@ -70,5 +70,4 @@ export default {
|
|
|
70
70
|
async fix(userPatterns, userConfigFile) {
|
|
71
71
|
return await this.run(userPatterns, userConfigFile, { fix: true });
|
|
72
72
|
},
|
|
73
|
-
__run: run,
|
|
74
73
|
};
|
package/commands/lint/json.js
CHANGED
|
@@ -13,7 +13,10 @@ export default {
|
|
|
13
13
|
* @returns {Array} Array of files
|
|
14
14
|
**/
|
|
15
15
|
async getInputFiles(userPatterns) {
|
|
16
|
-
|
|
16
|
+
const filePatterns = _.isEmpty(userPatterns)
|
|
17
|
+
? ['./**/*.json']
|
|
18
|
+
: userPatterns;
|
|
19
|
+
return await helper.findHostFiles(filePatterns, ['.json']);
|
|
17
20
|
},
|
|
18
21
|
/**
|
|
19
22
|
* Lint all files and display results.
|
|
@@ -30,7 +33,7 @@ export default {
|
|
|
30
33
|
const errorMessages = [];
|
|
31
34
|
await pMap(files, async (filepath) => {
|
|
32
35
|
try {
|
|
33
|
-
|
|
36
|
+
JSON.parse(await read(filepath));
|
|
34
37
|
} catch (error) {
|
|
35
38
|
hasErrors = true;
|
|
36
39
|
const relativePath = path.relative(helper.hostRoot(), filepath);
|
|
@@ -54,8 +57,6 @@ export default {
|
|
|
54
57
|
if (_.isEmpty(files)) {
|
|
55
58
|
return true;
|
|
56
59
|
}
|
|
57
|
-
await
|
|
60
|
+
await prettierFix(files);
|
|
58
61
|
},
|
|
59
|
-
__prettierFix: prettierFix,
|
|
60
|
-
__parse: JSON.parse,
|
|
61
62
|
};
|
package/commands/lint/yml.js
CHANGED
|
@@ -14,7 +14,10 @@ export default {
|
|
|
14
14
|
* @returns {Array} Array of files
|
|
15
15
|
**/
|
|
16
16
|
async getInputFiles(userPatterns) {
|
|
17
|
-
|
|
17
|
+
const filePatterns = _.isEmpty(userPatterns)
|
|
18
|
+
? ['./**/*.yml', './**/*.yaml']
|
|
19
|
+
: userPatterns;
|
|
20
|
+
return await helper.findHostFiles(filePatterns, ['.yml', '.yaml']);
|
|
18
21
|
},
|
|
19
22
|
/**
|
|
20
23
|
* Lint all files and display results.
|
|
@@ -32,7 +35,7 @@ export default {
|
|
|
32
35
|
await pMap(files, async (filepath) => {
|
|
33
36
|
const input = await read(filepath);
|
|
34
37
|
try {
|
|
35
|
-
await
|
|
38
|
+
await yamlLint.lint(input);
|
|
36
39
|
} catch (error) {
|
|
37
40
|
hasErrors = true;
|
|
38
41
|
const relativePath = path.relative(helper.hostRoot(), filepath);
|
|
@@ -56,8 +59,6 @@ export default {
|
|
|
56
59
|
if (_.isEmpty(files)) {
|
|
57
60
|
return true;
|
|
58
61
|
}
|
|
59
|
-
await
|
|
62
|
+
await prettierFix(files);
|
|
60
63
|
},
|
|
61
|
-
__prettierFix: prettierFix,
|
|
62
|
-
__lint: yamlLint.lint,
|
|
63
64
|
};
|
|
@@ -7,13 +7,14 @@ export default {
|
|
|
7
7
|
// Config
|
|
8
8
|
const configPath = await helper.configFile(
|
|
9
9
|
cliArgs.config,
|
|
10
|
-
'.
|
|
11
|
-
'
|
|
10
|
+
'lintstaged.config.js',
|
|
11
|
+
'configs/lintstaged.js',
|
|
12
12
|
);
|
|
13
|
+
const config = await helper.import(configPath);
|
|
13
14
|
|
|
14
15
|
try {
|
|
15
16
|
const result = await lintStaged({
|
|
16
|
-
|
|
17
|
+
config,
|
|
17
18
|
});
|
|
18
19
|
// Linting failed
|
|
19
20
|
if (!result) {
|
package/commands/setup/index.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import github from './github.js';
|
|
2
2
|
import circleci from './circleci.js';
|
|
3
3
|
import renovate from './renovate.js';
|
|
4
|
-
import autoRelease from './autoRelease/index.js';
|
|
5
4
|
import _ from 'golgoth/lodash.js';
|
|
6
5
|
|
|
7
6
|
export default {
|
|
8
7
|
/**
|
|
9
8
|
* Enable external services.
|
|
10
9
|
* Will enable CircleCI, GitHub and Renovate by default.
|
|
11
|
-
* If --auto-release is passed, will configure CircleCI
|
|
12
10
|
* @param {object} cliArgs CLI Argument object, as created by minimist
|
|
13
11
|
**/
|
|
14
12
|
async run(cliArgs = {}) {
|
|
@@ -16,7 +14,6 @@ export default {
|
|
|
16
14
|
circleci: true,
|
|
17
15
|
renovate: true,
|
|
18
16
|
github: true,
|
|
19
|
-
'auto-release': false,
|
|
20
17
|
};
|
|
21
18
|
const cliServices = _.omit(cliArgs, ['_']);
|
|
22
19
|
const servicesToEnable = {
|
|
@@ -33,9 +30,6 @@ export default {
|
|
|
33
30
|
if (servicesToEnable.renovate) {
|
|
34
31
|
await this.renovate();
|
|
35
32
|
}
|
|
36
|
-
if (servicesToEnable['auto-release']) {
|
|
37
|
-
await this.autoRelease();
|
|
38
|
-
}
|
|
39
33
|
},
|
|
40
34
|
/**
|
|
41
35
|
* Configure GitHub
|
|
@@ -55,10 +49,4 @@ export default {
|
|
|
55
49
|
async renovate() {
|
|
56
50
|
await renovate.enable();
|
|
57
51
|
},
|
|
58
|
-
/**
|
|
59
|
-
* Enable autoRelease on CircleCI
|
|
60
|
-
**/
|
|
61
|
-
async autoRelease() {
|
|
62
|
-
await autoRelease.enable();
|
|
63
|
-
},
|
|
64
52
|
};
|
package/commands/test/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { createVitest } from 'vitest/node';
|
|
1
2
|
import helper from '../../helper.js';
|
|
2
|
-
import
|
|
3
|
+
import firostError from 'firost/error.js';
|
|
3
4
|
import _ from 'golgoth/lodash.js';
|
|
4
5
|
|
|
5
6
|
export default {
|
|
@@ -15,70 +16,70 @@ export default {
|
|
|
15
16
|
* @param {object} cliArgs CLI Argument object, as created by minimist
|
|
16
17
|
* @returns {boolean} true on success
|
|
17
18
|
**/
|
|
18
|
-
async run(cliArgs) {
|
|
19
|
-
const options = await this.
|
|
20
|
-
const
|
|
19
|
+
async run(cliArgs = {}) {
|
|
20
|
+
const options = await this.vitestOptions(cliArgs);
|
|
21
|
+
const files = _.isEmpty(cliArgs._) ? [helper.hostPath()] : cliArgs._;
|
|
22
|
+
|
|
23
|
+
const vitest = await createVitest('test', options);
|
|
24
|
+
|
|
25
|
+
// Note: vitest sets process.exitCode to 1 if tests fail
|
|
26
|
+
const initialExitCode = process.exitCode;
|
|
27
|
+
await vitest.start(files);
|
|
28
|
+
|
|
29
|
+
if (!options.watch) {
|
|
30
|
+
await vitest.close();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (process.exitCode == 1) {
|
|
34
|
+
process.exitCode = initialExitCode;
|
|
35
|
+
throw firostError('ERROR_TEST', 'Error while testing files');
|
|
36
|
+
}
|
|
21
37
|
|
|
22
|
-
await run(`${binary} ${options.join(' ')}`, { stdin: true });
|
|
23
38
|
return true;
|
|
24
39
|
},
|
|
25
40
|
|
|
26
41
|
/**
|
|
27
|
-
* Transform all aberlaas test cli options into suitable vitest
|
|
42
|
+
* Transform all aberlaas test cli options into suitable vitest options
|
|
28
43
|
* @param {object} cliArgs CLI Argument object, as created by minimist
|
|
29
|
-
* @returns {Array} Array of
|
|
44
|
+
* @returns {Array} Array of options for vitest
|
|
30
45
|
**/
|
|
31
|
-
async
|
|
46
|
+
async vitestOptions(cliArgs = {}) {
|
|
32
47
|
// Options that have special meaning in aberlaas and shouldn't be passed
|
|
33
48
|
// as-is to vitest
|
|
34
|
-
const
|
|
49
|
+
const specialMeaningCliArgs = ['_', 'config', 'failFast', 'related'];
|
|
35
50
|
|
|
36
|
-
//
|
|
37
|
-
const inputFiles = _.isEmpty(cliArgs._) ? [helper.hostPath()] : cliArgs._;
|
|
38
|
-
const vitestOptions = [...inputFiles];
|
|
39
|
-
|
|
40
|
-
// Run "vitest related" when --related is passed
|
|
41
|
-
if (cliArgs.related) {
|
|
42
|
-
vitestOptions.unshift('related');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Stop early as soon as one test fails
|
|
46
|
-
if (cliArgs.failFast) {
|
|
47
|
-
vitestOptions.push('--bail=1');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Disable watch by default
|
|
51
|
-
vitestOptions.push(cliArgs.watch ? '--watch=true' : '--watch=false');
|
|
52
|
-
|
|
53
|
-
// Allow a success, even if no files are passed
|
|
54
|
-
vitestOptions.push('--passWithNoTests');
|
|
55
|
-
|
|
56
|
-
// Hide skipped tests, allowing less noisy debug with fit/fdescribe
|
|
57
|
-
vitestOptions.push('--hideSkippedTests');
|
|
58
|
-
|
|
59
|
-
// Config file
|
|
51
|
+
// Reading base options from the config file
|
|
60
52
|
const configFile = await helper.configFile(
|
|
61
53
|
cliArgs.config,
|
|
62
54
|
'vite.config.js',
|
|
63
|
-
'
|
|
55
|
+
'configs/vite.js',
|
|
64
56
|
);
|
|
65
|
-
|
|
57
|
+
const optionsFromConfig = (await helper.import(configFile)).test;
|
|
66
58
|
|
|
67
|
-
//
|
|
68
|
-
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
59
|
+
// Enhancing options with custom CLI arguments
|
|
60
|
+
const optionsFromAberlaas = {
|
|
61
|
+
// We always allow fit/fdescribe, even in CI. Those errors will be caught
|
|
62
|
+
// by the lint command instead
|
|
63
|
+
allowOnly: true,
|
|
64
|
+
};
|
|
65
|
+
// --failFast stops early as soon as one test fails
|
|
66
|
+
if (cliArgs.failFast) {
|
|
67
|
+
optionsFromAberlaas.bail = 1;
|
|
68
|
+
}
|
|
69
|
+
// --related runs also related files
|
|
70
|
+
// Note (2024-01-19): The related option is not documented, but should
|
|
71
|
+
// contain the list of files
|
|
72
|
+
if (cliArgs.related) {
|
|
73
|
+
optionsFromAberlaas.related = cliArgs._;
|
|
74
|
+
}
|
|
78
75
|
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
// Passing other CLI options directly to vitest
|
|
77
|
+
const optionsFromCli = _.omit(cliArgs, specialMeaningCliArgs);
|
|
81
78
|
|
|
82
|
-
return
|
|
79
|
+
return {
|
|
80
|
+
...optionsFromConfig,
|
|
81
|
+
...optionsFromAberlaas,
|
|
82
|
+
...optionsFromCli,
|
|
83
|
+
};
|
|
83
84
|
},
|
|
84
85
|
};
|
package/configs/eslint.cjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// Note: ESLint doesn't support ESM configuration as of 2024-02-19. This file
|
|
2
|
+
// needs to stay as a CommonJS file
|
|
1
3
|
const nodeConfig = require('./node.cjs');
|
|
2
4
|
module.exports = {
|
|
3
5
|
env: {
|
|
@@ -15,6 +17,23 @@ module.exports = {
|
|
|
15
17
|
'plugin:import/recommended',
|
|
16
18
|
'plugin:prettier/recommended',
|
|
17
19
|
],
|
|
20
|
+
settings: {
|
|
21
|
+
// eslint-plugin-import doesn't currently support the "exports" syntax in
|
|
22
|
+
// package.json. This allow mapping between custom entrypoints and
|
|
23
|
+
// files on disk.
|
|
24
|
+
// For example, it doesn't understand "import * from 'vitest/config';" as
|
|
25
|
+
// "vitest/config/" isn't really an existing filepath, but a mapping defined
|
|
26
|
+
// in vitest package.json
|
|
27
|
+
//
|
|
28
|
+
// Until this is fixed (see
|
|
29
|
+
// https://github.com/import-js/eslint-plugin-import/issues/2430)
|
|
30
|
+
// we manually define the most common extensions
|
|
31
|
+
'import/resolver': {
|
|
32
|
+
node: {
|
|
33
|
+
extensions: ['.js', '.cjs', '.mjs', '.d.ts'],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
18
37
|
plugins: ['jsdoc', 'prettier'],
|
|
19
38
|
rules: {
|
|
20
39
|
'dot-notation': ['error'],
|
|
@@ -98,10 +117,8 @@ module.exports = {
|
|
|
98
117
|
testName: false,
|
|
99
118
|
// Shorter method names
|
|
100
119
|
fit: false,
|
|
101
|
-
ftest: false,
|
|
102
120
|
fdescribe: false,
|
|
103
121
|
xit: false,
|
|
104
|
-
xtest: false,
|
|
105
122
|
xdescribe: false,
|
|
106
123
|
|
|
107
124
|
captureOutput: false,
|
|
@@ -113,7 +130,7 @@ module.exports = {
|
|
|
113
130
|
],
|
|
114
131
|
rules: {
|
|
115
132
|
'no-restricted-globals': [
|
|
116
|
-
'
|
|
133
|
+
'error',
|
|
117
134
|
{
|
|
118
135
|
name: 'fit',
|
|
119
136
|
message: 'No focused test',
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const readmeCommands = [
|
|
2
|
+
'yarn run aberlaas readme',
|
|
3
|
+
'git add ./README.md ./lib/README.md',
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
// Lint
|
|
8
|
+
'*.css': ['yarn run lint:fix --css'],
|
|
9
|
+
'*.{yml,yaml}': ['yarn run lint:fix --yml'],
|
|
10
|
+
'.circleci/config.yml': ['yarn run lint --circleci'],
|
|
11
|
+
'*.json': ['yarn run lint:fix --json'],
|
|
12
|
+
'*.js': ['yarn run lint:fix --js'],
|
|
13
|
+
|
|
14
|
+
// Test
|
|
15
|
+
'./lib/**/*.js': ['yarn run test --failFast --related'],
|
|
16
|
+
|
|
17
|
+
// Compress
|
|
18
|
+
'*.png': ['yarn run compress --png'],
|
|
19
|
+
|
|
20
|
+
// Documentation
|
|
21
|
+
// Update the README whenever the documentation, or the README template
|
|
22
|
+
// changes
|
|
23
|
+
'docs/src/**/*.md': readmeCommands,
|
|
24
|
+
'.github/README.template.md': readmeCommands,
|
|
25
|
+
};
|
package/configs/node.cjs
CHANGED
package/configs/vite.js
CHANGED
|
@@ -3,8 +3,13 @@ const configDir = new URL('./vite/', import.meta.url).pathname;
|
|
|
3
3
|
|
|
4
4
|
export default defineConfig({
|
|
5
5
|
test: {
|
|
6
|
-
//
|
|
7
|
-
|
|
6
|
+
// vitest default is to run in watch mode, we revert that
|
|
7
|
+
watch: false,
|
|
8
|
+
// Allow a success, even if no files are passed
|
|
9
|
+
passWithNoTests: true,
|
|
10
|
+
// Hide skipped tests, allowing less noisy debug with fit/fdescribe
|
|
11
|
+
hideSkippedTests: true,
|
|
12
|
+
|
|
8
13
|
// Tests should be in a __tests__ folder next to their code
|
|
9
14
|
include: ['**/__tests__/**/*.js?(x)'],
|
|
10
15
|
// We ignore temporary folders from the tests
|
|
@@ -13,6 +18,8 @@ export default defineConfig({
|
|
|
13
18
|
// Restore mocks after each tests
|
|
14
19
|
restoreMocks: true,
|
|
15
20
|
|
|
21
|
+
// Make describe, it, beforeEach and other globally available
|
|
22
|
+
globals: true,
|
|
16
23
|
// Run before each test file
|
|
17
24
|
setupFiles: [
|
|
18
25
|
`${configDir}/test/setupFiles/dedent.js`,
|
package/helper.js
CHANGED
|
@@ -159,4 +159,17 @@ export default {
|
|
|
159
159
|
async yarnRun(scriptName) {
|
|
160
160
|
return await run(`yarn run ${scriptName}`, { cwd: this.hostRoot() });
|
|
161
161
|
},
|
|
162
|
+
/**
|
|
163
|
+
* Dynamically import a file
|
|
164
|
+
* This is a wrapper around the default import, but bypasses the cache
|
|
165
|
+
* It makes sure importing a file several times always loads the last version
|
|
166
|
+
* TODO: This should probably be moved in firost once firost is moved to ESM
|
|
167
|
+
* @param {string} filepath Path to the file to load
|
|
168
|
+
* @returns {object} Content of the loaded file
|
|
169
|
+
**/
|
|
170
|
+
async import(filepath) {
|
|
171
|
+
const content = await import(`${filepath}?cacheBusting=${Date.now()}`);
|
|
172
|
+
|
|
173
|
+
return content.default || content;
|
|
174
|
+
},
|
|
162
175
|
};
|
package/main.js
CHANGED
|
@@ -6,7 +6,6 @@ import commandCi from './commands/ci/index.js';
|
|
|
6
6
|
import commandCompress from './commands/compress/index.js';
|
|
7
7
|
import commandInit from './commands/init/index.js';
|
|
8
8
|
import commandPrecommit from './commands/precommit/index.js';
|
|
9
|
-
import commandRelease from './commands/release/index.js';
|
|
10
9
|
import commandTest from './commands/test/index.js';
|
|
11
10
|
import commandLint from './commands/lint/index.js';
|
|
12
11
|
import commandReadme from './commands/readme/index.js';
|
|
@@ -25,7 +24,6 @@ export default {
|
|
|
25
24
|
lint: commandLint,
|
|
26
25
|
precommit: commandPrecommit,
|
|
27
26
|
readme: commandReadme,
|
|
28
|
-
release: commandRelease,
|
|
29
27
|
setup: commandSetup,
|
|
30
28
|
test: commandTest,
|
|
31
29
|
};
|
package/package.json
CHANGED
|
@@ -2,17 +2,11 @@
|
|
|
2
2
|
"name": "aberlaas",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"description": "Scaffold your JavaScript projects with tests, lint and release scripts",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.3.0",
|
|
6
6
|
"repository": "pixelastic/aberlaas",
|
|
7
7
|
"homepage": "https://projects.pixelastic.com/aberlaas/",
|
|
8
8
|
"author": "Tim Carry (@pixelastic)",
|
|
9
9
|
"license": "MIT",
|
|
10
|
-
"exports": {
|
|
11
|
-
".": "./main.js",
|
|
12
|
-
"./configs/lintstaged.cjs": "./configs/lintstaged.cjs",
|
|
13
|
-
"./configs/prettier.cjs": "./configs/prettier.cjs",
|
|
14
|
-
"./configs/styleling.cjs": "./configs/styleling.cjs"
|
|
15
|
-
},
|
|
16
10
|
"files": [
|
|
17
11
|
"bin/",
|
|
18
12
|
"lib/",
|
|
@@ -27,21 +21,25 @@
|
|
|
27
21
|
"commands/readme/*.js",
|
|
28
22
|
"commands/release/*.js",
|
|
29
23
|
"commands/setup/*.js",
|
|
30
|
-
"commands/setup/autoRelease/*.js",
|
|
31
24
|
"commands/setup/helpers/*.js",
|
|
32
25
|
"commands/test/*.js",
|
|
33
26
|
"configs/",
|
|
34
27
|
"templates/"
|
|
35
28
|
],
|
|
36
|
-
"
|
|
37
|
-
"
|
|
29
|
+
"exports": {
|
|
30
|
+
".": "./main.js",
|
|
31
|
+
"./configs/lintstaged": "./configs/lintstaged.js",
|
|
32
|
+
"./configs/prettier": "./configs/prettier.js",
|
|
33
|
+
"./configs/stylelint": "./configs/stylelint.js"
|
|
38
34
|
},
|
|
35
|
+
"bin": "bin/aberlaas.js",
|
|
39
36
|
"dependencies": {
|
|
40
37
|
"@octokit/rest": "18.12.0",
|
|
41
38
|
"ci-info": "3.9.0",
|
|
42
39
|
"dedent": "1.5.1",
|
|
43
|
-
"eslint": "8.
|
|
40
|
+
"eslint": "8.56.0",
|
|
44
41
|
"eslint-config-prettier": "9.0.0",
|
|
42
|
+
"eslint-plugin-import": "2.29.0",
|
|
45
43
|
"eslint-plugin-jsdoc": "46.9.0",
|
|
46
44
|
"eslint-plugin-n": "16.3.1",
|
|
47
45
|
"eslint-plugin-prettier": "5.0.1",
|
|
@@ -77,9 +75,5 @@
|
|
|
77
75
|
"test:watch": "../scripts/lib/test-watch",
|
|
78
76
|
"postinstall": "./scripts/postinstall"
|
|
79
77
|
},
|
|
80
|
-
"
|
|
81
|
-
"eslint-plugin-import": "2.29.0",
|
|
82
|
-
"eslint-plugin-vitest": "0.3.10"
|
|
83
|
-
},
|
|
84
|
-
"gitHead": "5d021891b8ba9c030747a3bc7bf20d86c85422db"
|
|
78
|
+
"gitHead": "cca93623a1219558bd311aefde796d75d6790009"
|
|
85
79
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Hidden files
|
|
1
|
+
# Hidden files are ignored by default by ESLint
|
|
2
2
|
# The following line will unignore them
|
|
3
3
|
!.*
|
|
4
4
|
|
|
@@ -7,3 +7,6 @@ node_modules/
|
|
|
7
7
|
|
|
8
8
|
# .yarn contains the yarn source code, we don't need to lint it
|
|
9
9
|
.yarn/
|
|
10
|
+
|
|
11
|
+
# Ignore the documentation for now, I haven't migrated it to ESM yet
|
|
12
|
+
docs/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Hidden files
|
|
2
|
+
.DS_Store
|
|
3
|
+
.envrc
|
|
4
|
+
|
|
5
|
+
# Directories
|
|
6
|
+
build/
|
|
7
|
+
dist/
|
|
8
|
+
node_modules/
|
|
9
|
+
tmp/
|
|
10
|
+
|
|
11
|
+
# Files
|
|
12
|
+
Thumbs.db
|
|
13
|
+
npm-debug.log
|
|
14
|
+
yarn-error.log
|
|
15
|
+
*~
|
|
16
|
+
|
|
17
|
+
# Yarn
|
|
18
|
+
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
|
|
19
|
+
.yarn/*
|
|
20
|
+
!.yarn/patches
|
|
21
|
+
!.yarn/plugins
|
|
22
|
+
!.yarn/releases
|
|
23
|
+
!.yarn/sdks
|
|
24
|
+
!.yarn/versions
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# Netlify
|
|
28
|
+
.netlify
|